Is software development an engineering discipline? It’s certainly nice to think of it in that way. Indeed, it’s a topic I covered in the first article I ever wrote, back in 1994 — titled Craft or Science? Software Engineering Evolution. “This article presents how far software development has come, explaining how, although software engineering not yet a truly “engineered” process, it is certainly en route to becoming so,” I said. And indeed, it remains en route.
At it exists in this nether land, at one end highly mathematical and at the other, decidedly abstract, the world of software lends itself to a variety of ill-defined, yet still valid concepts. For an extreme example of this I remember an old colleague, Martin, talking to a client about how to measure a successful user experience. “It needs to be, you know, hm,” he said, delivering a very positive “hm”. I know, right? Completely vague. Yet “hm” became a touchstone for the rest of the conversation.
And so we find ourselves bandy-ing around words such as ‘experience’, or ‘architecture’ or whatever, none of which can ever have a concrete definition because they are not being built on a grammatically complete foundation. Speaking of which, we have ‘platform’, at once a word that makes perfect sense and one which is too generic to mean anything at all. It’s been around for a while: at the risk of digressing (heavens, no!) it was one of my first job titles.
As a pre-amble, something you may find if you live in a foreign country for any length of time is that you start losing grasp of your mother tongue. After we had spend a year or so in France, we would find ourselves speaking Frenglish, or worse, a mode of speech which would make no sense in either language. I’m racking my brain to think of an example but trust me, it caused house of fun.
When I found myself responsible for the software development environment (hardware and software), I was given a title in French (Responsable, Gestion de Moyens Logiciels) and asked to come up with my own in English. Naturally, the title Platform Support Manager seemed to make perfect sense, even though it didn’t make any sense at all. Sure, I was supporting the platform… no, I wasn’t, that makes it sound like I was carrying some wooden structure on my back. But I was supporting the plate-forme of tools.
Platforms have become more popular: we are, today, in the ‘platform economy’ in which companies can rise from nowhere and scale rapidly based on cloud-based infrastructure and open source. Just a handful of years ago, the term was used slightly differently, referring to companies who provided all the software elements corporations might need. I remember, back then, having a ‘debate’ about whether Microsoft was a platform company; I was told it wasn’t. Microsoft was certainly trying not to be, at the time. But it just made sense, to me, to think about it in that way.
More recently I’ve been thinking about how to break the terminological deadlock around ‘digital transformation’ (and apologies for banging on about it as I get my thinking straight). I’m starting to believe the answer lies once again in the notion of platforms, but this time in terms of how enterprises think about their IT infrastructures. I could say more, but I appear to have run out of space and besides, it probably deserves a blog of its own, without the clutter of reminiscence.
So, for once, I will stop. Thanks for reading!
P.S> You know I said ‘More smart shift”? I lied, sorry! There’s always next week…