, 10 tweets, 2 min read Read on Twitter
Software development is so NOT carpentry. Carpenters around the world get very consistent results from known materials, tools, and processes. 1
It’s true, however, that carpenters generally are given definitive documents before they even begin. Blueprints. Detailed blueprints that describe in great detail exactly what the carpenter must build. 2
Maybe if developers were given detailed blueprints they could bring some predictability and repeatability to the software development process. 3
Unfortunately, there’s a nasty conundrum here.

The only sufficiently detailed blueprint for software development is…

wait for it…

code. 4
So, in order to make software development the reliable, understandable, predictable, repeatable process that we expect from other crafts such as carpentry, we’d have to code everything twice. 5
Code everything twice.

Once to learn what we are making and how to make it, and then a second time to make it good enough to actually be what we expect it to be. 6
Hmmm. A fairly quick, easy, and straightforward solution to the biggest problem in the biggest arena: software development.

It will never happen. Just ask yourself why. 7
I mean, writing code isn’t really all that hard. The difficulty arises from the mismatch between the level of detail in the specification documents and the level of minutia involved in coding. 8
And not the minutia in coding itself, but the minutia of the code’s behavior. That is, every diagram or sentence in any descriptive software design document might answer 5 or 10 possibilities, while the code needed to support it might address 50 or 100 possibilities. 9
The fact that we don’t know how to build software might—just might—have something to do with the fact that our software is eating our world. 10
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Alan Cooper
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!