Introduction & SDLC · Software Engineering

Code-and-Fix Model

Watch lectures

Code-and-Fix Model

Definition

The simplest (and oldest) software process: developers write code based on a rough idea, then fix problems as they're discovered, with no formal planning, design, or documentation phase.

Steps

  1. Build a quick version of the product
  2. Modify it (fix bugs/add features) until the customer is satisfied
  3. Repeat step 2 as needed
  ┌─────────┐      ┌──────┐
  │  Code   │ ───▶ │ Fix  │ ───▶ (repeat)
  └─────────┘      └──────┘

Characteristics

  • No requirements analysis or design phase
  • No formal testing plan
  • Documentation, if any, is an afterthought
  • Fast to get something running initially

Advantages

  • Very fast for small, simple, or throwaway programs
  • Minimal overhead — good for prototypes, student projects, quick scripts
  • No process overhead needed for trivial problems

Disadvantages

  • Not scalable — becomes unmanageable as size/complexity grows
  • Expensive to maintain — no design means every fix risks breaking something else
  • No way to assess progress or quality objectively
  • High risk of poor structure ("spaghetti code")
  • Directly associated with causing the software crisis when used on large projects

When to Use

  • Small, one-off scripts or experiments
  • Prototypes meant to be discarded
  • Never recommended for large-scale, production, or safety-critical software

Exam tip: Often asked as "the oldest/most primitive model" — contrast directly with the Waterfall model's formal phases.

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

Code-and-Fix Model — Software Engineering — PYQDeck