Lecture 07: The Incremental Process Model
Unit 2: Software Development Life Cycle (4353202)
Lecture Agenda
- Recap of the Waterfall Model
- What is the Incremental Model?
- Detailed Working of the Incremental Model
- Advantages of the Incremental Model
- Disadvantages of the Incremental Model
- When to Use the Incremental Model
- Summary and Q&A
Recap of the Waterfall Model
The Waterfall Model is a sequential, linear SDLC model where each phase must be completed before the next. It is simple and documentation-heavy but inflexible, making it suitable only for projects with very stable and well-understood requirements.
What is the Incremental Model?
The Incremental Model is a software development process where the product is designed, implemented, and tested in small, successive stages called "increments." Each increment builds upon the previous one, adding new functionalities until the complete system is delivered.
Unlike the Waterfall model, which delivers the entire system at once, the Incremental model delivers working software in parts, allowing for early user feedback and adaptation.
Detailed Working of the Incremental Model
- Initial Planning: The overall system architecture is designed, and initial requirements are identified and prioritized. The system is broken down into smaller, manageable modules or increments.
- Increment Development: For each increment, a mini-Waterfall-like cycle (or another suitable process) is followed: requirements for that increment are gathered, designed, coded, and tested.
- Integration & Testing: The newly developed increment is integrated with the previously delivered increments and thoroughly tested to ensure compatibility and functionality.
- Deployment & Feedback: The working increment is deployed (or released) to users. Crucially, user feedback is collected and incorporated into the planning for subsequent increments.
- Iteration: This cycle repeats for each planned increment, with new features being added and existing ones refined based on feedback, until the full system is built.
Advantages of the Incremental Model
- Early Delivery of Working Software: Users get a functional version of the software much earlier, providing tangible value and allowing for early adoption.
- Flexibility and Adaptability: It is more accommodating to changing requirements. Feedback from early increments can be easily incorporated into later ones, reducing rework.
- Reduced Risk: High-risk functionalities can be developed and tested in early increments, allowing for early identification and mitigation of potential problems.
- Easier Testing and Debugging: Testing is performed on smaller, more manageable increments, making it easier to identify and fix defects.
- Customer Satisfaction: Continuous delivery of working software and active involvement of customers lead to higher satisfaction.
Disadvantages of the Incremental Model
- Requires Good Planning and Design: Despite its flexibility, a clear overall system architecture and a well-defined plan for breaking down requirements into increments are essential.
- Interface Management: Managing interfaces between different increments can become complex, especially if not well-designed initially.
- Higher Total Cost (Potentially): The overhead of multiple cycles (planning, testing, integration) can sometimes lead to a higher overall cost compared to a perfectly executed Waterfall model.
- Scope Creep Risk: Continuous feedback can sometimes lead to uncontrolled expansion of features if not managed properly.
When to Use the Incremental Model
The Incremental Model is best suited for projects where:
- Requirements are **clearly understood but can be modularized** into independent functionalities.
- There is a **need to get a basic working product to the market early**.
- The project has a **long development schedule** and can benefit from phased delivery.
- The project involves **high-risk features** that can be developed and tested early.
- **Customer feedback** is crucial and needs to be incorporated throughout the development process.
Summary and Q&A
Key Takeaways
- The **Incremental Model** delivers software in **small, usable increments**, building functionality over time.
- It offers **flexibility, early delivery, and reduced risk** compared to the Waterfall model.
- Requires **strong initial planning** and careful **interface management**.
- Ideal for projects where **requirements can evolve** and **early user feedback** is valuable.
Q & A
Questions & Discussion

