DEV Community

Cover image for Agile or Waterfall Methodology: Which One to Choose
Codica
Codica

Posted on • Originally published at codica.com

Agile or Waterfall Methodology: Which One to Choose

This article was originally published on Codica blog.

Web development uses different project management methodologies. Notably, agile and waterfall people compare the most.

In this article, we will discover a comparison of agile and waterfall, and their positive and negative aspects in detail.

Waterfall approach vs agile: what is in demand now?

Software development lifecycle (SDLC) is a single process that differs in the two most sought-after project management approaches. It’s about agile and waterfall.

As Statista’s data shows, 32% of respondents prefer the agile method in software development compared to 10%, who apply the waterfall approach.

Image description
Source: Statista

What is the Agile methodology?

As the State of Agile Report demonstrates, 95% of the interviewed firms practice agile.

Image description
Source: 15th Annual State of Agile Report

Agile project management is a web development approach that concentrates on flexible stages to achieve the aim. So, a team can make modifications and changes swiftly.

In 2001, the software developers group posted the Manifesto for Agile Software Development. The values of the Manifesto highlight the plasticity of development processes.

How does the agile model work?

The agile approach enables moving on a project in small steps. For example, in the Scrum approach they are called sprints. These are short periods of around a couple of weeks.

At the start of each sprint, a web development team defines the deliverables list. At the end of the sprint, the client and the team discuss the results and make notes for subsequent sprints.

Below is the framework with sprints demonstrated by Scrum.

Image description
Source: Medium

Pros of the agile approach

The agile methodology has such advantages:

  • Moving in small steps with iteration
    Agile approach means taking small steps.

  • Flexibility
    Agile teams are flexible, so, if needed, the project direction can be altered.

  • Opportunity of continuous improvements
    Communication in agile between the team and the client brings better end results.

  • Regular communication with client
    It helps to understand client’s requirements and simplify the development process.

  • Fast implementation of changes
    If changes are required, the team quickly makes them.

  • Quick product delivery
    The product with minimum features can be delivered to the market and gather user feedback.

Cons of the agile approach

  • Higher customer involvement
    Sometimes clients prefer to rely on the team.

  • Robust change management needed
    Due to changes of priorities in agile, some features will not be developed within the allotted time. Therefore, you may need reliable change management.

  • Frequent redesigning
    The agile development system will require redesigning to maintain its high quality.

  • Team location in one place can be impossible
    In agile, it is good for the team to be in the same place.

  • Self-management required.
    The team should be fully dedicated to the project development.

Best tools for agile development

  • Jira
    Project managers and developers use the Jira tool to accomplish and plan tasks.

  • Trello
    Trello enables users to write comments, attach documents, make checklists, and more.

  • ActiveCollab
    This tool comprises different features for task management, time-tracking, and more.

  • Axosoft
    This solution enables team members to make plans and plot process stages.

What types of projects does the agile approach suit?

The agile approach is best for projects where the features set is flexible, and projects with non-fixed budgeting.

Example of projects developed with agile

  • In 2011, volunteers in Wikispeed developed an eco-friendly auto using the lean startup and scrum methodology.

  • The agile approach helps the Jet Propulsion Laboratory, a research facility managed by NASA, handle the data obtained from the Mars Curiosity rover.

  • BAE Systems Australia, one of the largest defense suppliers in Australia, was upgraded by Atlassian and saved $600,000 in the first year of applying the agile methodology.

What is the Waterfall methodology?

The first description of the waterfall approach was made in 1970 by Winston W. Royce, who presented a detailed diagram. This diagram shows the core of this approach.

Image description
Source:Wikipedia

Each of the waterfall methodology phases starts after the previous stage is completed. And each stage should be approved before moving to the next. This is the main difference between waterfall and agile.

Also, the waterfall approach means that all the requirements are discussed at the start, unlike agile.

Pros of the waterfall approach

  • Straightforward planning
    The client and the team agree on the requirements at the start of the development.

  • Defined scope
    The full scope is represented at the start of development.

  • Defined duration
    The waterfall approach simplifies defining the time for project delivery.

  • Consistent software design
    The waterfall approach eliminates the need to correct the design.

  • Easier costs evaluation
    The waterfall allows estimating costs at once.

  • Clear measurements of progress
    Each completed phase means successful progress in product development.

  • Designated team roles
    The waterfall approach allows clarity in distinguishing the roles.

  • The team members can handle other tasks
    Throughout the development process, the team can handle different tasks.

  • A client is less involved
    The client is involved at the start and at the end of development.

Cons of the waterfall approach

  • Rigid structure of the project
    The waterfall approach doesn’t enable plan modifications.

  • Later testing
    The waterfall approach allows testing in the later development phase.

  • Difficulties with the delivery of big development projects
    There may be discrepancies between the needs and results.

  • Limited customer involvement
    It may lead to low customer satisfaction.

  • Clients find it difficult to understand the whole project
    Sometimes a client fails to understand some details.

Best tools for waterfall development

  • ProjectManager
    It allows tracking the task progress.

  • Smartsheet
    With it, you can create plans and track the progress of projects.

  • Mavenlink
    It is an online tool for tracking your tasks’ progress and checking the deadlines.

  • Zoho Projects
    This tool offers features, such as Gantt charts and billing recording on many projects at once.

Types of projects that the waterfall method suits

It is best to select the waterfall approach for a small-size single project with the defined budget and scope and when a client prefers predictable project management.

For instance, the waterfall is suitable for such domains as:

  • military,
  • construction,
  • healthcare.

Agile and waterfall: comparison

Below you can see an infographic showing how the development process is organized in both methods.

Image description
Source: sketchbubble.com

How to select between agile vs waterfall?

Use the agile method if:

  • Your requirements are flexible;
  • The scope of the project and features can be сhanged;
  • You want to be involved in the development process.

Use the waterfall method if:

  • Your requirements are not changeable;
  • The scope of the project is clearly defined and shouldn’t be changed;
  • You choose to rely on the development team.

Conclusion
Now, you have an idea of the agile and waterfall's positive and negative aspects, you can make the smart choice.

If you need to develop a solution and implement it using the most advanced project management practices, contact us. With our methods, we will bring the best outcome for you.

Discussion (0)