Before finding a programmer, understand the basic application life cycle. It is something like this:
- Client comes up with a list of requirements (be as specific as possible).
- Programmer is given requirements to study
- Programmer gives estimate of time and cost of job based on requirements given
- Programmer builds application
- Client tests application and the programmer fixes any bugs in the application – this step loops until user agrees product is good. DANGER – it is in this step that scope creep can show its expensive head. Scope creep is when a client at this point adds more requirements to the application, this is very easy to do because the client is excited about the project and the programmer is excited about the work and making the client happy. If more requirements are thrown into the project at this point, the client needs to understand that the original estimate of cost and time no longer apply. It is best to meet with programmer with a new set of requirements so the programmer can establish a new estimate of cost and time and if this new estimate exceeds the timeline of the client, then the application needs to be pushed to production as is with the original requirements and a new timeline/cost should be established for Phase II (new set of requirements) of the application with the programmer.
- Programmer publishes the application to production.
- Programmer delivers documentation in electronic form the client. Two forms of documentation are delivered: a user guide and a tech guide. The user guide is a detailed step by step document of how a person would actually use the application (covering all of its features). The tech guide is a detailed document containing the actual code of the application (or a link to where the actual code can be found), any passwords required of the application, detailed information regarding the database (if the application uses a database) and the language the application is written in. The tech guide is to be given to any future programmers who may have to work on the application after the original programmer has won the lottery and moved to California:)
- Client pays programmer.