The six steps in the program development life cycle are user requirements, problem analysis, program design, program coding, program testing and acceptance. The specific wording of these steps may vary. In some versions of this model, acceptance may be referred to as implementation.
The first step concerns determining the specific problems or needs of the user. This step usually includes brainstorming and research, as well as other sub-stages, such as a feasibility analysis. The problem analysis step is the phase in which the system is defined and the software processes are developed. The program design step is the phase in which the physical system in developed.
Coding takes place in the next step. Specific coding tasks may be assigned to different developers through task allocation. In the fifth step, the program is tested to ensure that it meets the user requirements. During this step, quality analysts test the program for errors. During the acceptance or implementation phase, the program is run by the users. If it runs without any errors, it is considered launched and the program has been accepted.
This model is closely associated with a series of steps referred to as structured systems analysis and design. This is also a six-step process that begins after a user request.