Search code examples
lifecycle

How do life cycle models react to requirements change late in their development


I have been trying to learn the basics of software engineering principles, but I have come across a question that I cant find enough detail on to answer, any help would be appreciated:

For each of the process models (i.e. waterfall, incremental, prototyping and spiral), how does the model handle a significant change in requirements late in the development?

Thanks in advance.


Solution

  • I think this question can be simplified - broadly speaking there are two types of software development life cycle:

    1. Iterative (or agile) methodologies like Scrum and Extreme Programming.

    2. Sequential (or "big design upfront") methodologies like waterfall.

    The iterative methodologies rely on the experiential feedback from within the project. In Scrum, the sprint review provides guidance concerning what can be achieved in the next sprint and the review of the product backlog can promote the latest requirements to the top of the priority list. In iterative methodology, the evaluation phase of the increment can feed into the planning for the next iteration.

    These two examples show a clear point at which the methodologies can adapt and react to new requirements.

    There are of course some specific details beyond this broad stroke explanation. For example, a Scrum team wouldn't actually change scope until the end of the sprint - unless the sprint was completely abandoned. As a result there could be a small delay before new requirements could begin implementation.

    With the more traditional methodologies such as Waterfall, accommodating adaptation is more difficult because you are constrained by the current phase of the series of phases. To adapt requirements it's likely going to involve non-optimal design and implementation because of the nature of the change being bolted on. If the changes in the requirements were significant enough the entire development may be abandoned and restarted. At least with the agile methodologies you will have already developed, or in fact shipped, some increment of business value.