Skip to content

Unit 1 — Software Processes & Life Cycles

Learning objectives

  • Compare plan-driven, iterative, incremental, spiral, and continuous-development approaches.
  • Explain why no single process is optimal for every context.
  • Relate process choices to risk, compliance, team size, requirements volatility, and release constraints.

Process as a feedback design

A process determines when a team receives feedback about requirements, design, implementation, integration, and user value. Long feedback cycles can make errors expensive to discover.

flowchart TD
    P[Plan-driven] -->|strong upfront coordination| S[Stable / regulated context]
    I[Iterative & incremental] -->|frequent feedback| U[Uncertain / evolving context]
    C[Continuous delivery] -->|automation + operations| W[Web/service context]

Common lifecycle activities

Regardless of process label, most projects perform:

  1. Specification.
  2. Design and implementation.
  3. Validation.
  4. Evolution.

The difference is how often and in what order these activities occur.

Selecting a process

Ask:

  • How stable are requirements?
  • How costly is a production failure?
  • How quickly can users provide feedback?
  • What evidence is required for approval or compliance?
  • Can the product be delivered incrementally?

Exercise

Compare a medical-device controller, a university course portal, and an early-stage social application. Which lifecycle practices should differ, and why?