In the world of project management, one of the most crucial decisions a project manager can make is to select the appropriate lifecycle for his or her project. This selection is not a mere formality, but a decisive step that can directly influence the success or failure of a project. Yet many organizations continue to adopt a "one size fits all" approach, or worse, choose a methodology because it's fashionable, without taking into account the specificities of the project in question.
Understanding the Project Life Cycle
The project life cycle refers to the phases through which a project passes, and reflects the organization's methodology for managing projects. In other words, "what needs to be done to produce the project/product deliverables".
Examples: "Analysis, design, realization, testing, deployment" or "Envisioning, Speculating, Exploring, Adapting, Closing".
It's also the "How" the work will be organized, and the project management processes to deliver the project when it's done.
What activities are required to manage and deliver the project as a whole?
Example: "Start project, organize and prepare, execute work, complete project" vs Process Group: Initiate, Plan, Execute, Monitor & Control, Close".
Selecting the right lifecycle is essential to effectively manage these phases and meet the specific needs of the project and the team.
The (3) Main Project Lifecycles / Development Approaches
1. Plan-Driven mode - " Predictive ", " Traditional ", " Waterfall /En cascades "
Deterministic in nature, comprehensive and detailed planning is carried out at the start of the project. Scope requirements & deliverables are clearly defined and unlikely to change as the project progresses. This is the famous "triple constraint" iron triangle, where scope, schedule and costs are determined in detail at the start of the project.
2. Change-Driven mode - "Adaptive", "Agile", "Incremental", "Iterative".
Changing in nature, scope is "flexible", with requirements & deliverables planned at a high level, with the idea that everything can change during the course of the project. The scope corresponds to a product backlog, where a portion of the product is re-prioritized and re-planned in successive waves (rolling-wave planning), and the scope (value) is delivered incrementally and/or iteratively.
Incremental
The scope is achieved in a succession of chunks (increments) according to a roadmap divided into several iterations with a fixed schedule of less than 30 days (sprints). A functional portion of the solution must be delivered in each iteration.
Iterative
Scope is also achieved by a succession of chunks (increments) according to a roadmap and replanned at the start of each fixed-schedule iteration (sprints) according to the learning and feedback obtained from stakeholders at the end of the previous iteration. Agile methodologies such as Scrum, XP, DSDM, FDD, BDD, etc., are used for this purpose.
3. Hybrid mode
Hybrid mode is the combination of predictive and adaptive modes, or the happy medium between the two.
How do you select the right project life cycle?
What stage of the project are you at: Is this a new project to "Launch a product" or to "Evolve/Maintain" it?
Is the work "Deterministic" or "Emergent" in nature?
Are requirements likely to change along the way? Are change requests likely?
Are project team members available at 100 %?
Are they highly collaborative and autonomous? Are they highly competent in their field of work? Do they have agility skills?
1. Selection based on level of uncertainty and risk
To choose the right life cycle, select it according to the area of work to be carried out. An excellent framework to use is the "Cynefin" model, which is used to categorize the different domains in which the required work is carried out (Clear, Complicated, Complex, Chaotic, Confused). The use of "agile" lifecycles is recommended in environments composed mainly of uncertainties.
Learn more in this video:
2. Available resources
The availability and skills of team members play a crucial role in project lifecycle selection. Let's take a closer look at how these factors influence the decision, particularly with regard to Agile methodology and the waterfall model.
Availability at 100% (Change Driven Mode)
In an Agile environment, resources often need to be available full-time to work continuously and iteratively. Here's why this availability is crucial for:
Ongoing commitment
Agile teams work in sprints, short, repetitive periods when part of the work must be completed and ready for review. Full-time availability enables team members to concentrate fully on the project, guaranteeing maximum productivity and collaboration.
Frequent collaboration
Agility requires continuous communication between team members and with stakeholders. Regular meetings such as daily stand-ups, sprint planning meetings, sprint reviews and retrospectives require team members to be available to actively participate and contribute.
Reactivity to change
One of Agile's key strengths is its ability to adapt quickly to change. This is only possible if resources are available to respond to new demands, adjust priorities and integrate user feedback on an ongoing basis.
Partial availability or multiple projects (Cascade mode)
In a waterfall model, project phases are sequential and well-defined, allowing for more rigid planning of resource availability:
Defined phases
Resources can be cascaded to specific project phases, and their availability planned accordingly. For example, analysts may be intensively involved during the design phase, while developers and testers will be more solicited during the development and testing phases respectively.
Multiple projects
Team members can be involved in several projects simultaneously. Since phases are well defined and dependencies clear, partial availability of resources can be managed more easily without disrupting the overall project flow.
3. Resource skill level
The success of an Agile project relies heavily on the skills and autonomy of its team members:
Versatility
Agile teams are often cross-functional, which means that team members must possess a variety of skills and be able to work on different aspects of the project. For example, a developer may have to test his own code or work closely with designers.
Self-organization
Agile teams are generally self-organizing, requiring a high level of skill and discipline. Team members must be able to make technical decisions, prioritize tasks and solve problems autonomously, without the need for constant supervision.
Mastery of Agile Methodologies
Effective understanding and application of Agile practices such as Scrum, Kanban, or Extreme Programming (XP) requires in-depth training and experience. Team members need to be familiar with Agile tools and techniques to maximize productivity and quality of work.
Variable skill levels (Cascade mode)
In a cascade model, skills can be more specialized and roles better defined:
Specialization
Resources can focus on their specific areas of expertise. For example, analysts can focus on requirements gathering, developers on coding, and testers on quality testing. This specialization makes efficient use of specific skills and reduces the need for versatility.
Training and Supervision
The cascade model allows for a more defined hierarchy and clearer roles, making it easier to supervise and train team members. Less experienced resources can receive precise instructions and benefit from more rigid supervision.
Documentation
The waterfall model often relies on comprehensive documentation at each phase. This can help guide team members and bridge skill gaps by providing clear, detailed guidance.
Conclusion
The availability and skill level of resources are decisive factors in the choice of project life cycle. Agile methodologies require full-time availability and a high level of skills, with a high degree of versatility and self-organization.
On the other hand, the waterfall model may be better suited to resources that are partially available or involved in several projects, with more specialized skills and a more defined hierarchical structure.