Agile vs Waterfall, What’s the substantial difference?【Manifesto for Agile Software Development】
This article clarifies the differences between Agile and Waterfall, and points out Waterfall’s issues and the solutions, which is ‘Manifesto for Agile Software Development’.
＜＜ Related Posts ＞＞
- How to conduct a simple operation system development with Excel
- PMP, PMI and PDU – Differences and Newest Information about PMP’s Renewal Rules
- What are Agile, Scrum and Waterfall?
- Waterfall Development Steps
- The Issues in Waterfall
- What’s the ‘Manifesto for Agile Software Development’?
- Agile Development Steps
What are Agile, Scrum and Waterfall?
Hi, this is Mike Negami, Lean Sigma Black Belt.
Today’s topic is one of my viewers’ requests.
“Great master, do you have a video using templates with methodology of Agile, Scrum?”
Thank you, JC for your request. If anyone has any questions or requests, please do not hesitate to ask us.
He asked for a template, but before that, I would like to talk about what Agile is and the difference between that and its predecessor, Waterfall.
Agile and Waterfall are different approaches for IT projects. Meanwhile, Scrum is the most popular method in Agile. Agile and Scrum are usually used for software development, and not for other type of projects. However, their concepts are very useful and I’m sure that there is something there that you can use.
Waterfall Development Steps
In the past, everyone used to use Waterfall. A ‘waterfall’ always flows from the top to the bottom and never flows in the opposite direction. The Waterfall approach’s name came from that.
Here is the basic flow of this approach: Define customer requirements, make a basic design, then a detailed design and develop coding for the program. Conduct various tests and confirm that there are no problems, then release the program to the customer or the person who will operate it. Like a waterfall, this flow never goes backwards, only when something serious happens.
In general, projects like DMAIC in Lean Sigma and PMP that are done by companies other than IT companies, are conducted by Waterfall.
However, according to a study by a company in 2017, 94% of English-language software companies use Agile. In the IT industry, Agile is now common practice.
The Issues in Waterfall
Turning to Agile means that there must be a problem with Waterfall, mustn’t there? What problems were there?
It’s common that customers settled even when they are not satisfied.
With Waterfall, working programs are shown to customers when development is about complete. Also, since several months have passed since the customer ordered the deal, customers’ thinking may have changed. Even if there was some dissatisfaction at completion, because it would take considerable time and effort to rework the program, it was common that the customer settled for it as-is.
We can’t make a perfect plan, but the plan is absolute.
With Waterfall, you’ll spend a lot of time in planning and preparation at the beginning of the project. Because everyone will work according to the plan, this will be inevitable. It also takes time to manage the plan. Once the plan is complete, the plan is absolute and everyone follows the plan even if there may be some problems. Moreover, even if it’s usual that situations change and unexpected events come about. It’s hard to change the plan at that time.
64% of the Program Features are not used.
At an early stage of projects, even the customers often don’t understand what they really need. There are times that the program made after a detailed plan includes many unused functions. In other words, the project team’s time and action became wastes.
There was a study in 2002 before Agile spread saying “64% of the functions made were unused”.
What’s the ‘Manifesto for Agile Software Development’?
Agile was born in order to overcome these problems. However, the definition of Agile seems to vary among different people. There is a joke that if you ask 5 people for a definition of Agile, you will receive 7 definitions. Considering that, there is one thing I can say. When the Agile concept was born, Agile engineers at that time gathered and wrote the ‘Manifesto for Agile Software Development’.
Link to the ‘Manifesto for Agile Software Development’ ⇒ https://agilemanifesto.org/iso/en/manifesto.html
We have come to value: ‘Individuals and interactions’ over processes and tools, ‘Working software’ over comprehensive documentation, ‘Customer collaboration’ over contract negotiation and ‘Responding to change’ over following a plan.
They also wrote the ’12 Principles of Agile Software’. I put a link to the principles in this video’s description below, please check that too. The point is that achieving those principles is Agile.
Link to the ’12 Principles of Agile Software’ ⇒ https://agilemanifesto.org/iso/en/principles.html
Agile Development Steps
Let’s see the flow of Agile. Actually it’s conducted similarly to the flow in Waterfall. However, since it values ‘Individuals and interactions’, team members work at the same location. Then, they prioritize customer’s requirements, decide important functions, design, code and test each function, then complete ‘Working software’.
Since ‘Customer collaboration’ is important, they show the ‘Working software’ to the customers and have them check it immediately. This cycle lasting a few weeks is called ‘Iteration’. They respond to any modification requests immediately, accept new requests willingly, and repeat this ‘Iteration’ and complete the software by ‘Responding to change’.
Unlike Waterfall with which “you would make all the functions that you designed at the beginning”, with Agile, because of its ‘Customer collaboration’ and ‘Responding to change’, “you can make and provide only the functions your customer needs”. This is the definite difference between the Agile and Waterfall.
＜＜ Related Posts ＞＞