There has been a takeover of the product development methodology of choice happening over the past 10 or so years.
For those of you who started in product development before that time, then you’re familiar with the waterfall approach where phases in the product development cycle happen one after the other. There is little room for overlap. Kind of like a … waterfall.
When I began my career, I didn’t even know this approach had a name. I just thought it was the way software was developed.
More and more, agile methodology has become the choice for software development teams. Just like the name suggests, this more flexible approach focuses on iterative development. This allows for changing customer needs during the development process.
A ton of great software that has been developed using waterfall. The approach has benefits that made it useful to begin with. And the flexibility of agile can be a huge benefit.
So, which should you choose?
Well, maybe both.
Because there is another methodology that uses characteristics in each to balance discipline with flexibility: hybrid agile waterfall methodology.
Keep reading to dig into the benefits and challenges of this hybrid agile waterfall methodology. Plus, when to consider using it.
Firstly, What are Agile and Waterfall?
I must say, whoever named these approaches were spot on. So, a big thanks to them for making this all a bit easier to remember.
In a traditional waterfall approach, the system development lifecycle phases occur in succession. When one ends, the next begins. Waterfall is gated approach from requirements to design, development, testing, and release.
This approach has limited flexibility to accommodate changing requirements. Business analysts gather detailed business and technical requirements at the beginning of the lifecycle. Policy changes that require system considerations are evaluated after the application is released.
In most cases, this means re-starting the lifecycle and going through it all over again. This delays implementation of any new or updated requirements.
Benefits of Waterfall
- Strict timelines, budget, and scope provide clarity for the development and executive teams
- Defined requirements and design set expectations for the final solution to be delivered
Challenges of Waterfall
- In-ability to accommodate changing customer requirements
- Strict timelines, scope, and budget allow little room for flexibility
In a traditional agile approach, requirements are defined during each version of the application. This flexible approach allows technical resources to adjust as policies change.
Working products are iteratively delivered and tested by business users. Changing priorities and requirements are gathered during each iteration and incorporated into a future one.
Agile provides a method to develop a solution when the full scope of requirements is unknown. High engagement from end users is necessary to continually iterative and improve. However, executives and business owners may struggle with open-ended timelines and a lack of clarity as to what will be delivered.
Benefits of Agile
- Ability to accommodate changing customer needs
- Frequent delivery of software updates
- Iterative development that incorporates customer feedback
Challenges of Agile
- Open-ended timelines, scope, and budget
- Lack of clarity into what the final solution looks like
- Requires a high engagement with the business team during the entire development lifecycle
What is Hybrid Agile-Waterfall Methodology?
To accommodate needs across business and technical teams, there is another approach: hybrid agile waterfall.
Hybrid agile waterfall utilizes characteristics from each of the methodologies described earlier to balance flexibility with rigor. This hybrid approach establishes a baseline set of expectations, delivers frequent releases, and follows disciplined project management.
All of this enables both the business and technology teams to find a common ground.
The Hybrid Agile Development Lifecycle
Agile is iterative, waterfall is not. So, how is this reconciled in the hybrid agile development lifecycle?
In the hybrid approach, development and independent verification and validation (IV&V) is iterative while the rest of the phases in the lifecycle follow a waterfall approach. Think of it as agile development with a waterfall approach to project and product management.
This iterative approach to development and internal testing provides flexibility to refine requirements during a given sprint.
Speaking of development sprints, this is where the iterative magic happens. Quality is assessed based on the health of a sprint. How accurate were estimates? Were requirement changes incorporated? Was a viable solution delivered compared to what was planned to be delivered?
To complement the flexibility of iterative development, a more strict approach is followed for project planning, requirements gathering, design, user testing, and release deployment. This increases clarity in the project plan and budget.
Benefits of Hybrid Agile-Waterfall
There are several benefits of a hybrid approach versus a more traditional single approach:
- Creation of higher quality end-user focused systems through iterative design-build-test cycles and increased collaboration between business and technical teams
- Enables requirements refinement, changing customer needs and design flexibility
- Balances flexibility with disciplined project management to add clarity to the development lifecycle
- Mitigates uncertainty by setting a baseline set of expectations
- Delivers frequent, useful and customer-focused solutions
- Provides a realistic interim approach that can be used as a stepping stone during an organizational transformation from waterfall to agile
Downsides and Challenges of Hybrid Agile-Waterfall
Of course, there are challenges to the hybrid approach. But, with the right steps, these can be mitigated:
- Thrives only with the right staff and the right culture – stakeholders need to be open to change and iterative improvements
- Requires communication, structure and proper feedback
- Business and technical teams need to be comfortable with initial uncertainty
- The difficulty of balancing between a phase-gated approach and iterative approach without settling into the comfort and familiarity of either
Hybrid Agile Control Points
At the end of the day, a solution that meets customer needs is the goal with any development methodology. To continually assess and maintain quality, control points are established. These control points are used to review and confirm the solution is meeting customer needs, budget, and timeline before moving on to the next phase of the lifecycle or development iteration.
Here are the control points used in the hybrid agile waterfall methodology:
Each iteration works against a granular set of requirements. But, a high-level roadmap is used to manage the overall product. The roadmap outlines the end solution to be delivered while the requirements outline the solutions to be delivered at the end of each iteration.
Maintaining an initial roadmap is not only useful from a communication standpoint, it also ensures that the bigger vision is realized. Each granular requirement is reviewed against the roadmap before inclusion in a development sprint. This ensures that at the end of each iteration, the delivered solution aligns with the overall product vision.
The requirements backlog is where new system features are tracked and maintained. The backlog is reviewed to ensure that new items are not out-of-scope from what is needed for the system.
In the heat of development sprints, it is easy to lose track of what is and what is not important. By validating that what is being added to the sprint backlog is meeting the business needs prior to the kick-off of a new sprint, the team can fully focus on development tasks.
Minimum Viable Product/Business Value
It is easy to add too much into development. It happens all the time.
The goal of each development iteration is to deliver a minimum viable product that adds business value. Maximum value is delivered with minimum development is the winning combo.
This may sound difficult. And it can be.
But, the role of IV&V during each development cycle is to validate that each user story or requirement adds value. This ensures reduced complexity and minimizes wasted effort.
Sprint Planning and Review
At the completion of a development sprint, it’s time for everyone on the team to put their “Monday Morning Quarterback” hats on.
It’s important to continually assess the health of sprints. Not only is development iterative, but so are improvements. By reviewing sprints, improvements can be made the next time around.
That’s the beauty of iterative development, you’re often fortunate enough to have another opportunity to nail the delivery of a solution that your customer will love.
During sprint reviews, the project team evaluates question such as:
- What did we say we are going to do?
- What did we do?
- How well did we meet our goals for the sprint?
- How well were our estimates?
- Did we incorporate all the changes?
- Did we adhere to our agile processes?
- Is documentation – e.g., design, use cases, test results – accurate, complete, consistent and traceability to the product?
Answers to these questions drive the continuous improvement of each development iteration. But, what if your customer can’t wait until the next iteration to realized improved processes and solution delivery? Well, you need a more real-time approach.
In addition to post-sprint retrospectives, there are certain control points that are evaluated within a sprint. Iterative improvements don’t always need to be implemented for the next development cycle. To have a true continuous improvement agile development cycle, the health of a sprint is evaluated on a daily basis.
During a sprint cycle, the project team evaluates metrics such as:
- How healthy of a sprint did we maintain?
- Is our velocity on target?
- Is our burndown chart accurate?
With these control points at each step in the development lifecycle, quality of the product and process is continually assessed. Those assessments drive continuous improvement of the methodology to ensure organizational needs are fully met.
When To Use Hybrid Agile-Waterfall?
In most solution delivery cases, a hybrid approach can be substituted for a traditional agile or waterfall approach. There are plenty of success stories and case studies that span industries and product variations.
In addition, there are different ends of the methodology spectrum that could warrant an exploration into a hybrid approach. Maybe you’re using waterfall and would like more flexibility. Or you’re using agile and would like to add more certainty.
In either case, a hybrid approach could mitigate some of the issues you’re currently experiencing with your development lifecycle.
Here are just a few examples where you may want to consider a hybrid agile waterfall:
- Your organization is currently using a waterfall approach. But, you’re having issues addressing changing customer requirements during the long development phase. In addition, a lack of cross-functional collaboration is preventing you from delivering high-quality solutions that your customer loves.
- Business and/or technical stakeholders in your organization are not comfortable with uncertain timelines and budget. However, they value the flexibility of an agile approach.
- The culture of your organization lacks openness and willingness to change. But, the inflexibility of a traditional waterfall approach is preventing you from delivering. An initial step to a hybrid approach – or multiple even smaller steps that slowly introduce agile processes – can be the first piece of moving to full agile.
- The project timeline and budget are set in stone. But, a high level of collaboration with a flexibility to address changing customer needs is required.
Ready For a Hybrid Approach?
If you or your organization is looking to move from a waterfall to an agile methodology, then a hybrid approach may be the most realistic first step in the transition.
Alternatively, maybe you’ve already moved to agile. But, the executive and business teams are uneasy with the lack of uncertainty into timelines and budget. A hybrid approach can help add clarity to project and portfolio management.
There are pros and cons to any development approach. The best methodology is the one that is right for your organization. And that is dependent on your culture, customer needs, budget, and countless other variables.
But, you know the value and importance of testing. So, if you’re interested in learning more about hybrid agile waterfall or if you’d like help to test this approach on a pilot project in your organization, email us at email@example.com.
For a Conversation on Business Continuity, Check Out the Karma Insights Podcast
Also published on Medium.