Waterfall is a model of the software development process in which the idea phase, requirements phase, design phase, execution phase, test phase, installation phase, and checkout phase are performed in that order, probably with overlap, but with little or no iteration.