Agile vs Waterfall, What is the substantial difference?【Manifesto for Agile Software Development】

Agile vs Waterfall, What’s the substantial difference?【Manifesto for Agile Software Development】

(Duration: 7:00)

 

<< Related Videos >>

 

What are Agile, Scrum and Waterfall?

 

Hi, this is Mike Negami, Lean Sigma Black Belt.

 

Today’s topic is one of my viewers’ requests.

 

Video Request on YouTube

“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.

 

Waterfall Development Steps

 

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.

 

Agile Adoption Rate in 2017

*From VersionOne’s 11th Annual State of Agile Report in 2017

 

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”.

 

Usage of Program Features in 2002

 

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’.

 

Manifesto for Agile Software Development

Link to the ‘Manifesto for Agile Software Development’  ⇒ http://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’ ⇒ http://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’.

 

Agile Development Steps

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.

 

Thank you very much for viewing. Please click the ‘Subscribe’ button. Also click and watch my other related videos. Thanks.

 

Related posts: