, 12 tweets, 19 min read
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries Yes, “construction” is not a good term to use for software. However, neither are “engineering” nor “development” really helpful or accurate. I agree that software is fundamentally different. 1
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries And yet, software has to be conceived of, designed, engineered, and constructed. Those various parts of the continuous process by which software gets created tend to be very different in their goals, methods, and processes. 2
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries I’m as guilty as the next tweeter of trying to encapsulate this complexity in a tweet. Shame on me. It doesn’t work. But none of this detracts from the truth that software is built and we don’t really know how to do it well. 3
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries I happen to be a fan of steam propulsion. Up until about the 1940s—that is, up until a few years before steam power was killed by diesel power—no one really knew what made a good steam locomotive. 4
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries Sure, lots of steam locos were built and did useful work, but their shapes and sizes were a matter of local and personal lore. There were simply no engineering tools suited to the job of analyzing the multiple variants of a steam power plant in action. 5
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries But hauling passengers at high speed with frequent stops and starts up the Eastern Seaboard is a far cry from pulling long, slow drags of coal through the snowy midwest. So any one locomotive builder’s observations weren’t in any way generalizable. 6
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries Of course, by the time the Advisory Mechanical Committee at Lima Locomotive Works got a relatively scientific handle on how steam power plants worked, the challenge was moot. 7
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries But for a good hundred years, the vast majority of steam plants were constructed based on lore, habit, and unsubstantiated beliefs. The parallels to contemporary software design and construction are SCREAMING at us. 8
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries Most of the software built today is a lot like steam locomotives of the 1920s and 1930s. It works, and it’s powerful, but that’s all you can really say about it. Most people don’t like it, and those who build it aren’t very happy, and the managers who oversee it are <?>. 9
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries Throughout my career, I’ve cautioned against using analogies with software precisely because software is not the same as any other medium. But insights come when you view a thing through the lens of another thing. 10
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries So, I submit that software analogies are akin to what Eisenhower said about war planning: “Plans are useless, but planning is indispensable.” So in software, analogies are useless, but making analogies is indispensable. 11
@rvr @theitskeptic @CGLambdin @neil_killick @agileschools @jeffpatton @RonJeffries PS. I talked about some of these conundrums of software development at the Agile08 conference. My keynote talk and slides are presented here: medium.com/@MrAlanCooper/…
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!