Scales of cities, scales of software An Article by Linus the Sephist linus.coffee American cities seem like a product of industrial processes where older European cities seem like a product of human processes. This is because most American cities were built after and alongside the car and the industrial revolution – the design of cities took into account what was easily possible, and that guided the shape and scale of everything. Software has similar analogues. There are software codebases that feel much more industrially generated than hand written, and they’re usually written in automation-rich environments fitting into frameworks and other orchestrating code. …But despite the availability of cars, I still much prefer the scale and ambiance of European, human-scale cities, because ultimately cities are places humans must inhabit and understand. In the same way, I still much prefer the scale and ambiance of hand-written codebases even in the presence of heavy programming tooling, because ultimately codebases are places humans must inhabit. urbanismsoftwarescaleindustry
evermore, and other beautiful things An Article by Linus the Sephist linus.coffee If all evidence of civilization on Earth was destroyed, and humans had to re-build society from the ground up, what would be different? Feynman reckons that pivotal scientific moments, like the discovery of the atom, will still happen in the same way. Perhaps mathematics will be similarly rediscovered. Someone told me once in response to this question, no artwork would ever be recreated. The art we create – music, stories, dance, film – isn’t a fundamental element of the universe, or even of humanity. It’s unique to each artist. If you choose to create art, you leave something in the world that has never had a chance to exist before, and will never again have a chance to exist. There will never be another Beatles or Studio Ghibli or Picasso. Art, in its infinite variations of originality, is cosmically unique in a way the sciences will never be. Art immortalizes human experiences that would otherwise vanish in time. artsciencehumanitysociety
What's Wrong With This Model? A Chapter from The Design of Design by Frederick P. Brooks, Jr. What's wrong with the rational modelDeciding what to designEvaluating goodnessChanging constraintsThey just don't work that way+1 More
What's wrong with the rational model We Don’t Really Know the Goal When We Start We Usually Don’t Know the Decision Tree – We Discover It as We Go The Nodes Are Really Not Design Decisions, but Tentative Complete Designs The Goodness Function Cannot be Evaluated Incrementally The Desiderata and Their Weightings Keep Changing The Constraints Keep Changing Changing constraintsDeciding what to designThe situation talks back
Deciding what to design We Don’t Really Know the Goal When We Start The most serious model shortcoming is that the designer often has a vague, incompletely specified goal, or primary objective. In such cases, the hardest part of design is deciding what to design. I came to realize that the most useful service I was performing for my client was helping him decide what he really wanted. Today, we recognize that rapid prototyping is an essential tool for formulating precise requirements. Not only is the design process iterative; the design-goal-setting process is itself iterative. Knowing complete product requirements up front is a quite rare exception, not the norm. Therefore, goal iteration must be considered an inherent part of the design process. What's wrong with the rational model iteration
Evaluating goodness The Goodness Function Cannot be Evaluated Incrementally The Rational Model assumes that design involves a search of the decision tree, and that at every node, one can evaluate the goodness function of several downward branches. In fact, one cannot in general do this without exploring all the downward branches to all their leaves, which is possible in principle, but leads to a combinatorial explosion of alternatives in practice. What's wrong with the rational model
Changing constraints The Constraints Keep Changing The explicit listing of known constraints in the design program helps here. The designer can periodically scan the list, asking, “Can this constraint now be removed because the world has changed? Can it be entirely circumvented by working outside the design space?” What's wrong with the rational model constraints
They just don't work that way Perhaps the most devastating critique of the Rational Model, although perhaps the hardest to prove, is that most experienced designers just don’t work that way. “Conventional wisdom about problem-solving seems often to be contradicted by the behavior of expert designers. Empirical studies of design activity have frequently found ‘intuitive’ features of design ability to be the most effective and relevant to the intrinsic nature of design. Some aspects of design theory, however, have tried to develop counter-intuitive models and prescriptions for design behavior.” — Nigel Cross
We must outgrow it Why all this fuss about the process model? Does the model we and others use to think about our design process really affect our designing itself? I believe it does. I believe our inadequate model and following it slavishly lead to fat, cumbersome, over-features products and also to schedule, budget, and performance disasters. The Rational Model, in any of its forms, leads us to demand up-front statements of design requirements. It leads us to believe that such can be formulated. It leads us to make contracts with one another on the basis of enshrined ignorance. A more realistic process model would make design work more efficient, obviating many arguments with clients and much rework. The Waterfall Model is wrong and harmful; we must outgrow it.