Summary : Waterfall vs Agile
Which method is right for your projects ?
Types of Software Development
Predictive vs Adaptive
Predictive — requirements are fixed.
Adaptive — requirements can be changed.
Incremental vs Iterative
Incremental — develop separated parts & combine into one, final product.
Iterative — develop many improved versions of product.
Waterfall
strictly do as plan, step by step, cannot skip or undo.
V-Model
Waterfall with earlier validation
Incremental Model
Multiple Mini-Waterfall.
Sashimi Model
Overlap-able Waterfall.
Gate Phase
Checkpoints that decide if you can go to next step or not.
Limitation of Waterfall
- need to do step by step.
- product can be usable only when final step is completed.
- if product is not what user really want, it may be too late to change.
Waterfall vs Agile
Waterfall — Predictive, Incremental.
Agile — Adaptive, Incremental & Iterative.
Agile
Agile is mindset, not model or framework !!
The primary goal of being Agile is empowered the development team the ability to create and respond to change in order to succeed in an uncertain environment.
Framework to implement Agile
Scrum
A framework that helps teams work together.
Scrum encourages teams to learn on their wins and losses to continuously improve.
- Sprint Planning
- Sprint Backlog
- Daily Scrum Meeting
- Released Work
- Sprint Review
- Sprint Retrospective
Kanban
A visual system for managing work as it moves through a process
The goal of Kanban is to identify potential bottlenecks in your process and fix them
Kanban vs Scrum
Scrum
- Divide work into time-box events called sprints.
- Set number of tasks before starting sprint.
- Release product at the end of each sprint.
- Cannot change requirements during sprint.
Kanban
- Continuous workflow.
- Have maximum task in each stage of workflow.
- Have flexible time to release product.
- Can change requirement any time.
Scrumban
Combination of Scrum & Kanban.
Extreme Programming
Aim to produce higher-quality software more productively.
- Pair Programming.
- Test-Driven Development.
- Continuous Integration.
Lean
Get desired product to customers’ hands faster.