If there is any method which helps organisations complete their projects, it is Agile and Waterfall. Both of them are sound and robust however each of them have their differences and similarities. They take different ways to reach that finish line.
Waterfall is more like a traditional and sequential way to project management that gives you a finished product just when the project is finished.
Agile is rather an interactive approach to project management that ultimately gives you a product in terms of increments instead of all together at the end of a project.
In this blog, we will be discussing the advantages and disadvantages of both Agile and Waterfall in a comparative format.
Comparison between any two things can get tricky. Especially if you are looking at more than one site. Fortunately, we have considered some of the best comparison tools and points and formulated a table just for you. We put together easy to understand points based on input from Kurt Bittner who is the vice President of enterprise at scrum.org.
- It has an iterative phase, each one allowing forward and backward movement as required.
- It’s primary goal is to make a minimum viable product or the MVP and then lead to iteration to improve it.
- The scope and approach is undefined before the starting of the project.
- The budget updates are based on feedback from each increment or alternatively, it can also be set.
- The same goes for the schedules too. The updates are based on feedback from each increment or alternatively, it can also be set.
- Progress measurements: minimum documenting and it is measured against the availability of the MVP.
- Agile is more focused on the end user outcomes and the end results.
- The working product is typically available in the early phases of the project.
- The phases being linear, each of the phases of the project is completed before moving on to the next one.
- The primary goal is to make a completed product.
- The scope and budget is well defined before starting the project.
- The budget is set based on defined scope.
- The schedule is also based on defined scope.
- The progress measurements are well documented and measured along with the plan.
- The success management is primarily based on whether the project was delivered on time, plus if it is within budget and to scope.
- The working product is typically not available until at least the testing stage.
Pros and Cons
Agile projects are cheaper and can be delivered more quickly. They give increased flexibility and less predictable results because of the uncertainty and unclear nature of a lot of the project characteristics.
Waterfall projects are more expensive than Agile. They take a longer time to deliver. They are less flexible but then because of the certainty and rigor waterfall forces teams to employ and results in products which are typically of a higher quality. They are more likely to be taken as ‘completed’.
Use cases – Agile VS Waterfall
Waterfall projects are suitable for situations that have very low uncertainty in both the solution and the requirements. According to Bittner, Waterfall is almost totally not able to deal with uncertainty. He says “It can be dealt with anyway but a change through a formal change management process has to be brought. The result is going to be costly and painful and it is not intended to deal with a lot of changes.”
So because of this nature of waterfall, it is more suited for projects where the functionality cannot be delivered in pieces. The CEO of TechLoris, Shayne Sherman says “When what can be delivered is offline software that can not be updated easily, it becomes very important to get to deliver a fully developed project. In our case, a waterfall is best as it would ensure that the product is fully functional and complete before it is delivered.”
Contrary to this, Bittner mentioned that Agile initiatives are ideally suited for development of products and services for new markets. This is where the needs of customers cannot be defined upfront and when the approaches that team uses to meet the particular needs of those customers can’t be defined upfront. “Agile is more suitable for conditions of high uncertainty. It works the best with small that is with less than 10 people, and cross functional teams. Larger problems always should be broken down into smaller increments”.
We have an example from Sherman here and he says that Agile is a good fit for projects that involve websites and online apps. “in such cases, the product is constantly delivered to customers. As soon as the product can give value to a customer, it is delivered. In this way, we can incorporate feedback from the customers on the future developments and give a quick push to the updates and to the products for constant development”.
Challenges – Agile
You can have projects that work better with Agile but Bittner calls attention to the some struggles a few companies face in bringing this method. The problem always lies in the fact that their company is built on a waterfall.
There are four main struggles, as mentioned by Bittner:
- Very few individuals have the broad skills required to work on agile teams because they are organised into skill based teams.
- It gets tough to dedicate people to one single team because they are used to having people working on many projects.
- They hold faith in the certainty of the requirements and the infallibility of the plans. They believe it is possible to define all the requirements up front. A skilled project manager can make an accurate plan.
- Their career development ways are also organised by the functional silos. This can be with little or no appreciation for people with cross functional skills. Therefore the promotion model hints towards the waterfall model and vice versa.
So there was a quick question. Can there be an Agile-Waterfall Hybrid approach? The answer remains to be a bit unclear. You could use both of them. You could employ waterfall at the beginning of your projects and then switch to agile when you’re executing the project.
Waterfall requires that everything be defined at the starting and agile initiatives typically address any unclear or unsolved problem where you can define everything up front.