2.A] Explain the Incremental Development Process model with a neat diagram. Also, mention the benefits of this model compared to the waterfall model.
2.B] With a neat diagram explain Incremental process models and Evolutionary process models.
Answer:
Incremental Process Model:
The Incremental Process Model is a software development approach that delivers a working product in increments, with each increment adding new features and functionality to the previous one.
It focuses on delivering value to the customer early and often, allowing for feedback and adaptation throughout the development process.
Stages of the Incremental Process Model
- Communication:
- Project Initiation: Defining the project’s scope, objectives, and stakeholders.
- Requirements Gathering: Collecting and documenting the software’s functional and non-functional requirements for the first increment.
- Planning:
- Estimation: Determining the project’s budget, resources, and timeline for the first increment.
- Scheduling: Creating a detailed project plan with milestones and deliverables for the first increment.
- Modeling:
- Analysis: Analyzing the software’s requirements and creating a system design for the first increment.
- Design: Developing the software’s architecture, user interface, and database design for the first increment.
- Construction:
- Code: Writing the software code based on the design for the first increment.
- Test: Verifying the software’s functionality and performance through testing for the first increment.
- Deployment:
- Delivery: Delivering the first increment of the software to the customer.
- Feedback: Gathering feedback from users to inform the development of the next increment.
The process repeats for subsequent increments:
- The feedback from the previous increment is used to refine the requirements, design, and development of the next increment.
- Each increment builds upon the previous one, adding new features and functionality.
- The project continues in this iterative manner until the complete product is delivered.
Advantages of Incremental Process Model over Waterfall model:
- Incremental: Adapts to changing needs with early user feedback.
- Reduced Risk: Identifies and addresses issues early in smaller phases.
- Faster Delivery: Provides early working versions and prioritizes critical features
- Improved Quality: Early testing and continuous improvement through feedback.
- Efficient Resources: Scales staffing and focuses on key areas for each phase.
- Higher Satisfaction: Early customer involvement and meeting expectations incrementally.
Evolutionary Process Model:
The Evolutionary Process Model, also known as Prototyping, is a software development approach that focuses on creating a preliminary version of the software (a prototype) to gather user feedback and refine requirements before building the final product.
Stages of the Evolutionary Process Model
- Communication:
- Project Initiation: Defining the project’s scope, objectives, and stakeholders.
- Requirements Gathering: Collecting initial user requirements to create a basic prototype.
- Quick Plan:
- Planning: Developing a high-level plan for the prototype, focusing on core functionalities.
- Scheduling: Creating a timeline for the prototype’s development.
- Modeling:
- Quick Design: Creating a simplified design for the prototype.
- Construction:
- Construction of Prototype: Building a working prototype based on the quick design.
- Deployment:
- Delivery and Feedback: Deploying the prototype to users for evaluation and gathering feedback.
The process repeats in iterations:
- The feedback from users is used to refine the requirements, design, and construction of the next prototype.
- The process continues until the prototype evolves into the final product or serves its purpose of defining requirements.