Incremental Model
Definition
The Incremental Model combines elements of the Waterfall model applied repeatedly: the software is divided into small, functional increments (builds), each designed, coded, and tested, and delivered one after another until the full system is complete.
How It Works
Increment 1: Requirements → Design → Code → Test → Deliver (core functionality)
Increment 2: Requirements → Design → Code → Test → Deliver (adds features)
Increment 3: Requirements → Design → Code → Test → Deliver (adds more features)
...
Each increment adds working, usable functionality on top of the previous one — the first increment typically implements the core/essential requirements.
Characteristics
- Requirements are known upfront and divided into groups
- Each increment is a mini-waterfall cycle
- Product grows incrementally with each delivery
Advantages
- Working software delivered early and frequently (starting from increment 1)
- Easier to test and debug smaller increments
- Lower initial delivery cost, faster time-to-market for core features
- Customer feedback incorporated into later increments
- Reduces risk compared to pure Waterfall
Disadvantages
- Requires good upfront planning to divide the system into increments
- Total cost can exceed Waterfall due to repeated overhead per increment
- System architecture must be well-defined early to avoid rework later
- Not all systems can be cleanly divided into increments
When to Use
- Projects with clear architecture but where early delivery of core features is valuable
- Medium-to-large projects where full requirements are known but full delivery would take too long
Exam tip: Draw increments as stacked mini-waterfalls delivering software piece by piece — and compare with Evolutionary model (Evolutionary refines the whole system repeatedly; Incremental delivers distinct pieces).