Veyo Technology: Waterfall vs Agile Methodologies
July 15, 2019
Ever heard the term “Waterfall” or “Agile” and wondered what they meant? In our ongoing deep-dive into the technology behind Veyo, our EVP of Technology, Michael Singer, discusses the differences between Waterfall Project Management and an Agile Framework.
Agile vs. Waterfall.
Like Einstein said, everything is relative.
Waterfall project management is great for projects that are focused on deploying an existing product or building products based on an existing blueprint. The Waterfall framework is focused on building a rigid, sequential project plan. Any unknowns or risks are budgeted into the plan, and the next phase of the plan can’t be started until the current phase is complete. There’s no going back and no skipping steps. Think of it like building a house: there are specific steps that must be done in a specific order. First you build the foundation, then the framing, then the electrical, then the walls, etc. Once you start setting up walls, you can’t go back and change the foundation without starting over at step one. Waterfall project management requires detailed planning and clear requirements. You can’t build that house if you don’t know how many floors it’s going to have. And it’s important to have clear documentation of the project steps and clear roles for each person on the project.
On one hand, waterfall project management allows for good visibility over the budget and timeline, because you know exactly how far you are in the plan at all times. Since the project plan is linear, you’ll always know how far you have to go and what phase you’re on. On the other hand, it means that any uncertainty in your plan becomes very expensive as it can throw off the schedule and budget for all future steps in the plan. In order to avoid scope creep, potential risks are identified in advance, but a change or unknown that pops up in the middle of your plan can lead to expensive change requests or expensive setbacks (e.g. if you have to change the electrical wiring after the drywall is up, you’ll have to redo the drywall). But waterfall project management does create a great framework for projects by splitting the project into well-defined phases. Plans can be reused for multiple projects and it’s easy to add in new team members when you’re working off a well-defined plan. So when would you use the waterfall method? If you’re deploying an existing product into a new market, the waterfall method would be a great choice. It allows you to plan for each known phase of the project, carefully control costs as you go, and is built to systematically review efforts after each phase.
If you’re creating a product that doesn’t already exist, an Agile framework may be a better fit. An Agile project is more like building an investment portfolio. Imagine you want to invest in emerging markets. It is probably futile to try and plan the exact contents of the portfolio a year in advance. The ability to “learn as you go” and adjust the project plan is essential to the success of an Agile project. You may not know if the project will be successful, and you may not know exactly what steps you’ll take, but like a savvy investor, you can start by investing a small amount. As confidence in the stock grows, you can continue to grow the portfolio and increase your investment. This doesn’t mean that you can embark on an Agile project without a plan or without adequate research, just as there is no logic in buying a stock without knowing anything about it. But it does mean that you are prepared to learn (in a structured and planned method) along the way and adjust your methods and project plan based on those learnings.
When you’re creating a product that doesn’t exist, the Agile process will allow you to begin development without having to know every feature that will be needed. Project steps are broken down into different sections, called iterations. At Veyo, we complete iterations in sprints – two week schedules that allow us to complete iterations from design to quality assurance (QA) on an ongoing schedule – using the scrum framework. This means releasing new features on an ongoing basis as they’re completed. Because the Agile process requires constant iteration – validating features and adjusting the process accordingly – you can be assured that your final product will have the best “mix” of features. And since project steps are broken down into small iterations, a change in direction – or a decision not to complete a feature – won’t throw off the whole plan or budget. The Agile process has definitely become one of the most popular project management methods, especially in the software development field. The ability to measure and learn as you go, change direction as needed, and remain nimble are all benefits of the Agile process.
While both Waterfall and Agile methodologies have a place in product management, it’s important to ask yourself a few questions before you choose one over the other:
- Is this a new product you’re creating?
- Are you launching an existing product into a new market?
- Will you be adding new team members along the way?
- What does your budget look like? Can it handle large changes or surprises?
- How often do you need to launch new features?
- How willing are you to change course based on your learnings along the way?
Honest answers to the above questions will dictate what method you choose for your product management methodology.