We use an established internal process of building customized software and for each project we tailor it to the needs of our customer. From a structural point of view the process is usually organized like this:
1. Initial project discussions with the customer (or general contractor), efforts estimation and making a proposal
2. If signed an agreement (fixed-price or on per-hour basis), we begin the work
3. SRS (software requirements specifications) and interface prototypes preparation. Depending on the customer preferences and the project nature, this part can vary – we may omit it at all or we can add Use Cases description to it, graphics design, etc.
4. Designing system architecture
5. Programming
6. Testing
7. Release
8. Items 5-7 are iteratively repeated until the end of the development
9. Documentation development – administrator’s guide, user’s guide, source code documentation
10. Deployment, on-site testing
11. Technical support