Back to the 2025 paper

Module 1: Introduction & SDLC

20257m

Explain Software Development Life Cycles. Compare the Waterfall Model and Agile model of software development.

Worked SolutionAI Assisted

Software Development Life Cycle (SDLC) + Waterfall vs Agile

SDLC — Phases

The Software Development Life Cycle is a structured process for developing software. Its phases:

  1. Communication / Requirement Gathering — collecting user & system requirements, feasibility study.
  2. Planning — project planning, estimation, scheduling, risk analysis.
  3. Modeling / Analysis & Design — analyzing requirements; producing design (architecture, data design, interface design).
  4. Construction / Coding — implementation of the design in code (unit testing during coding).
  5. Testing — verification & validation, defect fixing (integration, system, acceptance).
  6. Deployment / Delivery — installation, release, user training.
  7. Maintenance — corrective, adaptive, perfective, preventive changes after delivery.

Any SDLC model arranges these phases in a particular order with particular feedback.

Waterfall Model

  • Linear-sequential: each phase must be completed before the next begins; no overlap; document-driven.
  • Phases: Requirements → Design → Implementation → Testing → Deployment → Maintenance (with strict phase-exit gates).
  • Advantages: simple, disciplined, well-documented; works when requirements are fixed and clear; easy to manage milestones.
  • Disadvantages: no feedback loops; late discovery of requirement/design errors is costly; not suitable for uncertain/volatile requirements.

Agile Model

  • Iterative-incremental: the product is built in short sprints/iterations (1–4 weeks), each delivering a working increment.
  • Principles: customer collaboration over contract negotiation, working software over comprehensive documentation, responding to change over following a plan; continuous feedback, self-organizing teams, daily stand-ups, frequent releases (Scrum, XP, Kanban).
  • Advantages: adaptable to changing requirements; early and continuous delivery of value; high customer involvement; risks visible early.
  • Disadvantages: less emphasis on documentation; requires close/full-time customer availability; hard to scale/estimate precisely for very large distributed projects.

Comparison table

Aspect Waterfall Agile
Approach Linear sequential Iterative & incremental
Requirements Fixed/known upfront Evolving; change welcomed
Customer involvement At milestones Continuous throughout
Delivery Single release at end Frequent working increments
Documentation Heavy/documented Minimal ("just enough")
Feedback Late (after phase) Each iteration
Best for Stable, well-understood projects Dynamic, evolving requirements
Risk handling High risk if delayed discovery Risks surfaced early per sprint

Similar questions

AI LearningWeb Platform

Coursify — Personal AI Course Generator

Struggling with a difficult subject or concept? Turn any engineering topic into a structured course with interactive lessons, quizzes, and research-backed explanations.