Introduction & SDLC · Software Engineering

Evolutionary Model

Watch lectures

Evolutionary Model

Definition

The Evolutionary Model develops software through repeated cycles (iterations), starting with a simple initial implementation and progressively refining it based on feedback, rather than trying to fully specify the system upfront.

How It Works

Initial Version → Get Feedback → Refine → Next Version → Feedback → Refine → ... → Final Product

Each cycle produces a more complete/refined version of the software, incorporating lessons learned and evolving requirements.

Two Common Variants

  1. Incremental Development — build the system in functional pieces, each adding new capability
  2. Iterative Development — build a complete but basic version first, then refine/improve it in successive iterations

Characteristics

  • Requirements are allowed to evolve during development
  • Early versions are usable, even if incomplete
  • Development and feedback happen in a continuous loop

Advantages

  • Handles changing/unclear requirements well
  • Customer gets to see and use working versions early
  • Reduces risk since problems surface early via feedback
  • Flexible — accommodates new insights as the project progresses

Disadvantages

  • Harder to plan and manage (unclear when it will "finish")
  • Can lead to scope creep if not controlled
  • Difficult to measure progress precisely
  • May need more powerful management/monitoring than Waterfall

When to Use

  • Projects where requirements are not fully known upfront
  • Long-term systems expected to evolve over time (e.g., large enterprise systems)

Exam tip: Distinguish clearly from Incremental Model — Evolutionary emphasizes continuous refinement of the whole system, while Incremental delivers separate functional pieces over time.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Software Engineering modules