In our previous post, we went into depth about the conceptual backbone of Agile. In short, it’s a progressive mindset predicated on empowered roles and fluid plans set to a regular “heartbeat” with the goal of delivering a product more focused on customer needs.
Within this Agile umbrella, we further dived into some of the main principles and philosophies that make it tick. This includes the 12 Principles of the Agile Manifesto, as well as key methodologies such as Scrum, XP, Lean, and Kanban. Overall, the driving forces are fairly consistent: quick results, customer centricity, streamlined management, and smart development.
Now, however, we narrow our scope further by asking an essential question:
What scalable platform technologies have allowed companies like Netflix and Uber to dominate their market?
To come up with an answer, let’s take another look at our Digital Engine image. In this post, we’re examining the inner circle of the Engine, which contains three primary digital tools for implementing Agile ideas.
Your organisation probably already has a portfolio including hundreds of different applications, some PCs, some cloud-based subscription services and others hosted on-site. The level of integration between all these tools likely varies considerably.
Your current set of initiatives may entail looking at Data Warehousing or Business Intelligence to identify some kind of "layer" for exposing information in a readily digestible format so that people can make better decisions regarding the organisation's performance.
This alone is not enough to fully enable a "digital" transformation. Yet, the principle of providing a layer that exposes such information is certainly a foundational pillar, which you can supplement with the provision of:
- An API library
- Micro Services
- An Application Platform.
Digital means showcasing your data not only in internal reports but also for consumption outside the organisation. For example, a hotel may display its room availability so that an aggregator such as booking.com can fill rooms on its behalf.
API stands for Application Protocol Interface. These programs allow consumers on any device to check timetables, weather reports, stock indices, etc… Basically whatever proprietary information your company generates.
These features are best enabled through standard sets of connectors that allow other applications to access the information contained in your databases. Whether you’re downloading or uploading specific sets of information, these APIs are a documented set of instructions and keys that provide consistency and control.
Creating a library of these APIs vastly reduces the lead time for suppliers and customers accessing your systems without any resulting reduction in security. Whilst there is an investment up front, the marketing department can rest assured that the next time a supplier requests access to customer records, they can grant it with shorter notice and much less development.
Not so long ago, processes such as receiving an invoice, managing sales opportunities, and dispatching stock were hard-coded into massive Enterprise Resource Planning applications. Therefore, changes to that process sometimes required significant upheaval of the ERP system’s configuration; quite often, it required intricate customisation.
To avoid this, you can apply a Service Oriented Architecture to the way you view your portfolio of applications. This is done by decomposing a set of business processes into modules or blocks of code called micro-services that can be reused and repurposed for a variety of different contexts. They can also share information between them, enabling you to link them together to form a process. If there is a change to the process, the links of each service can be appropriately reconfigured.
Imagine: As your company has grown, you now have 5 separate databases (sales, finance, training, website, and marketing) - each of which contains more or less the same information about the same customer. And all of them need to be updated. Furthermore, imagine the number of times and different contexts in which you’d want to update the customer record, such as when they make a purchase, change addresses, or update their contact information. Instead of potentially having 15 unique programmes (3 contexts * 5 databases), you could instead have one service called "update customer record" and 5 APIs. In total: only 6 unique programmes.
Investing in and applying a consistent service-oriented approach to microservices and APIs dramatically reduces future development time and effort. Meaning - you’ll be better suited to accelerate the pace and variety of new services you offer to customers.
Where does this code reside? That depends. Many Enterprise Resource Planning solutions such as SAP and Salesforce have their own language and development environments. However, integration, mobile, and web applications use a variety of common frameworks and languages such as Java or Python.
Developers use standard opensource "Libraries" of code to develop and build upon custom applications. These can be hosted in the "cloud" as a "Platform As A Service," such as Amazon Beanstalk of Microsoft Azure. Code, then, is managed through its life cycle in repositories such as Gitlab or Github. Often, this code is packaged in a "container" (see docker) or "Stack" (see bitnami) that allows for rapid deployment and scaling up to meet demand.
To close the gap between your company and digital disruptors such as Uber, Airbnb and Netflix, you will have to invest the technologies described above. These are the foundations upon which your website and mobile app can then use to access your corporate data.
Essentially, these digital tools allow you to embrace the flexibility inherent to Agile and, in doing so, put your customer at the very centre of your operations. To experiment and innovate at a far lower overhead, and in order to test market reaction and field a wider variety of needs that come from product owners, customer success managers, and market research, you will need to have a portfolio of technology services of APIs, Micro Services, and Application Platforms.
And to bring it all back to the main point: This is a critical enabler of Digital Transformation.
How to improve
Whilst we may not have 100% of those capabilities from day one, we can still start small. The next "digital" project, as a principle, can aim to use one or more of these technologies with the aim of experimenting and learning how to make it work in practice. The next digital project will build on those lessons and seek to apply more technologies. This process will repeat for the third and fourth project, expanding the portfolio of technology services that can be offered to other parts of the organisation.
As confidence grows, the rate at which new technology can be deployed increases, meaning your organisation can start to close the gap on how digital disruptors deliver.