Why is “Bug-free” so Hard for Large Systems?

Let us compare a large software system to a group report in school.

Here are the quality requirements for your school report:

  1. Perfect Grammar
  2. Perfect Spelling
  3. Zero Logical Fallacies
  4. Zero Typos
  5. Consistent Voice
  6. Adheres to the Style Guide (e.g. MLA, APA, or Chicago)

Here are some of the facts of the report:

  1. It is over 1000 pages long.
  2. You only wrote 10% of it while the other 90% was written by others.
  3. It was written and edited over the course of several years.
  4. A new Style Guide is chosen every few months.
  5. The teacher changes the report’s topic every month.
  6. Instead of one due date, the report is re-graded every few weeks.
  7. New sections are required for every grading.
  8. After every grading, old sections are returned with edit notes that must be applied.

Easy or Hard? 😛

And of course, we cannot forget this concept:


Why is “Bug-free” so Hard for Large Systems?