Discussion about this post

User's avatar
Frank Geisel's avatar

1. Correct me if I missed it, but I did not see anywhere the striving for "elegance" in design (many other references and documentation abound discussing "elegant design")

2. Here's a few 'heuristics' to consider:

Some heuristics for building a system

The conceptual phase:

• The choice between architectures may well depend upon which set of drawbacks the client can handle best

• Extreme requirements should remain under challenge throughout system design, implementation, and operation

• Don't assume that the original statement of the problem is necessarily the best or even the right one

• No complex system can be optimum to all parties concerned, nor all functions optimized

• A model is not reality

• Complex systems will develop and evolve within an overall architecture much more rapidly if there are stable intermediate forms than if there are not

• Build in and maintain options as long as possible

• Don't make an architecture too smart for its own good

The build and test phases:

• The product and process must match

• An element good enough in a small system is unlikely to be good enough in a more complex one

• Within the same class of products and processes, the failure rate of a product is linearly proportional to its cost

• High-quality, reliable systems are produced by high-quality architecting, engineering, design, and manufacture, not by inspection, test, and rework

• Regardless of what has gone before, the acceptance criteria determine what is actually built

• To be tested, a system must be designed to be tested

• Qualification and acceptance tests must be both definitive and passable

• The cost to find and fix a failed part (or software bug) increases by an order of magnitude as that part is successively incorporated into higher levels in the system

The operations phase:

• Before the flight, it's opinion; After the flight, it's obvious

• The first quick-look failure analyses are often wrong

• For every competitive system, there is a countersystem

• Success is defined by the beholder, not the architect

• There's nothing like being the first success

Systems Architecting: Creating and Building Complex Systems, by Eberhardt Rechtin, 1991

Expand full comment
Mark Palmer's avatar

Love this. My favorite line is: The problem with proofs of concept isn’t that they fail, it’s that they don’t scale

I also love your 55/5 design-to-doing ratio, which I just wrote about. HOWEVER I might add one dimension, which you certainly document nicely here: SHIPPING and STARTING OVER. That is, I think the danger of the 55/5 idea is that it might be interpreted as causing analysis paralysis, that you just sketch all day.

The longer view of creativity is more like a long assembly line of 55/5 sprints of work:

55/5---55/5---55/5---55/5---55/5---55/5---55/5---55/5---55/5---55/5---55/5---55/5--------

Something like that!

Expand full comment
4 more comments...

No posts