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:
Course Contents
Section 1: Agile Project Management
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