Select Page
Hybrid Agile-Waterfall Methodology: What is it?

Hybrid Agile-Waterfall Methodology: What is it?

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.

Waterfall

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

Agile

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:

Roadmap

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.

Backlog Management

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.

Sprint Cycle

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 hello@karmaadvisory.com.

For a Conversation on Business Continuity, Check Out the Karma Insights Podcast

Daily Check-In and Status Email Check-Ins

Daily Check-In and Status Email Check-Ins

When projects get rolling and eventually when the team is in crunch time, there is a strong need to keep the PM/BAs/Developers all on the same page. To that end, here is what we do:

  • Morning and Evening Check-Ins:
    • Review the open issues/bugs/next steps
    • Schedule the day of bug fixing, testing and any other analysis work needed
  • Detailed Status Emails (after each check-in):
    • Yesterday Review: [DATE]
      • [MODULE Name 1]
        • [Bugs/Fixes/Updates listed out]
        • [MODULE Name 2]
        • [Bugs/Fixes/Updates listed out]
    • Todays’ Most Important Tasks: [DATE]
      • [MODULE Name 1]
        • [Bugs/Fixes/Updates listed out]
      • [MODULE Name 2]
        • [Bugs/Fixes/Updates listed out]
    • This Week
      • Monday, MM/DD:
        • [Likely Task/Goal/Milestone]
      • Tuesday, MM/DD
        • [Likely Task/Goal/Milestone]
      • Wednesday, MM/DD
        • [Likely Task/Goal/Milestone]
      • Thursday, MM/DD
        • [Likely Task/Goal/Milestone]
      • Friday, MM/DD
        • [Likely Task/Goal/Milestone]
    • UPCOMING MILESTONES:
      • Milestone 1 by MM/DD
      • Milestone 2 by MM/DD
    • Future Release Planning/Backlog
      • Note: Items added to Smartsheets backlog here.
      • [Module 1] Backlog
      • [Module 2] Backlog

 

What is your role in every meeting no matter what?

What is your role in every meeting no matter what?

Get your questions answered:

It you have a list of questions that you need answered, print them before the meeting and tick them off as they are answered.

Help keep the meeting focused.

If a meeting goes off topic, then say “I appreciate this topic; however…

  • ….I don’t think we can resolve it in the meeting and let’s mark this as an action item or take this offline.
  • …I suggest we add this to the control log for future discussion.

Listen for the unsaid

The number one thing to look out for are the unsaid thoughts or feelings.

  • For example, did someone seem confused during the meeting, then reiterate what you heard and ask for confirmation. One way to do this: I heard X. Is that correct? (Notice: the usage of a closed question to ensure mutual understanding).

Take detailed notes:

If it is your meeting, take detailed notes and ask your teammates to do the same. Once the meeting is done, clean up the meeting minutes, summarize the key takeaways and email them to the attendees. Make sure to ask, “Do the meeting minutes match their understanding? If not, please send your updates.”

If it is not your meeting, write everything down — you can always send them to the meeting organizer and say “Here are my draft notes, I hope they are helpful.”

Lean in:

If you are on a video conference lean in. If you are in person, lean in. Your body language keeps you energized and focused. Remember: We owe it to one and other to give our full attention.

The Importance of Guiding Principles (or, Key Decision Making Criteria)

The Importance of Guiding Principles (or, Key Decision Making Criteria)

At the heart of getting something done is getting everyone on the same page to move the project forward. This is especially relevant in an environment of a variety of individuals from department teams, and, ultimately, different walks life.

The diversity of views creates a challenge: Do we argue about the rightness or wrongness of ideas or a decision? Or, do we agree on a set of “guiding principles” and make decisions?

What is a guiding principle?

A guiding principle is a statement that summarizes a criteria or value-based mechanism. Let’s take the following situation in pricing strategy:

  1. Situation: Company X has developed a patented Water Retention System that helps trees grow faster, while using 80% less water.
  2. Complication: The founder and owner of Company X wants to target low-income farmers that cannot afford an expensive system. The venture capitalists wants the founder to charge higher rates to ensure maximum distribution, and ultimately a strong return on their investment.
  3. Question: How should Company X price the Water Retention System?

If you were in this situation, how would you facilitate a decision? Clearly, both the owner and the venture capitalists have a strong case to make regarding the rightness of their decision.

Option A: Conduct a pricing analysis, and present different prices and see if there is a price that meets both needs.

Option B: Develop a core set of guiding principles around making key business decisions, and then conduct a pricing analysis, and evaluate the options based on the guiding principles.

In Option A, there is an implicit debate about what the Owner and the Venture Capitalists value. In Option B, there is an explicit debate about what the Owner and the Venture Capitalists value.

Why is this important?

The point of this example is codifying the unsaid in guiding principles, each individual can evaluate what they value and see whether it resonates.

If there is resonance, then decision making and team dynamics can be more fluid (or, at the leaser — easier).

If there is not resonance, then decision making will be stalled and inauthentic — team members may grudgingly go along, but there will continue to be dissension as increasingly complex decisions are made, and the team will need to decide whether to continue together or not.

Originally posted on Karma Advisory’s medium page here.