The following account is the typical process that Microfirm and the client go through.
Linda works for an organization that conducts an annual survey of 500 clients. She knows the cost of printing, mailing, data-entry, and reporting the results. She decides to get a quote to develop custom software.
After reviewing her requirements, we suggest a web-based survey with secure access so that users can complete it online. The results can be obtained by a dedicated program in Linda's office. The web-based survey saves mailing and data-entry and pays for itself in two cycles of the survey (in this case two years). We develop a prototype of the web-based survey. Linda lays out the desired report format. Together, we review the prototype's functionality. Based on this review, the software development begins in earnest.
As sections are completed, we review and revise accordingly. This process continues until an "alpha" version is ready. Some of Linda's staff test the alpha version for data-entry and suggest changes.
The revisions are completed and the report functions are added and alpha tested by Linda.
The project is ready for a "beta" test of data-entry with a few real clients and of the reports with Linda's staff. This generates a few more revisions. When these are completed, the product is ready for use.
Clients and staff may find other problems or make suggestions for modifications and additions which can be completed without loss of data. The key to the success of this project is a good working relationship between the customer and the consultant.
It is very difficult and time-consuming for the customer to write a complete specification for a custom software project.
We find that it is more efficient to develop a small prototype of the project to clarify the specifications. The prototype typically is used in the final system with modifications, so it serves a dual purpose.