Why choose one when you can have both?
Matthew Latham
As a Content Creator & Independent Principal Consultant - Building teams that shape the future.
In every large transformation I have encountered in the last couple of years have all ended up implementing a "The Hybrid" an delivery approach resulting from a companies effort driving a combination of agile and waterfall methodologies to meet the unique requirements of a project. This article is not looking to assessing which methodology is better but how The Hybrid approach has been the most common I have participated in over my recent career. ( so there is some subjective views here )??Agile is a flexible and iterative approach that prioritizes customer satisfaction, while waterfall is a linear approach that involves detailed planning, execution and delivery. Everyone's view of The hybrid approach is it aims to combine the best of the new agile methodologies with the established enterprise Waterfall process painstakingly ingrained over the last 20 years to deliver high-quality products while meeting project requirements and constraints. In this report, we will discuss the steps involved in implementing a hybrid approach, including identifying the appropriate mix of agile and waterfall practices, defining project scope and objectives, breaking down the project into manageable pieces, using agile practices to plan and execute iterations, and using Waterfall practices to manage the overall project. This list is not exhaustive, they are the key elements I often am challenged by when manage large transformations.
?
Step 1: Identify the Appropriate Mix of Agile and Waterfall Practices
The first step in implementing a hybrid approach is to identify the appropriate mix of agile and Waterfall practices that will work best for the project. This will depend on the nature of the project, the team's experience with both methodologies, and the constraints and requirements of the project. The team should identify the critical success factors for the project and determine which methodologies will be most effective in achieving these factors. For example, if the project requires a high degree of predictability and control, Waterfall practices such as detailed planning and documentation may be more appropriate. On the other hand, if the project requires more flexibility and adaptability, agile practices such as sprints and iterations may be more appropriate to allow a test a learn approach. This flexibility is well suited to new customer experiences and service and the feedback process driving product planning.
?
Step 2: Define the High-level Project Scope and Objectives using a Waterfall Approach
The second step is about setting up a large capital investment in the business, this means allocating capital and within large originations there are most usually well established processes within the CFO office that manage the allocation and oversight on these investments. Therefore typically I have experienced that the definition the high-level project scope and objectives is done using a Waterfall approach. This includes creating a project charter, which defines the project's purpose, scope, and objectives, and a high-level project plan, which outlines the major milestones, deliverables, and timelines and business case and associated budgets.?
?
Large transformation projects spanning multiple development teams across business units within large organizations can be challenging to achieve a consistent and coordinated approach to release planning using a pure Agile approach. By defining the high-level project scope and objectives using a Waterfall approach, organizations can establish clear goals, milestones, and timelines that align with traditional financial oversight and communications. The main stakeholders for these large transformation projects are often traditional Executive Leadership who find it best practice to work with the traditional financial oversight and communications provided by a Waterfall approach. However, it is important to note that a hybrid approach can be challenging to implement and requires careful planning and coordination across development teams and business units.?
?
Step 3: Break the Project Down into Smaller, More Manageable Pieces using an Agile Approach
The third step, once the high-level project scope and objectives have been defined using a Waterfall approach,??is typically to break down the high-level scope and milestones into smaller, more manageable deliverables that can be planned and executed using an Agile release planning approach. This step involves defining the features or functionalities that the project will deliver and prioritizing them based on their importance to the project. This allows development teams to work iteratively and incrementally towards achieving the project's overall goals, while maintaining alignment with the larger program or portfolio objectives established in the Waterfall phase.?
?
Agile release planning typically involves breaking down the high-level project scope and milestones into smaller, more manageable features or user stories, which are prioritized based on business value and estimated effort. The development team then works in short sprints, typically two to four weeks in duration, to deliver working software that meets the acceptance criteria for each feature or user story. The team holds regular sprint reviews and retrospectives to review progress, make any necessary course corrections, and plan for the next sprint. The team should also establish a backlog of user stories, which define the features and requirements from the perspective of the end-users. The team can then use these user stories to plan and execute each iteration or sprint.
?
领英推荐
Step 4: Use Agile Practices to Plan and Execute Each Iteration or Sprint
The fourth step is to use agile practices to plan and execute each iteration or sprint. This includes creating user stories, prioritizing the backlog, and conducting daily stand-up meetings. User stories are short, simple descriptions of a feature or functionality that the end-users need. The team should prioritize these stories based on their importance to the project and estimate the effort required to complete each story. Daily stand-up meetings are short, daily meetings where team members share their progress, discuss any issues, and plan their work for the day. These meetings help to ensure that everyone is on the same page and working towards the same goals.
?
Step 5: Use Waterfall Practices to Manage the Overall Project
The fifth step is to use Waterfall practices to manage the overall project. This includes tracking progress, managing risks and issues, and conducting project reviews and sign-offs. The team should track progress against the high-level project plan, which was defined in Step 2, and identify any variances or deviations from the plan. This information can be used to adjust the plan as necessary and ensure that the project is on track. Managing risks and issues involves identifying potential risks and issues that could impact the project and developing strategies to mitigate or address them. This helps to ensure that the project stays on track and that any issues are addressed in a timely manner. Project reviews and sign-offs involve reviewing the progress of the project and obtaining approval or sign-off from stakeholders at key milestones. This helps to ensure that the project is meeting its objectives and that stakeholders are satisfied with the progress and outcomes.
?
Step 5: Regularly Review and Adjust the Hybrid Approach as Needed
The final step is to regularly review and adjust the hybrid approach as needed to ensure that it is meeting the needs of the project and the team. This involves monitoring progress, obtaining feedback from stakeholders, and adjusting the mix of agile and Waterfall practices as necessary.
It is important to note that the hybrid approach is not a one-size-fits-all solution and that the mix of practices may need to be adjusted based on the unique requirements and constraints of the project. It is important to be flexible and open to adjusting the approach as necessary to ensure that the project is successful.
?
In conclusion, the hybrid approach of linking Agile with Waterfall can be an effective way to deliver high-quality products while meeting project requirements and constraints. To implement a hybrid approach, it is important to identify the appropriate mix of agile and Waterfall practices, define the high-level project scope and objectives using a Waterfall approach, break the project down into smaller, more manageable pieces using an agile approach, use agile practices to plan and execute each iteration or sprint, use Waterfall practices to manage the overall project, and regularly review and adjust the approach as necessary. It is important to avoid certain pitfalls, such as overemphasizing one methodology over the other, failing to define project scope and objectives, not adapting the approach as necessary, and ignoring feedback from stakeholders. By following these steps and avoiding these pitfalls, organizations can successfully implement a hybrid approach and deliver high-quality products while meeting project requirements and constraints.
I would value hearing from you if you had any feedback or comments, please share.
Team Manager @ Guide, Critical Care, Getinge | Scrum Master, B.Sc.
1 年Your hybrid does not work. In step 2 you decide scope, time and budget. The decision in step 2 is based on assumptions. In step 3&4 you will learn new things. The learnings will likely affect scope, time or budget. So the apparent control given in step 2 is just an illusion. The dilemma is how ever easily solved in step 1. By adding a rule. If the cause and effect is always known for all problems in your project, go all- in on waterfall. If not, choose agile.
Engineering | Product | Delivery | Agility
1 年Great article Matthew Latham. I've seen variations of this hybrid approach work really well in organisations. Applying the best parts of different approaches in a way that work for you is always solid advice. I wonder what tooling you have had success with in the past when adopting a hybrid approach. My experience is that a lot of organisations end up using a mix and match of products (including Excel!) making it hard to have a joined up, real-time view of everything. I've always believed tooling should support your approach to not hinder which is why we built BigAgile (www.bigagile.io). I'd love to organise a quick demo for you if you're interested.