We discuss your requirements in detail. Ideally, we prefer to meet face-to-face, but we often do this over the phone.
We produce a proposal based on the initial conversation. The proposal includes our thoughts on the best way to meet your requirements – often we provide an analysis of two or three options, and then make a recommendation on the best approach. We aim to make our proposals fixed-price, but this depends on how clear your requirements are.
For most projects, there is usually more design work to clarify exactly how the system should work. For larger projects we prefer to do this work face-to-face; for smaller projects we can work via phone and email.
If the requirements have changed during the detailed design process, we will update the project costs. We work with the customer to achieve the best balance between cost and system functionality.
We agree terms for the project. Normally we ask customers to pay in stages, with each payment due against some development milestone.
Our team starts work on your system. Our project manager keeps you updated on progress on a weekly basis.
We believe strongly in involving the customer throughout the project – for online systems we have a test version online at all times. For standalone software we send you regular new versions for you to try.
At the end of the development stage, we deliver a system which is “functionally complete” – i.e. we have no code left to write for features. The system will have had internal testing on each feature, but further testing begins at this point.
We expect customers will want to be involved in system testing at this stage.
Testing is complete, and the system is ready for use. If required, we can assist with deployment - which may involve importing existing data.