This is a series of posts on the characteristics of various life cycles, based on the material in chapter 3 of the Agile Practice Guide. The chapter compares and contrasts the four types of project life cycles:
- Predictive (traditional or waterfall)
- Iterative
- Incremental
- Agile
The first part of the chapter did a comparison between the four types. The next part, which I’ve covered in the last four posts, goes into more detail of the characteristics of each type. This posts goes into the section which talks about characteristics of hybrid life cycles, which is a combination of predictive, iterative, incremental, and/or agile life cycles.
There are several ways to create a hybrid life cycle.
1.Agile Development Followed by a Predictive Model
The early processes utilize an agile development life cycle, followed by a predictive roll-out phase. This approach is used when there is uncertainty, complexity, and risk in the development portion of the project, which makes the agile approach beneficial for that portion of the project. The roll-out phase, if it defined and repeatable, can be undertaken in a predictive team.
EXAMPLE: Development of a new high-tech product through agile methodology followed by roll-out and training to thousands of users using predictive project management
2. Combined Agile and Predictive Approaches
This is actually a common scenario. Some approaches are taken from agile, such as:
- short iterations
- daily standups
- retrospectives
However, other aspects of the project may still follow predictive approaches such as:
- upfront estimation
- work assignment
- progress tracking
EXAMPLE: When a team is incrementally transitioning to agile.
A gradual transition to agile involves adding more iterative techniques to improve learning and alignment among teams and stakeholders. Later, more incremental techniques can be added to accelerate value and return on investment sponsors.
Usually an organization tries to transition to agile on less risky projects with a low-to-medium degree of uncertainty. Once this transition is successful, larger, more complex projects can be tried using agile techniques.
3. Predominantly Predictive Approach with Some Agile Components
In this case, a portion of the project with uncertainty, complexity, or opportunity for scope creep is being tackled in an agile way, with the remainder of the project being managed using predictive approaches.
EXAMPLE: An engineering firm building a facility with a new component. The agile component of the project deals with the new component in order to uncover issues early on while there is time to incrementally improve the process through experimentation and adaptation before it is incorporated into the rest of the facility which has been previously built before (and can therefore be dealt with using predictive approaches).
4. Largely Agile Approach with a Predictive Component
This approach might be used when a particular element is non-negotiable or not executable using an agile approach.
EXAMPLE: Integrating an external component developed by a different vendor that cannot or will not partner in a collaborative or incremental way. After the component is delivered, a single integration is required.
To conclude this discussion, note that project teams may design a hybrid life cycle based on project risks. The higher the risk, the better that portion of the project is to be handled through agile methods. The goal of project management is to produce business value in the best possible way given the current environment.
Is feedback needed from customers as the team produces value? Then, try incremental life cycle approaches.
Is it necessary to manage risk as ideas are explored? Then, try iterative approaches.
But, if the organization cannot deliver intermediate value (such as with construction projects) agile approaches may not be useful. Only use agile if you need frequent customer-based delivery. The feedback from the customer will be used to plan and replan the next chunk of work.
This post has talked about mixing life cycle approaches. The next post will talk specifically about mixing agile approaches, and what some of the common blends are of agile frameworks used on projects.
Filed under: Uncategorized | Leave a comment »