Skip to content

Therefore the most important function that software…

“Therefore the most important function that software builders do for their clients is the iterative extraction and refinement of the product requirements. For the truth is, the clients do not know what they want. They usually do not know what questions must be answered, and they almost never have…” quote by Frederick P. Brooks Jr
Download Open image
““Therefore the most important function that software builders do for their clients is the iterative extraction and refinement of the product requirements. For the truth is, the clients do not know what they want. They usually do not know what questions must be answered, and they almost never have thought of the problem in the detail that must be specified. Even the simple answer—"Make the new software system work like our old manual information-processing system"—is in fact too simple. Clients never want exactly that. Complex software systems are, moreover, things that act, that move, that work. The dynamics of that action are hard to imagine. So in planning any software activity, it is necessary to allow for an extensive iteration between the client and the designer as part of the system definition.””

Frederick P. Brooks Jr

About This Quote

This interpretation was drafted with AI assistance. It is one reading of the quote, not the author's own explanation.

Software development requires repeated cycles of gathering and sharpening requirements because clients often cannot articulate their true needs.

In simple terms: Clients can’t clearly define what they need, so developers must iteratively clarify requirements.

Key Takeaway

Embrace continuous client‑designer collaboration.

Themes

software development requirements gathering iteration communication uncertainty

Mood

thoughtful analytical

Type

advice reflective

When to use this quote

  • project kickoff meetings
  • user story workshops
  • prototype reviews
  • requirements validation
  • scope negotiation

Key Concepts

Systems thinking human‑computer interaction agile methodology

Questions to Reflect On

  • How can teams ensure each iteration adds real clarity?
  • What signs indicate a requirement is still vague?
A Different Perspective

If iterations are too few, the final product may miss critical needs.

★ ★ ★ ★ ★ No ratings yet

More by Frederick P. Brooks Jr

Explore all 61 Frederick P. Brooks Jr quotes

More Programming quotes

Browse all 6,477 Programming quotes