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.

image

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

Managing Globally & Working Remotely [Case Story]

Monitoring the Project Progress and Budget on a task level, helps a remote team work more efficiently. Message Medium adhered to their work philosophy...

Read more

How Developers at Forecast Use Forecast

Building Forecast was directly inspired by the issues experienced by the founders of the company. Forecast was founded by four passionate professional...

Read more

How Sales and Customer Success at Forecast Use Forecast

For an inter-connected commercial team of marketing, sales, and customer success to work, having an effective shared collaborative platform is paramou...

Read more