The waterfall programming model is the most conservative and widely used model in software development. This model is done using a series of processes that are performed in a step by step manner. These steps starts with the requirements stage followed by the design stage, implementation stage, verification stage and ended with a maintenance stage. These steps are always done in this manner for each step serves as a prerequisite of the next step.

In the requirements stage, the developer determines the specifications that needed to be fulfilled in the creation of the software. Determination of the accurate requirements is important to prevent re-coding of the software. From the code requirements to testing requirements, everything must be set in the requirements stage.

In the design stage, full comprehension of the requirements gathered is the main objective. Creation of diagrams, pseudocodes and code snippets are some of the activities done in this stage. Also, initial documentation is done in this stage.

The implementation stage and verification stage are the actual production of the code. In the implementation stage, the developer writes the code while in the verification stage, the developer tests and debugs it.

Finally, in the maintenance phase, the developer provides support to the final output in case bugs are found at a time that the implementation and verification stages have ended.