Why do requirements matter?
THINK What are the disadvantages if we do not spend time and effort in identifying and documenting requirements? Pause and write down your responses before reading further.
If we do not spend sufficient time and effort identifying and documenting requirements, there is a mismatch between what the user expects and what the developer builds. Time, effort and money are spent on something the customer did not ask for, changes are needed, there are more iterations, and development cost rises significantly.
Simple meaning Requirement gathering asks: “What does the customer need?” Requirement analysis checks: “Do we understand that need correctly?”
Importance of requirement gathering and analysis is two-fold: (1) developers understand what customers want — how the software should look and behave; (2) customers come to an agreement that the developers' understanding matches what they expect. Otherwise cost, time and iterations increase.
Remember, the customer is not always the end user — it can be an internal user or someone from a different team. First teams gather requirements, then analyse them, and only after that think about how to develop the software.
