
Each stage of our software construction consists of four fundamental activities: gathering Requirements, Analysis & Design, Coding, and Testing. We perform these activities in different proportions during different stages. For example, gathering Requirements dominates the early stages of the project, whereas Coding and Testing dominate the later stages.
Let's start by discussing how we gather Requirements.