How a ‘random dude with a blog’ cut right to the heart of enterprise software failure

You can read all the predictable marketing material written by — or on behalf of — highly paid tech gurus. Sometimes it takes a self-described “random dude with a blog” to cut straight to the heart of the truth.

The random dude in question is Danny Tuppeny, a software developer in the UK who writes a rather geeky tech blog. This week, he wrote an extraordinarily honest post about the state of software that has sparked widespread discussion across the web. Everyone should read “Have Software Developers Given Up?” and ask himself: What does it mean to me and the future of my company? How are we serving our customers?

Here’s a meaty passage to give you an idea of his gist:

“The content of this post is aimed as much at me and the company I work for as the companies listed here. I think our industry has a real quality problem. I don’t entirely know what the solution is.

Over the last few years it feels like the quality of software and services across the industry is falling rather than climbing. Everything is always beta (both in name and quality). Things are shipped when marketing wants them to rather than when they’re ready because ‘we can easily patch them.’ End users have basically become testers, but it’s OK, because this is Agile. We’ve started coding to expect failure and somehow with it decided that failure is normal and expected and we don’t need to put so much effort into avoiding it. Supporting millions of customers is complicated so we don’t bother. Why waste time reading bug reports from users when you can just send them into an endless maze of help links with no contact information?

I never used to be this grumpy. The last few years I’ve seen so many ridiculous errors in software and on websites that I just can’t help but feel a little embarrassed about what we (as software devs) are unleashing on the world. I know we’re a young, inexperienced industry and that there aren’t enough skilled devs to go around but lately it feels like we’re really not even trying.”

Tuppeny follows his rant with a shocking series of errors and failed apps he encountered as a customer of various sites over a one-month period. He then concludes:

“That’s a lot of fail for just one month, and I’m sure there’s a lot more I didn’t have screenshots of. I can’t help but feel that as an industry we’re just not doing our best for our users. … I’m no stranger to commercial pressures causing things to be shipped before they’re done, but surely there’s room for improvement?

Or maybe it’s the end users fault? Maybe we don’t complain enough when things are bad, so companies have little motivation to improve?”

Any denizen of today’s internet — whether a techie or not — can identify with his frustration.

You know he’s right, and you know what he says applies to your company, too. Your company is not doing enough testing, you test too late in the SDLC, and the testing you do is neither rigorous nor realistic enough to real-life environments. And, you know you unleash not-ready-for-primetime apps on your customers to meet a schedule set by the marketing department.

It’s a crime, really, what you’re doing to your company’s brand value. And, it’s completely unnecessary.

Here’s a word of advice for Tuppeny and anyone else who might read his blog. Look into Service Virtualization.

The days of failing to test because you can’t afford staffing, dependent resources or time? Gone. The days of being unable to simulate the behavior, data and performance characteristics of dependent systems? Gone.

Yes, there’s more demand for software today than at any time in history. That’s no excuse for software to suck. It doesn’t have to be so. The research proves it.

We at the SV blog are glad that Tuppeny preached the gospel about bad software. Bravo, sir. The next step is to start talking about the solutions that exist today.