Good Things Happen When Waterfall and Agile Worlds Collide!

As you know in project management, there are two popular models for managing projects:  Waterfall and Agile.  There are folks in both camps that will defend their model to their last breath; pitting one against the other.  In reality, you need features from both models to successfully manage your projects, creating a hybrid Agile Waterfall model.   After reviewing the models, we’ll discuss ways of merging the waterfall and agile worlds together to help mitigate risk and allow you to achieve your deliverables in a timely manner.

The waterfall model is a sequential process, where progress is seen flowing steadily downwards (like a waterfall) through the project life cycle: Planning, Execution, Performance/Monitoring, and Project Close.  The waterfall model looks like this in the Execution stage:

 

The benefits of the waterfall model are:

  1. Sets expectations up front for deliverables, cost, and schedule – before sponsors invest, they want to know:
    1. What am I getting?
    2. How long will it take?
    3. How much is it going to cost?
  2. Requirements must be validated, and exit criteria must be met before proceeding to the next phase – this ensures that the project team has completed their work to the sponsors satisfaction, but it also allows the sponsor to validate that the value still exists for the project to continue
  3. Planning up front means less potential for rework – defining requirements and design approval lends itself to more accurate deliverables
  4. Identifies deliverables and milestones – progress can be easily tracked for the overall objective

The agile model is a combination of iterative and incremental process models with the focus on process adaptability and customer satisfaction by rapid delivery of a working product using small incremental builds.  The agile model looks like this:

 

The benefits of the agile model are:

  1. Continuous delivery and feedback cycles – iterative and incremental development where each iterative encompasses all the stages
  2. Early testing and continuous integration – since testing is conducted for each iteration, it just touches on what will be delivered, keeping the testing small and concise
  3. Sponsor collaboration and acceptance as the product is development – fast and continuous feedback allows for more successful implementations
  4. Teams work from a prioritized task list and based on previous work rate, determines the scope of the iteration – realistically can determine what can be accomplished in the pre-determined iteration time-frame

Both models have benefits and add value, but it’s the combination of these features that delivers the most value:

Waterfall and Agile Features

Waterfall and Agile Features

 

Here are suggestions on how to execute an Agile Waterfall project:

  1. Create a water fall project, but add in agile features that will best ensure a successful execution. Since each project is unique, there may be varying degrees of agile strategically placed specifically for that project.  Factors that may influence this are:
    1. Project risk – the higher the risk, the more agile
    2. Knowledgeable sponsor/team – the less input, the more waterfall
    3. Project team expertise – the more experience, the more agile
    4. Hard deadlines – the more stringent, the more waterfall
    5. Research and development – the more R&D, the more agile
    6. Time to market – the faster the release schedule, the more agile
    7. Complexity – the more complex the design and/or involving outside resources, the more waterfall
    8. Training – the more user training is needed, the more agile
  2. For all projects, these Agile Waterfall techniques are key to success
    1. Constant communication of status, issues, milestones progress, etc.
      1. Regular planning sessions – keeps the team engaged and adjusts to changing circumstances
      2. Regular stand-ups – how often depends on the how much progress can be made and how tight the deadline is
      3. Regular status to management – keeping them abreast of progress and issues; noting where they need to assist and how
    2. Just enough documentation
      1. Definition, direction, with some guidelines – to get the project team started and directed, but not going into detail on the implementation
      2. Process flows, checklists, templates – providing standardization for efficiency, consistency, and the same level of thoroughness
      3. End results – for support and reference purposes
    3. Just enough project management
      1. Lead, but don’t tell how
      2. Monitor, but don’t micro-manage
      3. Communicate, but do not over burden
      4. Support, but allow for accountability
  3. Incorporating agile in the Execution Stage:
    1. Keep the Design stage at a high-level, and in the Development stage, plan iterations of detail design, development, testing, and review. This allows you to timebox the Development stage and have the necessary collaboration with the sponsor/team for a successful deliverable.
    2. Have enough schedule/cost buffer to absorb minor changes to the requirements/development as the product is being built. It is best to incorporate the buffer through contingency tasks prior to the deliverable milestone.  This buffer should be within boundaries and should not overrun the original budget.  Also, it is important to manage and prioritize the minor changes through the Change Management Process at zero cost.
    3. Set a baseline and track how fast tasks are being executed. Evaluate Time to Complete along with tasks progress on a regular basis.  Be flexible to react to hurdles and make the necessary adjustments to get back in line with the baseline budget and schedule.

They say the waterfall model is a thing of the past, but by adding agility to its execution, you get the best of both worlds.  The benefits of the Agile Waterfall hybrid model are:

  • Reduced time for design, analysis, and planning
  • Accelerated development
  • More Customer feedback; flexibility for changes
  • Quick turn around
  • Focus on deadlines and budget

The Agile Waterfall helps provide the sponsor the deliverables they need, along with providing the project manager the tools they need, for a successful project!

 

I hope this was helpful.  For more tips and tricks on using MS Project, please visit www.EPMAinc.com.