Out of the Software Crisis

A Weekly (at least) Newsletter on Software Development

The Dream of Avoiding Failure

We all dream of working on software projects that make a difference but all too often the apps barely even run.

Over budget and buggy, we’re lucky if the services address even a part of the problem they’re supposed to.

Everything keeps changing, it feels like we’re constantly chasing after a moving landscape—Red Queen style. We dream of stability.

But There is No Stability

Everything keeps getting better but our endless chase after these improvements leads to bugs, delays, and burnout.

Stability is Something We Create

We work within a software development community using a variety of systems. We choose the systems. We choose how to change them.

What we need is to be thoughtful about it because, if those innovations are truly innovative, they’ll still be there a few months down the line.

The Out of the Software Crisis Newsletter aims to be your guide to a more systemic perspective on software development. It isn’t trying to sell you a specific system. There are many and most of them work. It isn’t trying to sell you a single platform or language (though, I am a web developer, so most of my examples will be from that world). It will help you think critically about established practices and sceptically about the new.

Modern software development is mostly broken: it comes unassembled out of the box and we need to figure out how to assemble it.

I can’t tell you exactly how to assemble your particular software development system, but I can help you find the questions to ask so that you can discover it yourself.

The Bonus Essays

Join the newsletter and get access to a PDF of three bonus essays from the book, Out of the Software Crisis:

Either join the newsletter, or subscribe to the Feed.

Join the Newsletter

Subscribe to the Out of the Software Crisis newsletter to get my weekly (at least) essays on how to avoid or get out of software development crises.

Join now and get a free PDF of three bonus essays from Out of the Software Crisis.

    We respect your privacy.

    Unsubscribe at any time.

    Highlights from the Archive

    Trends in software development are rarely based on objective observation or sensible practice. This endless chasing of trends leads to projects being needlessly rewritten, code being abandoned, and new projects being started when fixing the bugs in an old project would have done the same.

    Programming is a Pop Culture

    Programming without a guiding paradigm is just random and haphazard code. You have a process, experienced developers, and great research, but without a controlling paradigm, you are unlikely to be able to integrate them into a functioning software development system. You will need a paradigm if you’re going to get anything done. The easiest way to get there is to use a framework.

    WTF is a Framework?

    Constant churn in a software development team, both among the programmers and designers, is absolutely devastating. It is the death knell for a software project. Makes deadlines meaningless. It turns software into a disposable, single-use product like a paper towel. Anything that increases team member churn threatens the very viability of the project and the software it’s creating.

    Theory-building and why employee churn is lethal to software companies

    Software has always been bad, but many of the hardships of poor software have been lost in a haze of nostalgia. These apps may have been better designed, but they also didn’t have to account for as much variety in screen sizes or inputs. Most of them didn’t support proper multitasking, and stability was next to nonexistent. They crashed, a lot. Accessibility just wasn’t a thing. Admiring retro software is like admiring the architecture of a classic building while forgetting that it’s a condemned deathtrap and every other building like it burned down, killing every inhabitant.

    Great apps are rare

    Most online debates have this same underlying purpose. You debate with the intent not to change your mind: you participate specifically to clarify your views through opposition. The counter-arguments of your adversary purify your own and arm you against future attempts to change your mind.

    The Single-Page-App Morality Play

    For medium, large, and grand projects, the success rate is only in the 6-12% range. For most project sizes that we are likely to deal with in the industry, we’re back in “90% of all software projects fail” territory. Even moderate projects (too big to be small, too small to be medium) only succeed 24% of the time. The only reason the final number hovers around 30% is that it turns out that we are damn good at making small software projects: 61% are successful.

    Software Crisis 2.0

    A recurring problem specific to software development is that many of the popular features that people keep asking for have a detrimental effect on the quality of their actual work.

    Nobody gives a hoot about groupthink

    Yet, we in tech and software development still venerate the tech elite, the billionaires, the VCs even though they have been wrong about everything that actually mattered.

    Ways of reading without the influence of community

    The weblog ecosystem was built entirely around extracting value from Adwords. For a few, it was a springboard to launch something else. A few writing careers got off the ground. But the vast, vast majority was just Adwords. Weblogs as social media? A sideshow. Weblogs as a unique medium? Incidental.

    The Open-Source Software bubble that is and the blogging bubble that was

    This is, unfortunately, somewhat of a pattern, especially in tech. People substitute good behaviour and practices with talking about good behaviour. Instead of writing good code, they talk about writing good code. Instead of holding structured meetings, they write about holding structured meetings. Instead of treating all of their coworkers fairly, they write about treating them fairly.

    You are what you do, not what you say or write

    The Book

    Software projects keep failing, not because we don’t have the right team or tools but because our software development system is broken.

    The book Out of the Software Crisis is a guide to fixing your software projects with systems-thinking making them more resilient to change and less likely to fail.

    The AI Book

    What are the major business risks to avoid with generative AI? How do you avoid having it blow up in your face? Is that even possible?

    The Intelligence Illusion is an exhaustively researched guide to the risks of language and diffusion models.

    Join the Newsletter

    Subscribe to the Out of the Software Crisis newsletter to get my weekly (at least) essays on how to avoid or get out of software development crises.

    Join now and get a free PDF of three bonus essays from Out of the Software Crisis.

      We respect your privacy.

      Unsubscribe at any time.