In our last post we noted that many providers that were pushing suites, as well as many that want to compete with those vendors and push the envelope a bit, have stopped pushing suites and started pushing platforms as suites have started to show the cracks in their armour and everyone wants to sell the shiny, crack-free, solution. Hence the platform.
But what is a platform? Traditionally it is a raised platform for people, animals, and objects to stand upon. In the computing realm, it is commonly defined as a framework for software applications to run on. Which is a useless definition as “framework” is ill-defined and too vague to be useful.
So what is a framework? Traditionally, this is an enclosure or structure designed to support something, and the definition changes depending upon what you want to support. In computing, it could be a software framework — a collection of classes and libraries to support the development of applications with common functionality, an enterprise architecture framework — a configuration of software and communication protocols that support a pre-set class of applications and deliver models, and hardware frameworks that are pre-configured to support a specific software framework (OS, enterprise architecture, etc.).
And, as hinted in the previous paragraph, the problem is compounded by delivery models — on premise, hosted ASP (often disguised as SaaS), and SaaS (which could be multi-tenant at the application, database, or instance level, each with advantages and disadvantages), And then there is “the cloud” to consider and the extent to which the SaaS platform takes advantage of real-time scalability, fail-over, and back-up options.
When you get right down to it, there is not only no common definition of what a platform should do, but even what a platform is and what it should address!
And any definition that would be put forward by a vendor or analyst would likely need to change slightly depending upon what Supply Management processes are being supported.
So the answer is, at least for now, a “platform” is whatever the vendor wants it to be, and not necessarily what you need it to be. And while you might need a “platform”, you do not necessarily want the “platform” that any particular vendor is going to sell you.
And in order to figure that out, you are going to have to define what you need the “platform” to do, which will dictate some key requirements and help you select a “platform” that actually provides you with a solution versus just adding as many problems as it solves (like first generation suites).
So how do you do that?