Oct 05

Requirements engineering form an important part of the Software Development Life Cycle. Over the years methodologies have changed, the whole SDLC changed and got replaced. Below is a diagram about the past and present approaches of the SDLC:

Requirements Engineering
1. Requirements Engineering
2. Analysis
3. Design
4. Implementation (incl. testing)

The diagram clearly shows the difference between the time and effort. If you put a sufficient effort into the requirements engineering right in the beginning of your development (yes that includes investing much more money into it as well) means that as you proceed on with the projects the less effort it takes to e.g. maintain the software being created. Whereas in older approaches less effort was put into the RE therefore making the implementation a nightmare. That meant, not gathering enough information caused many side-effects that needed to be corrected at the end of the project life cycle.

RE is not only important because of effort and time measures but the diagram also implies that if you spend more money on the RE then you have lower costs on the final stage. Assume you did not gather the necessary requirements in the first place, and you need to hire additional developers to keep up with the work-phase, it would really increase your costs.