Bulletin 28 June 2019. On software artefacts and why we need to relearn the basics, Part 17

Being cynical about cynicism

Where did it all go wrong? A reader and old friend called me out last week: “You have officially become a grumpy old geezer,” he told me, and quite right too.

Aspiring analysts take note, you can get an awfully long way with cynicism, which is right and proper given how much of the industry seems to be driven by naive optimism and assumptive hype.

Nonetheless, it can become more then a little wearing to be cynical all the time, like some end-of-bar bore who has seen it all before. “It’s just management,” one might say, or “It’s never going to work.” Etcetera.

There’s a fine line between pointing out the weaknesses in a position, and just being a bore. And besides, sometimes things are not as simple as they appear: generally, there will be a reason why the same things seem to come round again.

Often it is because they aren’t the same things, not quite, so it becomes a case of working out what the differences are. Microsoft had the tablet computer form factor nailed long before Apple, for example… but it didn’t have Jony Ive (and a thousand others) to smooth the lines and bring in the requisite minimalism.

A second reason (which I have covered before) is that every generation needs to have its own epiphanies. And thirdly, sometimes, something happens that causes everything to have to be sorted out from scratch.

Example: management of software artefacts. I was at the DevOps Enterprise Summit this week, and was lucky to be party to a number of fascinating conversations… one of which revolved around this topic. I know, right?

In my first job, almost 32 years ago, I was a programmer, which meant writing lines of code. Rather than having everyone doing their own thing in a corner, all that code was managed using a tool called SCCS — source code control system, if I recall correctly.

(Did I say it was 32 years ago yet?) But it makes sense (right?), to have a place to manage all that code-y stuff, otherwise the situation would be a bit chaotic, right? When I left my programming job, I became a software configuration management specialist, which was all about this stuff. Call me dull but I quite like it.

Quiet at the back. and fast forward to 2019, when a conversation with major financial institutions is about how important it is to manage source code… and how bad they are at it. They never meant to be, but the problem just, kind of, snuck up.

So, we have choices at that point. Call them all idiots, which is of no help whatsoever (and removed the log from thine own eye). Listen cynically to the epiphanies, in the most patronising way possible. Or indeed, think about the root causes of what made a bunch of smart people end up in a singularly un-smart situation… which might help do something about it.

I have been thinking about them, and my money is on… the Web. What started as just a bit of markup language (that’s the ML in HTML) has become the backbone of many software applications and services.

In turn, just as nobody bothered to manage web pages as though they were code, so we ended up with a massive set of programs, none of which anyone thought would need to be managed as software. And now, here we are, where that point is obvious but knowing it doesn’t solve the problem.

Sure, let’s be cynical, but (as with many things happening today) it was a lone, quiet voice that saw it coming in advance.

All the best, Jon

P.S. Apologies (even if none are needed) for the brevity of this edition but I am in the midst of moving house. Analogies abound, if only I had time to write them all down.