As technology leaders renew their business operations and rebound from the current crisis, the onslaught of new technologies poses fundamental questions – which technologies are safe bets? How should technology leaders make informed decisions to future proof their investments? What does ‘survival of the fittest’ mean when we draw the technology landscape?
Although it is a tall order, I aim to provide a generalized mental model to simplify the process of technology selection. The mental model can be applied to any specific technology domain such as cloud and automation. The idea is to provide an actionable framework for evaluation rather than evaluating specific technologies.
Analyze technology choices through 3 lenses – adaptability, abstraction and agnosticism.
Let us define these terms first before we dive deeper into each of them.
Adaptability: The ability to meet the needs of changing business and technology demands.
Abstraction: The degree to which the technology abstracts the underlying complexity.
Agnosticism: The extent to which the technology is vendor-agnostic and platform-agnostic.
See Figure 1
Businesses can only move fast if their technologies can adapt quickly to the changing economic and geopolitical environments. Therefore, technology leaders should invest in technologies that adapt quickly to future business needs.
To quote Klaus Schwab, the WEF chief who said, “In the new world, it is not the big fish which eats the small fish, it’s the fast fish which eats the slow fish”.
For instance, the recent ban on specific technology providers or the need to build a remote operating model shows why we must select technologies that rapidly adapt to new business demands.
How can we measure adaptability?
Technologies that are software-defined or support a software-defined environment have a high degree of adaptability. Software-defined technologies lend themselves well to supporting API-driven environments – be it in the form of programmable infrastructure or orchestrating SaaS-based workflows.
Software defined technologies enable organizations to be agile as they encourage an “everything-as-code” architectural paradigm. For example, applying an “as-code” approach to infrastructure, networks and security policies exponentially improves business agility and makes them malleable and adaptable to change. By being software-defined, these technologies can consume and expose APIs, thus, enabling systems to evolve and expand their capabilities.
Technology evolution (for the most part) is about adapting to changing requirements.
Historically, abstracting away complexity has been the single biggest driver for all technology innovation.
What constitutes abstraction?
At its core, abstraction stems from the need to simplify. This takes two forms –
- Reduce repetitive work that makes it needlessly complex (let us call it ‘toil’)
- Transition from tasks to workflows.
Let us take some examples. Cloud-native technologies aim to abstract away infrastructure related complexity. Managing infrastructure involves lot of repetitive work most of which does not add value. Serverless technologies emerged from the need to abstract away the complexity involved in managing and scaling infrastructure. Likewise, Lowcode/no-code technologies aim to abstract away the complexity involved with application development. Both these examples illustrate how abstraction takes away the grunt work associated with low value tasks.
The idea of workflows presents another layer of abstraction. Without workflows, users must deal with independent and disjoint tasks. However, tasks in and of themselves hardly yield any meaningful business outcome. Meaningful business outcomes require a cohesive workflow, not a set of disparate tasks. Therefore, technologies that support workflow orchestration instead of task automation deliver greater business impact. They enable the creation of business-centric workflows in lieu of technology-centric tasks.
Technology evolution (for the most part) is about enabling higher layers of abstraction.
The third important consideration in evaluating technologies is the level of agnosticism. Technology agnosticism plays out in multiple ways. However, the most common indicators are open-source and industry standards. Open source prevents rapid technology obsolescence primarily due to network effects of a supportive ecosystem. The strong ecosystem support also means that open-source technologies can adapt and thrive as users demand new capabilities.
Let us take Kubernetes as an example. Kubernetes is one of the fastest growing open source software projects. The charts below show the developer velocity tracked across three metrics: number of authors, number of pull requests and issues, and number of code commits .
A standards-based approach to technology adoption goes hand in hand with open source affinity. Take for instance, FIDO, a passwordless authentication standard that started off as an initiative by the FIDO alliance, but is now accepted as a W3C standard (WebAuthn) for strong authentication. While multiple proprietary mechanisms exist to support passwordless authentication, using a W3C standard ensures portability across browsers and platforms.
Technology evolution (for the most part) is about moving from closed systems to open systems.