The term digital transformation is really popular in tech circles these days. I’ve used it myself over the past year or so, and I definitely think that the concept is sound. I have noticed though, that when I talk to businesses about it, they seem less than excited with the term. Not that most businesses don’t recognize that things are changing and that technology is at the core of much that is creating disruption for them. I think you’d have to live under a rock to believe that business as usual is well, “usual”. Still most businesses have used digital technology for decades, if they were around back in the dark ages anyway. I’m starting to think that perhaps the better way to frame this discussion is as business modernization in the post-industrial enterprise. Tech is at the core of those changes of course, but it’s far from the change of simply implementing some new software / hardware, automating some processes and learning a new workflow. The changes are much more fundamental and alter the way work gets done, the type of work that is done, and the way people interact. Data becomes a core part of every operation.
From my perspective business modernization ties together changes to data, technology, people and process across six major areas. These areas are:
- Cloud Platforms/Microservices / Post Application Era
- Customer Experience (CX)
- Commerce
- Workforce
- Innovation
- Business Networks
Across six or so post I will take a look at each of the six areas of modernization across those four categories, data, tech, people and process. Culture of course is also an important part of any change, and has to be addressed in a change management plan as the modernization efforts unfold. Before jumping into this conversation, I suppose it’s useful to set a few base assumptions for modernization:
- Moving to the cloud has become a “when” discussion not an “if” discussion for almost all businesses. Not that everything will move immediately of course, business tech will be hybrid on premises / cloud for the foreseeable future but new initiatives will most likely be in the cloud. Almost all truly modern software is available in the cloud model and almost all (I’d say all but I’m sure there’s an exception somewhere) on premises only software is old technology. There are modern software offerings that are available in a dual cloud / on premises model though, and some (a very few) companies will add on premises apps based on some internal biases, regulatory and / or governance issues, privacy concerns, etc.
- We have moved beyond “mobile first” to “any device, anywhere”. In other words, any new app must be device agnostic IMO.
- The most interesting technology and modernization efforts are happening at the intersection of data and social (or people). Each post will look at this intersection in detail.
- Cloud and mobile (any device actually) are simply the delivery and use models. They offer lot’s of value, but that value is already pretty well documented. Cloud offers flexibility, adaptability, scalability, faster time to value, easier upgrades, more frequent updates, etc. Same for “any device”, it’s simply the way we work now.
- The Internet of Things (IoT) is interesting and does offer opportunity for business (and for the hardware tech vendors), but from a software perspective IoT is another data source. It will provide some extremely useful data and allow for more automation and better decisions, so I will weave it into the discussions on data in each of the areas.
- The overall impediments to leveraging data to it’s fullest are really around two issues, making sense of the volume of data (making it smart / adding context) and getting the complete data set across the existing organizational and application silos that exist in all businesses. The issues of context and of overcoming silos are so important that they will likely be discussed in the context of each individual area, but really need to be addressed in a broader way by every business.
So with those assumptions, the logical starting point is with cloud platforms or PaaS and the concept of the post application era. The way modern applications are developed is quite a bit different from the older monolithic code base applications. With the widespread use of services oriented architecture (SOA), isolated services, and APIs in loosely coupled systems, modern application development has evolved down a path toward a microservices methodology and what is known as reactive systems. (for a good discussion on micro services read
this). As software as a service (SaaS) replaces old monolithic systems, the need for the older application packaging becomes irrelevant. The new reactive systems are a lose coupling of microservices based on a business process not a collection of monolithic application blocks that can be integrated into a “suite”. Modern systems are an assemblage of microservices that execute a business process, that can be continuously integrated and updated much more easily. Reactive systems are more scalable, flexible, fault tolerant, and adaptable. As the microservices get more granular it becomes easier to assemble them more dynamically using the new platforms / PaaS into best fit processes. Today these microservices are preconfigured by software companies into processes, but it’s easy to see a future where these services could be custom configured based on each companies need, and offered in marketplaces that would test, certify and assemble them into reusable modules of services. We’re not there yet of course, but the first iteration of these marketplaces for APIs and custom configured / assembled modules or components already exist, Salesforce’s
AppExchange Marketplace for example. This modern approach to services and business processes leads to what we have called the post-application era, where the old functional packaging of apps is not necessary or even desired, and where eventually the services can be configured into an individualized business process for each company.
Microservices are part of this picture, but the platform, or more correctl,y the platform as a service (PaaS) is the other part. There are many PaaS offerings available and they are evolving in functionality quite rapidly. There are a set of functions and features that make up the basic PaaS offering, that includes:
- Services / Application API, flexible integration support for all current web standard integration technologies
- Granular control over security / access / identity (standards based)
- Web services broker
- Shared resources
- Customizable/programmable user interface (UI) – support for browser, web services and any device deployment
- Workflow engine
- Tools for creation, configuration and deployment of persistent objects
- Container management
- Application / services management
- Embedded services: storage, analytics, collaboration
- Autoscaling
- Monitoring, logging, metering
- Self provisioning
While not a feature, the PaaS should also be a part of an ecosystem that is supported by a marketplace of additional services including APIs and applications built on the platform. Often the services are built by other 3rd parties, but the marketplace owner provides the “certification” for anything delivered through the marketplace.
What you can do now:
This varies quite a bit based on your current maturity level with SaaS of course, but PaaS providers are offering platforms that are relatively mature and can be used now for integrations, extensions of currently deployed SaaS applications and for the development of custom applications / services. In general, start with the data and work out to the problem you’re trying to solve in developing a list of requirements for both the platform and the resulting solution. From an integration use case the PaaS you choose should be able to support cloud to cloud and cloud to on premises integration needs. If your needs are related to extending / customizing existing SaaS deployments your selection of platforms may be limited to the associated vendor’s offering, although not always. In selecting new SaaS solutions it is essential to evaluate the associated platform to ensure that it will support your customization and integration needs, or to have an existing PaaS that will accommodate your needs. More and more companies are working off the base applications and adding custom extensions and solutions to address adjacent business processes.
In part two of the series I’ll take a look at CX and the associated technologies that are helping companies build and deliver on a more comprehensive CX strategy.