All Posts

Agile vs. Waterfall (Part 2 of 6). What is an Agile methodology?


Part 1: What is a Waterfall methodology?

Agile development model

The basic idea behind any agile development process is that it is iterative or cyclic in nature, meaning that the implementation of the software happens incrementally. There are a number of different iterative approaches in existence today e.g. ScrumKanbanRUPExtreme ProgrammingRapid Application Development, etc. As mentioned earlier I will focus on Scrum since this has gained the most media popularity amongst the methods.

Scrum is a way for teams to work together to develop a product. Product development, using Scrum, occurs in small pieces, with each piece building upon previously created pieces. Building products one small piece at a time encourages creativity and enables teams to respond to feedback and change, to build exactly and only what is needed.

The figure below shows an example of the Scrum approach towards software development.


Example of Agile with Scrum

Rather than creating all tasks and schedules up front, all time is time-boxed into phases called sprints. Each sprint has a defined duration, which is usually a few weeks, with a running list of deliverables, planned one sprint in advance. Deliverables are prioritized by business value as determined by the customer. If all planned work for the sprint cannot be completed, work is reprioritized and the information is used for future sprint planning.

In the figure it is seen that work is taken from an ordered list, the backlog, prioritized into sprints and then developed. Items at the top of the backlog are more refined than items further down. In order not to waste time and money, backlog items should only be expanded enough so that proper planning decisions can be made. For each backlog item, a user story, the implementation and testing is done in the sprint. 

As work is completed during each sprint, it is continuously reviewed and evaluated by the customer. All work that is completed should be defined as shippable, meaning that it shall work as intended and have been through testing. As a result, agile relies on a very high level of customer involvement throughout the project since they need to validate the functionality and accept that it works as intended. This cycle goes on until the product is complete and ready to be deployed or deemed acceptable by the business. 

Comparing this approach to the Waterfall development model, the business value is delivered constantly and at regular intervals, whereas the Waterfall model delivers all business value at the end of the project. By choosing the Scrum approach it can be easier to maintain control of the project with regards to cost, return of investment (ROI) and overall business value. It makes the project much more transparent. In a Waterfall approach it can often be extremely complex to see the total benefit of the project, until development is very close to being complete. This is not necessarily a bad thing about Waterfall though! More on that in the next posts.

Part 3: Cost, functionality and time.

Dennis Kayser
ABOUT THE AUTHOR | Dennis Kayser
My name is Dennis Kayser and I’m CEO and co-founder in Forecast. I enjoy helping our customers succeed by building great and innovative software that supports teams in their daily work.
Recent Posts

Buffer Post

This post has been published.

Read more

Smart Template for Your Statement of Work

Building your Statement of Work is the foundation for the rest of your project. It's also the sales proposal, or at least it should be, since it will ...

Read more

Forecast is Nominated for the Nordic Startup Awards 2018

We're honored! Honored to be elected as a nominee for the Nordic Startup Awards 2018 in the category, Best AI/Machine Learning Startup. 🙌 Many great ...

Read more

9 Steps to Plan Your Way Out of Scope Creep

Scope creep, one of the real challenges when managing a project. Often it hits you with a sneak attack, and before you know if it, your project is off...

Read more