Kill Your Platform… Again and Again…
Okay, now that I’ve said that having a platform can stifle innovation, let’s talk more about the baggage that comes with one.
Like any legacy code, platforms can become “brittle” (a phrase I heard quite a bit in my last two stops) over time, which requires constant tinkering and patching to keep things moving forward. Platforms become even more exposed if they were repurposed mid-life to do something different, like, move from client-server to web, or on-premise to SaaS.
I understand the desire to migrate IP as paradigms shift - I even believed in this approach for a long time.
I don’t anymore.
There are a few things that have changed my mind.
I have seen the issues with leveraging a legacy platform that wasn’t designed from the very beginning to address today’s needs. Performance and scalability always seem to be a problem, which makes sense. What used to be the golden standard, “enterprise scale” of up-to hundreds of thousands of users is no match for what I’ve been calling “cloud scale” of millions of users in thousands of organizations.
Furthermore, architecture choices that made sense in the past don’t always work in today’s social and collaborative world. For example, the 2000-era architectural assumption of strict isolation of companies — whether you call it a partition, VPD or realm, it’s all the same — makes it difficult to collaborate and aggregate information across companies (it also was a way for engineering to cheat thinking through how to configure multiple business units or orgs within the same enterprise, but that’s for another post).
Finally, with the ability for good engineers to rapidly code applications with today’s open source tools and capabilities (Ruby-on-Rails, PHP, etc.), I am still amazed how quickly new, innovative apps can be built from scratch. And these tools continue to improve and mature, which makes leveraging your old hairball even less sense.
An interesting recent example of not leveraging a platform is Google+. Remember when it was first released? The only thing that really integrated G+ with the rest of the Google platform was its use of Google Accounts for identity (and that navigation bar — not sure if I like it even now). Everything else was standalone - at least it looks that way from the outside. Google was even mocked for rolling out G+ without search (and now that it has, the FTC is interested…), but they were able to get their social network out quickly and add integrations along the way.
I’ve also heard from various contacts and acquaintances at Google that they essentially have a new platform every 2-4 years, which allows them to take advantage of advances in programming, tools and approaches.
Of course the counter-example to Google is Oracle and their Fusion Apps long march. That’s for later.