- "Do I Know This Already?" Quiz
- Fundamentals of the Project Life Cycle
- Project Life Cycle vs. Product Life Cycle
- Development Approach and Life Cycle Performance Domain Concepts
- Life Cycles in Practice
- Considerations for Selecting a Development Approach
- Project Activity, Deliverables, and Milestones
- Summary
- Exam Preparation Tasks
- Review All Key Topics
- Define Key Terms
- Suggested Reading and Resources
Life Cycles in Practice
Summarizing the relevant definitions so far:
Predictive life cycle: A project life cycle that is structured to execute sequentially along a linear path
Adaptive life cycle: A project life cycle that is iterative or incremental as it provides for proving less understood concepts or requirements over a series of repeated steps
Hybrid life cycle: A project life cycle that contains elements of both predictive and adaptive approaches in which each is used to achieve greater overall effectiveness than could be achieved by using either approach alone
The project management development approach and delivery cadence can impact the phases of a project life cycle. If a project team adopts a predictive life cycle, then the project life cycle will likely be a traditional waterfall-like linear sequence of phases. However, if the team selects an adaptive development approach, the project life cycle will be made up of cyclical loops. These loops gradually produce the needed project outcomes as the deliverables of each loop are subjected to stakeholder feedback.
To aid in learning these often subtle differences, it is appropriate to take a look at some sample life cycles in practice from industry applications.
Industry Application: Predictive Life Cycle
Predictive life cycles are associated with clear phases; the project is constrained to develop requirements early and to stay with the original requirements and design plans that were created at the start of the project. The PMBOK® Guide – Sixth Edition, now part of the PMIstandards+™ online guide, states the following in Appendix X-3:
Define requirements up front, before development begins.
Deliver plans to develop the eventual deliverable, and then deliver only a single final product at the end of the project timeline.
Constrain change as much as possible and as early as possible.
Involve key stakeholders at specific milestones and stage gate reviews.
Control risk and cost through detailed planning of mostly knowable considerations.
Each sector has its own typical version of a predictive project life cycle. Because both the terminology and importance of deliverables are different across domains, each sector has naturally evolved its own detailed approach.
Predictive Life Cycle Example 1
For this example, we consider the construction industry. This example leverages a predictive life cycle, as shown in Figure 4-9.
Figure 4-9 Construction Example Using a Predictive Life Cycle
The key phases in a construction life cycle could be:
Feasibility: Evaluating the feasibility of the construction project
Design: Involving architects and designing a schematic definition of the project
Permits: Ensuring that the project is approved by the jurisdictional authorities either before or after construction, as appropriate
Site work: Clearing the ground, installing temporary power and utilities, and inspecting
Foundation: Excavating, pouring concrete, creating basement walls, waterproofing, and insulating
Framing and utilities: Installing joists, framing walls, and installing plumbing, electrical, HVAC
Sheathing: Installing roof decking, shingles, doors, and windows
Finishing: Installing insulation, drywall, paint and wallpaper, cabinets, tile, and appliances
Acceptance: Conducting a walk-through and inspection, developing and completing the final punch list, obtaining final acceptance, and getting local government final approval for occupancy
Predictive Life Cycle Example 2
Software development is increasingly associated with an adaptive approach because software is more often delivered through modules of code that accomplish a specific task. However, not all software can or should be delivered this way. Historically, many well-known systems development life cycles have used a sequential, phased approach to deliver software. Therefore, it is very important to show how a software project might use the predictive life cycle.
Representative key phases in a software development life cycle (also known as a systems development life cycle, or SDLC), as illustrated in Figure 4-10, are:
Feasibility: During this phase, the customer’s problems are defined and a business analyst elicits high-level requirements. Feasibility and preliminary project scope are completed.
Analysis: The business analyst works with the software development team to design an acceptable solution for the customer. The deliverable is the design document. Additionally, the project manager finalizes the baseline cost and schedule, secures resources, and establishes a timeline and budget.
Requirements gathering: The business or systems analyst conducts a detailed needs analysis and documents software and functional specifications.
Design: Software designers use the documentation to establish the initial concepts of the system architecture, including interfaces between modules and where certain functions will take place.
Detailed design: The technical team creates a complete detailed design to meet all requirements, obtain approval, and hand over documentation to programmers for coding.
Coding: Programmers code software and conduct some unit testing. They hand over the software to the quality assurance department for testing.
Testing: The quality assurance staff conducts comprehensive unit testing.
System integration: The team assembles the entire set of modules so that they can be tested according to how they perform with each other and integrate with other related systems.
Acceptance testing: The team conducts final testing of the completed system in an environment that matches the production environment as closely as possible. The customer analyzes the acceptance test results and, if satisfactory, signs the acceptance agreement.
Deployment: The operation phase begins after customer acceptance. The project manager and appropriate team members determine a deployment strategy, complete documentation, train staff, and deploy the software.
Figure 4-10 Software/Systems Development Life Cycle Example Using a Predictive Life Cycle
The process shown in Figure 4-10 is characterized as a predictive life cycle because the completed steps are generally not revisited again. For example, when the requirements are firmed up, they are not changed during the detailed design, coding, and testing steps. If the software development life cycle shown in Figure 4-10 is to succeed using this predictive life cycle approach, the business/system analysts must have fully complete requirements. Likewise, the coding team must have the final software architecture and detailed design documentation before software construction begins. A wide array of specialized staff is involved in this predictive life cycle.
The sequential nature of the SDLC approach does not preclude some level of iteration. If the requirements change in a minor way based on customer feedback or testing failure, the project team can certainly revisit these minor changes through revised design, coding, and testing. The idea is to discover these issues as early as possible because the cost of changing a system can increase as more of it is developed through the project’s life cycle.
However, if significant changes tend to be required frequently, or even if new requirements are injected into the project at later stages, this can have a significant impact on the prior design or coding stages, making it necessary to revisit these stages; in such situations, the predictive software development life cycle is not appropriate. Because modern software development projects tend to accommodate changes that have greater impact regularly, software development project teams are likely to consider an adaptive life cycle today for many such projects.
Industry Application: Adaptive Life Cycle
Adaptive life cycles are associated with the iteration and gradual delivery of working components over several iterations. As such, a project is less constrained to develop requirements early and, therefore, allows modifications as the deliverables are finally reviewed; this often makes the end product very different from what might have been articulated at the start of the project. The PMBOK® Guide – Sixth Edition, now part of the PMIstandards+™ online guide, states the following in Appendix X-3:
Requirements can be elaborated during delivery.
Key users or stakeholders are regularly involved in the life cycle to improve the outcome.
Input from stakeholders often requires repetition of the previous phase.
According to the PMBOK® Guide – Seventh Edition, adaptive life cycles have some distinct characteristics:
Iterative life cycle: An adaptive life cycle in which development occurs through continuous refinement over the life of the project
Incremental life cycle: An adaptive life cycle in which development occurs in small increments, gradually forming the end deliverable through segments
Cadence: A rhythm of activities conducted throughout a project
Delivery cadence: The timing and frequency of project deliverables
Adaptive Life Cycle Example: Adaptive Software Development
Figure 4-11 illustrates a software life cycle example as an adaptive life cycle. It includes some typical elements of an iterative adaptive software development life cycle. When the business analysis step is complete and requirements are captured (generally in writing), a prototype is implemented to demonstrate to the end user the product’s overall features. This prototype is not necessarily fully functional but is developed to give the stakeholders a concept of how the requirements can be implemented. You can see that a fully functional pilot is being demonstrated to the stakeholders at the end of the coding step. In each step, the goal is to gather insights and rework the outcomes of the previous step in the life cycle.
Figure 4-11 Iterative Adaptive Software Development Life Cycle
This life cycle derives benefits from stakeholder feedback and team insights. Critical risks are mitigated in this approach. The requirements might not have been clear in the beginning, but a prototype can clarify the requirements. Where complexity is high, you can see that a fully functional pilot can likely ensure that the deployment will be successful. A vital characteristic of the adaptive life cycle is cadence—how often a prototype, pilot, or deliverable is ready for review. In adaptive software development, the project is understood to involve a frequent cadence of incorporating stakeholder feedback early. Therefore, Figure 4-11 shows that the final deliverable appears in successively refined stages at the prototype, pilot, testing, and deployment stages.
Industry Application: Hybrid Life Cycle
As mentioned earlier in this chapter, in a hybrid development approach, some elements of a predictive approach are used along with some elements of an adaptive approach. Consider the following characteristics of a hybrid life cycle:
There is both an opportunity and a need to leverage the strengths of both approaches.
This approach is practical when compliance requirements demand that certain aspects of the deliverable be implemented in a very predictable way. Still, the core nature of the solution may need to be determined entirely through iteration in a simulated environment.
This approach is practical when there is project management maturity in the organization and when the project team is familiar with both approaches. The team then can bring together the two approaches to develop a new model for project delivery that is suitable for the organizational needs.
It is helpful at this point to look at an industry example of the implementation of a hybrid life cycle.
Hybrid Life Cycle Example: Small Restaurant Business
Sam and Mary Oduwa are talented chefs. Recent changes in the restaurant business environment and their professional careers prompted them to consider starting a restaurant. Working with their daughter, Myra, who is adept in technical matters, they focused on a two-step process: First, they want to create a virtual restaurant to understand their customers better and refine their menu. Second, they want to move to a physical restaurant near their hometown.
Due to the relatively stable technology and flexible options for food delivery, Sam and Mary believe they can get going quickly. Their supportive local bank successfully approved their business proposal for funding to start their virtual restaurant business, and they obtained the needed permits from their local government office.
Sam and Mary visualized three stages through which their business could progress and created a timeline consisting of a one-month period for each stage (see Figure 4-12).
Figure 4-12 A Hybrid Project to Open a Small Restaurant
In an adaptive life cycle, these short, repetitive timelines can be referred to as sprints. Each sprint typically lasts one to four weeks. Sam and Mary considered the following phases as incremental approaches toward their final restaurant opening:
Cook at home.
Rent a kitchen near their home.
Open a restaurant in a single location.
Sam and Mary also recognized that, although they could be very flexible with the first two phases, the third phase would require a more detailed plan, and the physical restaurant would need to be fully functional upon opening. Therefore, although they could use an adaptive approach for the first two phases (involving concept, construct/deliver, and close steps for each phase), they would need to develop a sequential plan to successfully implement the final restaurant location. Food menus and customer reputation could be iteratively built through the adaptive phases so they would be ready to implement in phase 3. However, the physical location would require a step-by-step development approach to be ready to serve customers.
Knowing that the third phase would likely take longer than the previous two phases, and knowing that it would have very defined dependencies, Sam and Mary started the predictive plan for phase 3 in parallel with the first two adaptive phases. This allowed them to select the location, get permits, design the renovation, sign construction contracts, and procure the necessary equipment and furniture, all while perfecting their menus at home and serving their first customers using equipment in their rented kitchen. When all these preliminary steps were complete, they could quickly move into their new location and be ready for their restaurant’s grand opening.
This restaurant business development example demonstrates combined characteristics of adaptive and predictive approaches—a hybrid life cycle.