DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • Incident Response Guide
  • Integrating AWS With Salesforce Using Terraform
  • Database Integration Tests With Spring Boot and Testcontainers
  • Boosting Application Performance With MicroStream and Redis Integration

Trending

  • Incident Response Guide
  • Integrating AWS With Salesforce Using Terraform
  • Database Integration Tests With Spring Boot and Testcontainers
  • Boosting Application Performance With MicroStream and Redis Integration
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Waterfall vs. Agile (Part 2): Development and Business

Waterfall vs. Agile (Part 2): Development and Business

There are so many differences between Agile and Waterfall that it takes a three-part series to cover it all.

Alberto Gutierrez user avatar by
Alberto Gutierrez
·
Jun. 15, 10 · Opinion
Like (1)
Save
Tweet
Share
28.87K Views

Join the DZone community and get the full member experience.

Join For Free

We saw in the previous article the main differences between agile and waterfall. In the following articles we are going to take a deeper look by focusing on the four main actors in software development: Development, Business, QA, and Management. This article will start with Development and Business. 

Development

Development is made up of activities (coding, unit testing, etc) and the team members (developers, architects, etc) who are in charge of producing the code of the application. It excludes QA, which will have its own section in the next article.

Architecture and Design

In Waterfall, the Architecture and Design phases are considered the most critical ones.

It encourages the team to create an architecture upfront that will fulfil all the requirements of the application. This focuses a lot of resources and energy at the beginning of the project. 

The main arguments used by waterfallists to try to get the architecture right at the beginning are:

  1. The design integrity of the application is unchanged throughout the development.
  2. It helps to prevent finding later in development that the architecture is not fit for purpose.

Agile, on the other hand, is based on the assumption that uncertainty is so common and change so large, that no upfront architecture/design can possibly be right or fit for purpose further down the line. Agile therefore takes an iterative, keep it at as simple as possible, refactoring approach to architecture/design.

Integration

Agile has a big focus on integrating the application components as soon as possible (it actually encourages a releasable product by the end of each iteration), and building functionality rather than modules. Agile focuses so much on integration, even though it may be seen as a minor part of software development, because it is usually one of the most troublesome parts.

Waterfall, on the other hand, focuses more on completing technical modules highlighted by the initial architecture/design. This usually causes a lot of trouble and deviation in the plan because of issues related to integrating the components of the application.

Process and philosophy

Agile is philosophically very close to Lean as it promulgates many principles to avoid waste, for instance, having as little documentation as possible. It is also very strong on engineering practices (TDD, pair-programming, refactoring, etc), open door management, and self-managed teams, affirming that the core of software development are the people itself.

Waterfall is more documentation and process oriented. It does not trust people as agile does, but instead provides checks and measures to control them.

Business

The Business in this article refers to all the actors that influence the approval of the final product, and/or in charge of providing requirements to development.

The main difference, from a business perspective, between Agile and Waterfall is the degree of involvement.

In a Waterfall project, the Business provides the requirements at the beginning of the project and sometimes approves the budget and the schedule. At the end of the project, they need to validate that all the requirements have been met.

In agile, the engagement is much bigger. The Business is involved in the development of the application because requirements are gathered and changed on a daily basis. The Business is also required in an agile project to validate the application at the end of each iteration as opposed to waiting until the application is complete.

In the next article...

In the next article (link below), we will continue to look at the differences between Agile and Waterfall from the perspective of the two remaining classic structural areas of software development: Management and QA.

Further Reading

Waterfall vs. Agile: QA and Management

Agile vs. Waterfall: Which Will Work Best for You?

agile waterfall application

Opinions expressed by DZone contributors are their own.

Trending

  • Incident Response Guide
  • Integrating AWS With Salesforce Using Terraform
  • Database Integration Tests With Spring Boot and Testcontainers
  • Boosting Application Performance With MicroStream and Redis Integration

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: