Following initial contact from a client one of our project engineers will contact the client to gain information on the system they wish to develop. This can be carried out by email, however,it typically involves face to face meetings. This system requirements phase is a two way process where, while we start to understand your requirements, we can feed back ideas and possible problems to you at an early stage.
At this stage we will formulate a specification for the project. The client may already have specifications which will be integrated. Normally a fixed price quote for the work will be given based on this specification. Often a quote will include a certain amount of R&D, system design time, software development time and prototype system production time (PCB manufacture and/or software packaging) as well as any hardware costs. In addition, the quote will also normally include a certain amount of support time, normally suitable for 6 months, with the option to extend the duration with a yearly support contract.
As most projects involve quite advanced designs, we usually include some time for changes to the specification as the project is developed.
Assuming the client wishes to proceed with the project we will normally set up a support secure web site to host project documentation, status and software packages. This allows all those involved in the project to easily keep up to date with progress and have all information to hand.
We regularly update the client with the status of the project and any issues.
The final system and/or software release will be sent to the user for acceptance testing. Quite often there may be pre-releases, especially if the project is being developed as part of a larger system, so that the client can continue development of the other part's of the system.
The deliverables will normally include any system hardware, the packaged software binaries, the system/software documentation and the source code for the system.
The initial development usually includes a few man days of support, releasing new software as necessary. After that time the client has the option to enter into a support contract.