Re-reading Fred Brooks's '77 "The computer scientist as tool-smith" after chat with , really struck by the connection with this Christopher Alexander quote: "the only way to achieve good fit between any design and its requirements is to find misfits and remove them…"
Conversation
Does he mean to literally remove misfits or adapt the design for the requirement better, so there isn't a misfit?
1
Brooks probably would have two answers:
- "Build one to throw away; you will anyways" only by building a real system to the requirements become apparent
- Iteratively adapt the design to the discovered constraints (see his Brooks' Design of Design [2010])
1
1
Show replies
This Tweet is from an account that no longer exists. Learn more
Oh my goodness I love this take <3
** good fit is the absence of all misfits** is a great thought for iterative solutions
1
Certainly suggests that we should prioritize prototyping, designing many different solutions because some of them will certainly prove to be misfits!
1
after reading Alexander, i keep reorienting my furniture to find the right “fit”
1
1
I lament that we don't have the "building systems" necessary to reorient our entire homes.
Have you read "The Responsive House"?
worrydream.com/refs/Alexander
1
1
Show replies
via negativa.
Quote Tweet
An obvious point that took me way too long to appreciate: in software engineering, you should probably optimize for speed even when you don't have to, because it's one of the easiest/best ways to prioritize subtraction and parsimony in the solution space. nature.com/articles/d4158.
2
Replying to
Brooks on "why iterative design:"
-We don't really know the goal when we start
-The design decision tree isn't known; we discover it
-Nodes aren't design decisions, but tentative complete designs
-Fitness can't be evaluated incrementally
-Goals and constraints change continually
2
1
11
Exploring the design space produces tentative complete designs (an embodiment of trade-offs under constraint) and **you have to have a somewhat complete design in order to evaluate fit**
3






