Development life cycles focus on the delivery phase of a project or programme and often arise from particular domains such as construction, engineering or IT. They should not be confused with governance life cycles or specialist life cycles.
The most common linear (serial) life cycle is the ‘waterfall’. Its name relates to the fact that it looks like a cascade where water falls from one level to the next. Linear development life cycles are most suited to predictive environments where the solution can be substantially specified up front. Effort can and should be focused on the design stages because the cost of change is high once production starts.
It is often mistakenly stated that in waterfall type life cycles, changes cannot be made once design is complete. That is not the case from a governance point of view. Change control is a well-established mechanism for making changes in the most linear of environments.
Any practical limitations to making changes are likely to be contractual (e.g. firm fixed price contracts), commercial (the cost of change is prohibitive) or technical (once you’ve laid the foundations for a 10-storey building, you can’t change it to 15-storey building)
Originating from the IT industry, another way of representing this is to draw it in a ‘V’ shape. This highlights the top-down approach to defining requirements; the bottom-up approach to developing products and the verification and validation of what has been produced against what was required.
As uncertainty about the detail of objectives increases, development life cycles need to be more iterative so they can adapt as more information becomes available. An early iterative model is Boehm’s spiral model. A simplified version is shown below:
A development life cycle like this can span the phases of a governance life cycle. Early development of concepts will be part of the identification process; early prototypes may be part of the definition process; later prototypes and some detailed design will usually be part of the delivery process. The key to developing a full and effective life cycle is to combine the elements of development with the elements of governance.
As ideas around agility have developed, approaches such as scrum have emerged which compress the design, produce, test cycle into ever smaller iterations called timeboxes or sprints.
Different development life cycles can be combined into a governance life cycle to meet the need of different elements of a single project. These are commonly referred to as hybrid approaches.