6 Comments
Feb 27, 2023Liked by Michael Woudenberg

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
Feb 27, 2023Liked by Michael Woudenberg

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

Wow. I haven’t thought about this in years. I was in Mechanical Computer Aided Engineering (MCAE) for years, (mechanical engineer here) we developed a solid modeling / plus software suite. It was used for designing things like brakes in cars and other auto parts, heat shields for NASA, America’s cup sailboat hulls. One of the biggest issues we faced with customers using the software was the lack of time defining the problem. It always amazed me how these designers completely forgot asking “why?” first. It’s one of the most important aspects of Engineering I taught my kiddo in our homeschool. He is an Aerospace Engineer working in that field now. The other two ideas I sent him out with: KISS (keep it simple stupid) and “reduce it to a known problem”. Old-timer sentiments.

I understood what you meant when you wrote “But does it scale?”, some may not. Might be a nice touch to define what “scale” means in this instance. Seems key to the ideas.

Good stuff.

Expand full comment