Back

Difference between Agile and Waterfall

Waterfall is a heavy, hierarchical approach that emphasizes procedures and documentation along with the software life-cycle. When a software is developed through Waterfall it’s going to follow basically six stages:

Requirements: the team will gather all the requirements for the software to be produced through meetings and interviews with stakeholders, including the customer.

Design: this stage is when the software is going to be designed, to translate the requirements into wire-frames and user interfaces.

Implementation: phase to create the code to put into effect the software designed. This code is the essence of the software development, that is what gives ‘life’ to the software.

Testing: time to test the code created to make sure that everything works accordingly to the requirements and design.

Deployment: now the software is completed and tested and it can be placed on the market to be used.

Maintenance: the last stage is to fix and correct possible errors found down the road as well as to make improvements where needed.

In summary, Waterfall believes that each phase of the software development needs to be completed before the next phase can start, to deliver the whole product at once at the hand of ensuring that everything is well documented and approved by the stakeholders.

Now, Agile has some contrasts to Waterfall but also some similarities: it believes that is more important to produce small portions of the software and deliver it constantly, making room for changes throughout the way. It emphasizes people over processes, it gives the development team the autonomy needed so they can work according to their time estimation and knowledge.

 

Recommended Further Reading

The following materials may assist you in order to get the most out of this course:

Section 2: Using the Agile Manifesto to Deliver Change

Section 3: The 12 Agile Principles

Section 4: The Agile Fundamentals

Section 5: The Declaration of Interdependence

Section 6: Agile Development Frameworks

Section 7: Introduction to Scrum

Section 8: Scrum Projects

Section 9: Scrum Project Roles

Section 10: Meet the Scrum Team

Section 11: Building the Scrum Team

Section 12: Scrum in Projects, Programs & Portfolios

Section 13: How to Manage an Agile Project

Section 14: Leadership Styles

Section 15: The Agile Project Life-cycle

Section 16: Business Justification with Agile

Section 17: Calculating the Benefits With Agile

Section 18: Quality in Agile

Section 19: Acceptance Criteria and the Prioritised Product Backlog

Section 20: Quality Management in Scrum

Section 21: Change in Scrum

Section 22: Integrating Change in Scrum

Section 23: Managing Change in Scrum

Section 24: Risk in Scrum

Section 25: Risk Assessment Techniques

Section 26: Initiating an Agile Project

Section 27: Forming the Scrum Team

Section 28: Epics and Personas

Section 29: Creating the Prioritised Product Backlog

Section 30: Conduct Release Planning

Section 31: The Project Business Case

Section 32: Planning in Scrum

Section 33: Scrum Boards

Section 34: Sprint Planning

Section 35: User Stories

Section 36: User Stories and Tasks

Section 37: The Sprint Backlog

Section 38: Implementation of Scrum

Section 39: The Daily Scrum

Section 40: The Product Backlog

Section 41: Scrum Charts

Section 42: Review and Retrospective

Section 43: Scrum of Scrums

Section 44: Validating a Sprint

Section 45: Retrospective Sprint

Section 46: Releasing the Product

Section 47: Project Retrospective

Section 48: The Communication Plan

Section 49: Formal Business Sign-off

Section 50: Scaling Scrum

Section 51: Stakeholders

Section 52: Programs and Portfolios

Translate »