Skip to main content

Why GUIs are built at least 2.5 times

https://patricia.no/2025/05/30/why_lean_software_dev_is_wrong.html

Generalized understanding of programs as factories is how we port the notion of "pipes and filters" around: what any given program produces as output can be used as another program's input.

With the "factory" metaphor we can visualize this in bigger programs (GUIs) as a production line.

Viewing things as "pipes and filters" assumes that the kind of input that is supplied will match the output.

When one thing goes into a factory, the output may be similar in shape to the input, but the output is quite different from the original input.

Example, given an encrypted string, you might put it through a decrypt step, then a trim step, and finally an email step. However, the outputs at each step are distinctly different: unencrypted but raw string, modified string, e-mail that may be HTML-based.

The author says that GUI design follows a similar pattern: a workflow is summarized and fed down the assembly line, a design is prepared and fed down the assembly line, that design is implemented with markup and code and output.

Author can't arrive to truly solid conclusion but parting note is that design goals should be to find out what should be built. Design iterations shouldn't be viewed as wasteful, only waste is pushing something out the door as soon as possible because people liked a mockup.