A software lifecycle is a model that describes all the activities that go into creating a software product.
Product development styles vary tremendously among different kinds of projects, requiring different kinds of tasks and different task orderings.
Choice of the wrong lifecycle model can result in missing tasks and inappropriate task ordering, which undercuts project planning and efficiency.
Choice of an appropriate lifecycle model has the opposite effect – ensuring that all effort is used efficiently. Every project uses a lifecycle of one choice or another – explicitly or implicitly – and this practice ensures that the choice is made explicitly and to maximum advantage.
Potential reduction from nominal schedule: Fair
Improvement in progress visibility: Fair
Effect on schedule risk: Decreased Risk
Chance of first-time success: Very Good
Chance of long-term success: Excellent
- The practice of selecting a lifecycle does not itself contain any risks. Specific lifecycle models may contain additional risks.
Major Interaction and Trade-Offs