“When you start out in your career, you have a blank canvas, so you can paint anywhere that you want because the shit ain’t been painted on yet. And then your second album comes out, and you paint a little more and you paint a little more. By the time you get to your seventh and eighth album you’ve already painted all over it. There’s nowhere else to paint.”
Eminem. (on Rick Rubin and Malcolm Gladwell’s Broken Record podcast)
To each their own. Personally, Eminem’s music has never done it for me, whether his first or eighth album, but the quote above did strike a chord (awful pun).
It takes many, many hours to paint in the detail of an OSS painting. By the time a product has been going for a few years, there’s not much room left on the canvas and the detail of the existing parts of the work is so nuanced that it’s hard to contemplate painting over.
But this doesn’t consider that over the years, OSS have been painted on many different canvases. First there were mainframes, then client-server, relational databases, XaaS, virtualisation (of servers and networks), and a whole continuum in between… not to mention the future possibilities of blockchain, AI, IoT, etc. And that’s not even considering the changes in programming languages along the way. In fact, new canvases are now presenting themselves at a rate that’s hard to keep up with.
The good thing about this is that we have the chance to start over with a blank canvas each time, to create something uniquely suited to that canvas. However, we invariably attempt to bring as much of the old thinking across as possible, immediately leaving little space left to paint something new. Constraints that existed on the old canvas don’t always apply to each new canvas, but we still have a habit of bringing them across anyway.
We don’t always ask enough questions like:
- Does this existing process still suit the new canvas
- Can we skip steps
- Can we obsolete any of the old / unused functionality
- Are old and new architectures (at all levels) easily transmutable
- Does the user interface need to be ported or replaced
- Do we even need a user interface (assuming the rise of machine-to-machine with IoT, etc)
- Does the old data model have any relevance to the new canvas
- Do the assurance rules of fixed-network services still apply to virtualised networks
- Do the fulfillment rules of fixed-network services still apply to virtualised networks
- Are there too many devices to individually manage or can they be managed as a cohort
- Does the new model give us access to new data and/or techniques that will allow us to make decisions (or derive insights) differently
- Does the old billing or revenue model still apply to the new platform
- Can we increase modularity and abstraction between modules
Read the Passionate About OSS Blog for more or Subscribe to the Passionate About OSS Blog by Email
“The real reason “blockchain” or “AI” may actually change businesses now or in the future, isn’t that the technology can do remarkable things that can’t be done today, it’s that it provides a reason for companies to look at new ways of working, new systems and finally get excited about what can be done when you build around technology.”