This vendor-written piece has been edited by Executive Networks Media to eliminate product promotion, but readers should note it will likely favour the submitter's approach.
The digital era is upon us. Enterprises that view software development as a costly overhead and not a competitive capability will struggle. To participate and thrive in this digital world, enterprises must learn to adapt to the uncertainties of our time-get new products to market faster, enhance current products quickly and efficiently, and provide customers with meaningful digital experiences.
To accomplish these goals your enterprise needs to integrate agility/adaptability into three areas: people, process, and technology.
People need to be comfortable with experimentation and change. Processes need to be iterative and enhance learning. Technology, including technical architecture, needs to support rapid delivery of products and services.
Tech agility can't be ignored-agile people and agile processes can't make up for clunky technology.
But as a senior executive, in a world awash with new technologies, what technology should you pay attention to?
The answer to this question is clouded by technologists who are constantly talking about seemingly arcane topics. Which arcane topics need executive attention? One of the most important is microservices. Here's why.
Microservices impacts people, process, and technology: team organisation, processes and practices like DevOps, and realigning architecture to fit the problems we solve rather than by technology layers. Microservices fosters adaptability in each of these areas. It's worth executive time to understand their potential contributions.
The microservices architecture style, featuring extremely small services deployed independently from one another, was popularised by companies like Netflix. Each service contains a discrete bit of business functionality, which is technically isolated from the other services, creating a Lego effect: developers can swap a service for a new one without breaking other services. Like giant Lego models, which can have 75,000 pieces, large digital applications can be built from these Lego-inspired services.
This architecture has some clear benefits. First, each service is highly decoupled from other services, meaning that they are self-contained. Thus, technical changes in one service (for example, a data structure change) cannot affect another service. The services still communicate via messaging, but no service is allowed to modify details of another service.
Second, because developers don't need to share infrastructure, they can implement each service in a technology stack suitable to the complexity of the problem. Given the complexity of today's technology stacks, the ability to use simple tools for simple problems and complex tools for complex problems, all in the same application, gives development teams increased flexibility and reduces cost. Leaders value technologists who can elicit the simple from the complex.
Third, each service encapsulates business functionality, making it easier to form teams around a particular problem domain rather than split by job function. For example, service teams typically include developers, business analysts, DBAs, operations, and QA-everything needed to build and deploy the service. This, in turn, cuts down on coordination cost.
Sign up for CIO Asia eNewsletters.