Services > Custom Programming > How We Work

Our process of developing software follows a few well-defined steps, each equally important. Although we describe them here as discrete steps, in reality they often overlap. This is because we follow the "iterative" method of development in which we get the software into your hands as soon as possible. You can test drive the functionality and let us know how to make it even better. That feedback can then be incorporated throughout the further steps of development.

1. Gather Requirements: You explain what you would like us to do or the problem you're having. Together we examine the existing business process which is to be automated. Two important things happen during this step. One is that we learn how your business works so the software will reflect the process precisely. Two is that the detailed examination opens the possibility of modifying the business process to take advantage of the way computers handle information.

During this stage, we determine the minimal set of features to be supported (the "needs"), as well as the ideal system desired (the "wants"). This allows us to establish priorities based on time and budget. 

2. Design: We design your system to meet the specifications. The design step takes the most time of all the steps. Properly defining the data structures and their relationships is key to successful system development and means the system will be easily modified as your business grows. Properly organizing the data entry tasks into menu selection and grouping and ordering the individual items results in an efficient work flow. We may create a prototype (a dummy application that has the final application's look and feel without any of the business logic built in) so you can see what your system will look like. As we move ahead in the project we show you additional screens and incorporate your comments and requests.

3. Test: We test thoroughly to first, make sure that the system is strong and robust and will not crash or produce errors, and second, that the original requirements have been met and that the business rules embodied in the system are correct. As early as possible we involve the users of the system in the testing.

4. Implement: When your system is finished, it is installed. Existing data, if any, is converted to the new system. You and your staff receive any necessary training and final testing is done to make sure that all of the pieces of the system are working correctly and in concert with one another.

5. Support: We are available for ongoing support, including future modifications or enhancements to the system. We can provide technical consulting in other areas, as well.