gypsydave5

The blog of David Wickes, software developer

The Industry Standard is Failure

So I tweeted this

And I’d like to expand on it.

First, when I say that the industry standard is failure, what I mean is that most software projects end in failure. Go on, go and do some googling.

Ok, you’re back. You probably found some stats and someone tried to sell you something. Joy.

So it looks like something between 50% and 70% of software projects end in failure for some meaning of the word “failure”: entirely cancelled, delivered over budget, underdelivered, delivered over time, delivered something so heinous that it put postal workers in prison - or some combination of these.

I’m not a statistician, or a researcher, or trying to sell something, so I’m not going to try and pick out the bits of latest research or analyse it. But I’m pretty confident that nobody thinks we’re winning here. We are failing more than half of the time.

If we’re going to change that in any meaningful way, we cannot carry on reinforcing the status quo. We cannot accept the consensus opinion without scrutiny.

One of the pain point here is how we judge the success of technology or technique in software development. We judge it, not on whether it helped a project to succeed, but rather on whether it is ‘popular’. How often it appears in a CV, the number of GitHub stars, the ‘buzz’ on Twitter (currently known as X) or Reddit or Hacker News.

Sadly this becomes self-fulfilling: a technology is standard because it’s popular, and popular because it’s standard. Add this to the ignorance of recruiters and the pressure on the jobs market, and you’ll get to a situation where developers will be lobbying to use a technology just to get it on their CVs. I know I did.

But ultimately when a developer says that pull requests are industry standard or that Spring is best practice, or React is the only thing to use in the frontend - they’re not basing this on evidence. At best, it’s popularity. At worst, it’s just the way they’ve always done it and it just seems ridiculous to try something else.