Combining Waterfall and Agile Project Management Methods
Effective project management is an art form. It’s the dedicated and deliberate act of taking a series of disparate threads and weaving them into something successful and profitable.
There are dozens of defined project management approaches out there, but today we’ll be focusing on two: agile and waterfall.
Agile project management is a well-known and popular method used by many companies involved in software development. Agile employs an iterative approach that focuses on continuous feedback cycles and software releases where teams are often able to increase efficiency, improve collaboration, and allow project requirements to flex.
In comparison, Waterfall project management breaks each project down into distinct phases, where each phase is entirely dependent on the previous one. The intention is that each phase flows together, like the name suggests.
Agile project management is very popular. So popular, in fact, that sometimes teams will feel like they have to use the method for their project, even if the result ends up feeling forced. In today’s post, we’ll be talking about what to consider when choosing between the two as well as how you can successfully combine your favorite parts of each to create your own custom hybrid approach.
Choosing a Methodology
In waterfall project management, most projects are organized into five main phases: requirements gathering, design, development, testing, and deployment. When using a true waterfall approach, a team will only move on to the next project phase once the previous one has been completed.
Comparatively, in agile project management, teams will define a smaller number of up front requirements. After that, they’ll design, develop, test, and deploy a small section (feature) based on those initial requirements. The feedback on the feature that is then gathered and reviewed informs the requirements that will dictate the subsequent cycle. This cycle repeats until the project team is satisfied with the final product.
Waterfall project management has been used for decades and has earned it’s steadfast popularity. It calls for detailed planning upfront, which helps the team better forecast the overall project cost and timeline. The final deliverable is defined in great detail, which makes development milestone tracking and feature planning easier.
On the other hand, agile project management allows the project team to have more control over the project as it progresses, and empowers team members to think creatively and propose new ideas throughout the project lifecycle.
In order for an agile project to be successful, there needs to be a high level of mutual trust between the project and the product stakeholder teams. When evaluating if the project is a good candidate for agile project management, it’s important to consider:
Blending Agile and Waterfall
When it comes down to one project management approach or the other, our answer is simple: why not both? As appealing as a pure agile approach can be, most projects don’t have eternally open ended timelines or budgets. Sometimes they need a little help from the structure of the waterfall management system. Here is a hypothetical example:
A client comes to an agency with a request to build a new marketing website for their B2B industrial company. They know they want to include some cool interactive features. Ideas they bring up in the sales process include a comprehensive project quote calculator, a searchable materials database, and an integrated support chat feature. The client has capped their budget at a certain dollar amount and is looking for guidance on what features should be prioritized in order to stay within that budget and provide the best ROI for their business.
At the minimum, we know the project will require the design and development of a new website. We know that they are looking for additional enhancements through engaging features. Once we’ve done our research and determined how to prioritize features, we can develop an initial set of requirements to accomplish within the build and at least one of the key features.
As it is built, tested, reviewed with the client, we can re-evaluate the budget and timeline to decide if additional functionality can be layered in. Maybe the quote tool initially only allows for site users to submit information via a general online form and receive some basic data upon submission, but the client wants to make it easier to collect more user data by integrating the tool with their internal CRM system. Maybe, though, the client is happy with the basic functionality and decides to spend some of their freed up budget on a more robust chat integration.
In this example, we see how an iterative development approach results in added flexibility for the client’s end product. We didn’t meticulously define all of the advanced features up front in the sales process, but allowed the flow of the project to determine feature definition in an evolutionary way.
Here are some other examples of agile project management process that can be inserted into a traditional waterfall approach:
- Allocating flexible portions of the budget for additional “features” outside of the main MVP
- Using the waterfall approach during the design phase, and then moving into an agile one for development by setting up sprints
- Seeking continuous feedback through A/B testing and SEO monitoring, working that feedback into sprint planning
At Windmill, we have found that leveraging elements of Waterfall and Agile project management can be extremely effective in the long term success of our client projects.