Stages of program development process

The various stages in the development of a computer program are :

  1. Problem Definition
  2. Program Design
  3. Coding
  4. Debugging
  5. Testing
  6. Documentation
  7. Maintenance

Software Development Life Cycle

Problem Definition:

  • The first step in the process of program development is the thorough understanding and identification of the problem for which is the program or software is to be developed.
  • In this step the problem has to be defined formally.
  • All the factors like Input/output, processing requirement, memory requirements, error handling, interfacing with other programs have to be taken into consideration in this stage.

Program Design:

  • The next stage is the program design. The software developer makes use of tools like algorithms and flowcharts to develop the design of the program.
    • Algorithm
    • Flowchart


  • Once the design process is complete, the actual computer program is written, i.e. the instructions are written in a computer language.
  • Coding is generally a very small part of the entire program development process and also a less time consuming activity in reality.
  • In this process all the syntax errors i.e. errors related to spelling, missing commas, undefined labels etc. are eliminated.
  • For effective coding some of the guide lines which are applied are :
    • Use of meaningful names and labels of variables,
    • Simple and clear expressions,
    • Modularity with emphasis on making modules generalized,
    • Making use of comments and indenting the code properly,
    • Avoiding jumps in the program to transfer control.


  • At this stage the errors in the programs are detected and corrected.
  • This stage of program development is an important process. Debugging is also known as program validation.
  • Some common errors which might occur in the programs include:
    • Un initialization of variables.
    • Reversing of order of operands.
    • Confusion of numbers and characters.
    • Inverting of conditions eg jumping on zero instead of on not zero.


  • The program is tested on a number of suitable test cases.
  • A test plan of the program has to be done at the stage of the program design itself.
  • This ensures a thorough understanding of the specifications.
  • The most trivial and the most special cases should be identified and tested.
  • It is always useful to include the maximum and minimum values of all variables as test data.


  • Documentation is a very essential step in the program development.
  • Documentation help the users and the people who maintain the software.
  • This ensures that future modification if required can be done easily. Also it is required during redesigning and maintenance.


  • Updating and correction of the program for changed conditions and field experience is accounted for in maintenance.
  • Maintenance becomes essential in following situations:
    • Change in specification,
    • Change in equipment,
    • Errors which are found during the actual execution of the program.