The type and number of project phases in a project life cycle depend upon many variables, chief among them the delivery cadence and the development approach, as described previously. Examples of phases in a life cycle include:
- Feasibility. This phase determines if the business case is valid and if the organization has the capability to deliver the intended outcome.
- Design. Planning and analysis lead to the design of the project deliverable that will be developed.
- Build. Construction of the deliverable with integrated quality assurance activities is conducted.
- Test. Final quality review and inspection of deliverables are carried out before transition, go-live, or acceptance by the customer.
- Deploy. Project deliverables are put into use and transitional activities required for sustainment, benefits realization, and organizational change management are completed.
- Close. The project is closed, project knowledge and artifacts are archived, project team members are released, and contracts are closed.
Project phases often have a phase gate review (also known as stage gate) to check that the desired outcomes or exit criteria for the phase have been achieved before proceeding to the next phase. Exit criteria may tie to acceptance criteria for deliverables, contractual obligations, meeting specific performance targets, or other tangible measures.
Figure 2-9 shows a life cycle where one phase finishes before the next one begins. This type of life cycle would fit well with a predictive development approach since each phase is only performed once, and each phase focuses on a particular type of work. However, there are situations, such as adding scope, a change in requirements, or a change in the market that cause phases to be repeated.
Figure 2-9. Sample Predictive Life Cycle
Figure 2-10 shows a life cycle with an incremental development approach. There are three iterations of plan, design, and build shown in this example. Each subsequent build would add functionality to the initial build.
Figure 2-10. Life Cycle with an Incremental Development Approach
Figure 2-11 shows a life cycle using an adaptive development approach. At the end of each iteration (sometimes known as a sprint), the customer reviews a functional deliverable. At the review, the key stakeholders provide feedback, and the project team updates the project backlog of features and functions to prioritize for the next iteration.
Figure 2-11. Life Cycle with Adaptive Development Approach
This approach can be modified for use in continuous delivery situations, as described in Section 2.3.2 on Delivery Cadence.
Several adaptive methodologies, including agile, use flow-based scheduling, which does not use a life cycle or phases. One goal is to optimize the flow of deliveries based on resource capacity, materials, and other inputs. Another goal is to minimize time and resource waste and optimize the efficiency of processes and the throughput of deliverables. Projects that use these practices and methods usually adopt them from the Kanban scheduling system used in lean and just-in-time scheduling approaches.
Leave a Reply