Choosing a Technology Platform
Today, technology is evolving so rapidly, and it is getting increasingly difficult to select the right technology platform from a myriad of technology choices.
This article was inspired by the questions and concerns shared by some of my clients regarding the criteria for selecting a core platform.
Platform selection criteria
The following factors should influence the selection decision for a core platform.
These factors will certainly have different priorities in different contexts, so it is best to first assess and prioritize them, and to get a holistic view of all the factors influencing the selection process of the target platform.
IT Strategy & IT Landscape
The platform of choice should conform to the overarching guiding principles set by the organization’s long-term strategic direction. For smaller companies, this could be as simple as following a cloud-first strategy.
Except for green field projects and simple software systems, chances are there will be existing assets in the organization’s IT landscape. These IT assets include disparate technologies, platforms, frameworks, and tools. In this case, the interoperability capabilities of the target platform should be assessed to see the possibility and ease of integration with those assets.
Architecture Structure and Engineering Practices
From a structural aspect, the target platform should be able to fulfill the requirements of the agreed upon architecture styles and engineering practices.
For instance, if it is planned to have a distributed architecture and to adopt DevOps as an engineering practice to realize the architecture, then the target platform should be designed to support this architecture style and it should be able to integrate with mainstream DevOps tooling.
Architecture Core Requirements
Following on the architecture path, the platform of choice should fulfill the key architecture functional requirements and key characteristics (security, compliance, extensibility,…) for a given software system.
To that end, my advice to my clients is to ask vendors or in-house sponsors to conduct POCs. I highly recommend to involve technical experts at this stage and to avoid generic, superficial POCs that will add very little to the decision making process, if at all.
The POC should be well-defined, it should be able to objectively verify the target platform’s capabilities and limitations against the architecture core requirements.
Technical Team Skillset
A skilled technical team will be required to develop and operate the target platform. Is this skillset available in organization’s team and in the market?
This is quite common pitfall for some organizations that put all of the focus on the target platform capabilities during the selection process and forget about the people aspect.
Adopting a platform with a handful of skilled people in the market can eventually lead to additional costs and delays in finding those rare talents, training internal teams, or worse, in replacing the platform when this skillset cannot be found.
Platform Maturity & Roadmap
Moving to the technology platform itself, how mature it is and where it is heading in the future.
A mature platform is one that has been in the market for quite some time with a proven track record, abundance of technical materials, an established company and/or a vibrant community behind it.
Further, it is also a good to see how closely aligned is the platform’s roadmap to the organization’s strategy.
I advise my clients that their research on potential platforms should rely on independent and unbiased case studies & references, as much as possible. These references should help in providing awareness about a target platform and its features, it shouldn’t be used as the only deciding factor for choosing a platform.
Cost & Cost Models
It is typical to have limited budgets within organizations for IT endeavors, so the cost factor will be a constraint in the platform selection process and it probably will take precedence over other factors.
The important point here is to be aware of all of those factors, and to consciously prioritize them with the key stakeholders in the organization.
For commercial platforms, the cost model could also play a role in selection process. For instance, an organization following a predictable CAPEX approach would prefer the platforms that supports purchasing their licenses in advance.
Moreover, organizations that have long-standing commercial agreements with vendors, would be more inclined to select their target platform from the same vendors, for convenience and potential cost savings.
Return on Investment
Money, time, and effort will be poured into adopting the technology platform. What are the key drivers behind the investment: is it productivity gains, additional revenue, cheaper implementations?
Those key drivers should be your compass that guides you through the platform selection process, it will put matters into perspective when assessing the decisions around the aforementioned factors. Importantly, it will keep the decision making process objective and justifiable to the business.