/ 22nd July, 2016

Agile vs Waterfall Project Management: Which one to choose?

Successful software development requires a decent project management strategy. When it comes to a project management, Waterfall and Agile are two words immediately popping up in our minds. This is for a reason, as they are the most famous and widespread methodologies in IT world.

What do these strategies consist of? What are their pros and cons? And the most important question: what is the difference between Agile and Waterfall and how to make the right choice? At Eastern Peak Software we have prepared some explanations for you.

Waterfall (Traditional Project Management)

Historically Waterfall was the first one to appear. However, it had nothing to do with software, which in fact didn’t even exist at the time. It was the methodology of manufacturing and construction. It was (and still is) strictly structured, based on a careful planning, which is divided into certain stages. We will explain how it works in terms of software development.

Waterfall Stages

The stages in Waterfall are following each other and growing from each other, in a determined order.

 

It is a stage of conception, literally, here is when the count starts.

1.Initiation

The future product specifications are made. The product owner clarifies how the software is supposed to work and specifies the technical and business details.

2. Analysis

The task is to find the best means to realize the idea. Researchers explore the market and competitors’ products, successful or not successful at all. It is necessary to find out what features will be beneficial and should be implemented.

3. Design

In Waterfall it is a holistic and separated from the development process. Designers are working on what is called big design up front, basically creating front end for a totally unknown back end.

Waterfall requires a careful documentation of each step, so designers have a lot to do. When this stage is over, there is no going back, everything has to be ready and perfect, nothing can be changed later on.

4. Development

The actual coding is taking place. Developers cannot change the design, so they have to adjust to what they have, not forgetting about extensive documentation, of course. There is usually no testing on this stage as it turned into a new stage.

5. Testing

When the product is tested, there is again no going back. Only very little changes can be made.

6. Actual production and maintenance

Waterfall advantages

Waterfall disadvantages

Being a huge plus, careful planning can be a minus as well, as too much time is spent on things that could be done in the process. The same situation is with extensive documentation. Very often it is a waste of time.

Designers are not aware of what the developers are going to do. And developers cannot make the designers change anything in case there is a need for that. It makes the project risk-averse and decreases the value of end product.

Because of this poor visibility, lack of awareness, other issues arise. The client doesn’t know his project until the testing stage when it is too late to make alterations.

To sum up, the waterfall strategy is often too rigid to follow the market demands nowadays.

What does Agile mean?

Agile has come as an opposite to Waterfall, originally intended as a way to overcome the Waterfall’s shortcomings. On the contrary to Waterfall, it doesn’t have any strict stages, as they are cross-related and repeating.

Stages of the Agile process are not separated as in Waterfall:

 

Designers collaborate with developers, who code and work with testers to ensure the quality. The research is done not only at the very beginning but is constantly being performed. The main point is to make the software development process flexible and iterative to the maximum.

The product owner is observing the whole process, being in charge of the business part, as all the participants have to be aware of the business goals and objectives in Agile planning. Did you know that 66% of all project failures are caused by miscommunication between business and development? (According to Forrester Research)

Have you heard of Agile Manifesto?

What is Agile Manifesto? It is a set of rules used as the main philosophy of this method and as a basis for many Agile methodology tutorials and Agile Project Management training. It proclaims that individuals and interactions are over processes and tools; working software is over comprehensive documentation. Also, it encourages such things as adaptive planning, extreme development and early delivery.

Advantages of Agile

Disadvantages of Agile

Still there are some problems that you should be aware of and which should be avoided if possible.

For example, neglecting the documentation. Right, in Agile there is no time for such things, but still it is necessary to back up what you’ve done and to keep the record of things. Besides, Agile often lacks overall project design.

Agile can also be not systematic and difficult to understand, because everything is happening at once. For example, when too many changes are made in the process, the initial requirements risk to be forgotten. Therefore, experienced product managers are the must when working in Agile.

Our advice is also not to play for time when there are technical hitches but clear the reasons immediately. Also it is essential to be realistic in your expectations, as placing too many tasks on one sprint worsens the quality of your results.

Agile vs Waterfall: How to make a choice?

The methodology you choose for your business determines the future of your business. Approximately 80-145 billion dollars annually are spent on project management failures in IT (According to The Standish Group International Inc.). Surely you wouldn’t want your business to be among them.

Keep in mind that Waterfall is good for those software projects, where all requirements are fixed and there is a clear picture of the end product. Agile is applicable in the cases when your end product is aimed at the industry with constantly changing standards and you will need to make additions right in the middle of the process.

What is better in your own case? If you need any help, you always can contact our specialists.

bool(true)
Exit mobile version