As the business world accelerates toward a software product economy, your IT team needs to accelerate to keep pace with digital transformation. One way to do so is by creating software-enabled services (SESes) that deliver speed and agility and take a software factory approach to building software.
These services facilitate your developers' desired outcomes, rather than just providing tools (on-premises or SaaS) that force them to create outcomes on their own.
This trend, which lies at the core of digital business transformation, will continue to gain momentum in 2020 and will be a major disruptor for both on-premises software and SaaS providers.
Are you ready? If your answer is no, here's how to get there.
What is a software-enabled service?
A service is an act or outcome that a provider performs on behalf of a customer, and an SES is an outcome that a customer experiences simply by engaging a provider through a software interface.
Here, the consumer's responsibility is to supply information that the provider can use to instantly configure the service so that it's tailored to deliver the desired outcome. This differs from application software and/or SaaS, where customers use or rent the software, and then are forced to integrate, configure, and use a tool to produce their own outcomes.
SES is disrupting the software industry much as Uber and other ride-sharing services have disrupted the taxi and car-rental businesses. That's not to say that application software or SaaS is going away. There will always be use cases for both, just as there are still use cases for taxis and rental cars.
But in the digital economy, winning companies will embrace an SES approach in their business and in their software factory.
Focus on outcomes
To get out in front, your engineering teams should look at the outcomes your digital product developers are seeking and create SESes that facilitate those outcomes.
For example, our team created a testing and certification service for our product development engineers. All of the software, compute, storage, networking, hosting, and provisioning tools are integrated by our software factory team and abstracted from the consumers (our engineers).
Engineers simply provide the configuration information and submit their code to receive their testing and certification outcome.
Before we created this service, our product developers would request that an environment be built, and then they had to install all of the software needed to conduct tests. Or they would use a set of SaaS-based applications that required integration and configuration. This setup took up valuable time and expertise, causing delays in our time to market.
That's just one step we've taken. Below I'll share others we’ve pursued—and that you should take to begin your own journey.
SES: Real-world examples
Last month I used a rental-car service for a business trip. The process was software-driven, with applications that streamlined the process of obtaining a car. But once I obtained the rental car I had to create my own transportation outcome. That is, I had to understand how to use the features of the vehicle, integrate navigation technology into the process, and apply my own driving skills to get myself where I needed to go.
In this scenario, the act of renting the car is the service (rental car as a service). And while software facilitates the acts of renting and provisioning, creating the outcome or solving the problem still rests with the user.
In the resource-centric or resource-as-a-service approach, even with all of the cool apps and improvements in the engagement experience, the speed at which outcomes are achieved depends on four things:
- The consumer's ability to engage a provider
- The provider's ability to provision the resource
- The consumer's ability to interact with the resource
- The consumer's skills to utilize the resource to create the outcome
Contrast that with a trip where I enlisted a transportation service (Uber) to get from point A to point B. As with my rental-car experience, the engagement interface was software. But beyond that, the end-to-end process of creating the outcome was software-enabled and provider-generated.
My only involvement in creating the outcome was to engage the provider and supply configuration data (my destination). Essentially, I was data to the app. I didn't even have to be there—I could have been engaging the Uber service for someone else. The data was the trigger. The service created the outcome.
This is how digital business and IT have to think in the 2020s if they want to compete. How will you adjust your software to become a service product?
In the scenario above, Uber supplies SES where the provider focuses on the outcome, powered by information. And this is key because, in SES, data triggers outcomes: It's the new oil. The integration and use of resources, skills, and so on are all provider-side concerns. Thus the speed at which you achieve outcomes depends on just two things:
- The consumer's ability to engage a provider and supply the necessary information
- The provider's ability to create the outcome for the customer
This is the focus of the new digital business economy.
Through SES, winners in digital business will produce outcome-centric, Uber-like offerings.
The focus won't be just on the procurement of a product through an app, but on a service that integrates all requisite resources and skills to facilitate the customer's desired outcome.
Virtual banks, food markets
Need other examples? Think about advancements in consumer banking services and all of the outcomes that are now achievable through SES. You don't have to go into a bank anymore to create an outcome such as depositing a check. The adoption of remote deposit capture technology has helped to give rise to virtual, online banks.
And goods-focused markets are merging with SES. Just look at Amazon's entry into the grocery market. Its focus is on providing an end-to-end SES to procure goods.
This trend is already starting to disrupt software companies. In his book, The Software Paradox, RedMonk's Stephen O'Grady says that while software is more important than ever, powering just about everything, software revenues have been in steady decline. Consumers, he says, want an SES (Uber), not just software as a service (rental car).
What does this mean for you?
In IT, an application is typically viewed as the service. The IT organization delivers software applications to support and improve business process. SaaS is a delivery model for applications in which software is rented and applied to improve the business's ability to support customer needs.
In a digital business, SESes are the products of the business, generating valued outcomes for customers—and revenue for your company.
Microsoft CEO Satya Nadella recently said, "Every company will become a software company." In light of that, every software company needs a software factory. And if every company needs a software factory, then IT should take a hybrid approach to creating it—one that includes both traditional IT services (applications and tools) and SES.
There is still a need for rental-car-like services in your software factory. SaaS (rented software) may be used to run core factory processes. IaaS and PaaS services will become the platform used by developers to create their digital products. And IT must provide (Uber-like) SESes that accelerate the development lifecycle, ensure product quality, and improve time-to-value for customers of the business.
How does that look in practice? In our software factory we have a developer workbench service that works much like a traditional IT service. It consists of a set of applications and tools that support a software product through its development lifecycle.
In addition, we created an SES for testing and certification outcomes that our developers need. All of the resources and capabilities, such as provisioning tools, are integrated by the provider—in this case, our software factory team—and abstracted from the consumer.
How to get started
Here are four high-level areas to focus on, based on our experiences with SESes in our software factory.
Adopt a service culture
Creating a service culture is table stakes if you want to play in the SES arena and be relevant in the digital business world. However, this requires more than a traditional IT service management (ITSM) approach to services. It took quite a while for our team to understand what a service is and which services our business needs from our software factory.
Here are a few of our lessons learned:
- Understand your consumers and their objectives as you determine your role in supporting them.
- Focus on the end-to-end lifecycle for the factory services. Use the IT4IT Reference Architecture as a superstructure to guide creating an operating model, taxonomy, and tooling needed to manage factory services.
- Reward and showcase those areas where people get on board and demonstrate the differences they are making.
Focus on outcomes from the outside in and the inside out
Work with product development to attack the problem from the outside in; understand the problems product they encounter and what outcomes they need to be successful. Identify patterns in use cases that you can then model into SESes that will accelerate product development outcomes.
For example, in our R&D labs we had thousands of requests to spin up virtual environments, so we took a step back, looked at the use cases from the developer's point of view, and identified the primary patterns.
This led us to create two new SESes that gave time back to developers that they could spend focusing on adding features and fixing defects in their products. They no longer needed to get bogged down in the details of software installation tasks.
For our inside-out approach, we created service systems for product engineering outcomes on which we create SESes. For example, we created a provisioning service system that can route workloads to multiple cloud hosting services.
Work iteratively: Results turn motion into a movement
Work in an iterative fashion, identifying and modeling a few services at a time, codifying them to "good enough," and rapidly releasing them for consumption. Delivering rapid results drives adoption, and as service adoption grows, good things happen.
For example, you can reclaim equipment and software licenses from abandoned environments and apply them to the service system. As the people, process, and technology foundation improves with each iteration, you build on the good enough to get to better and best over time.
Don't try to turn everything into SES
Embrace a hybrid approach. Accept that there will be a mix of capabilities, traditional IT services, and SESes in your software factory. Too often, service-centric efforts fail because people are trying to brand everything as a service when some things are either not ready or not able to be delivered that way.
Understanding what approach to take for the various problems and outcomes needed in creating digital products is critical to advancing the maturity of your organization when it comes to using SES in a digital business.
For example, we have the capability to drive data center consolidation. This consists of talented infrastructure engineers, processes, and tools that enable them to attain greater efficiencies in our data centers. This is a capability, not a service.
In contrast, we have a source code management service that our developers depend on. Developers use this service, much like a rental car, to produce the outcome of source code control. Furthermore, we have SESes such as for testing and certification, that require data and automatically produce outcomes for developers.
How to move forward
For software companies and IT organizations that produce software for internal stakeholders, the shift to SES is a trend that will continue to mature over the next several years. It is a software disruptor.
Your software development teams shouldn't solely focus on selling software as a SaaS product (renting your software for customers to use to solve their problems), although, just like rental cars, there will still be a market for that. But you should be looking at the outcomes that your customers are seeking and create SESes that facilitate those outcomes.
Your software factory should include SES. Here your focus should be on time-to-productivity and time-to-market for digital products. IT must accelerate, or you'll be left out of the action. Getting there requires fresh thinking and a bold approach.
To move forward, work on your culture and structure. Consider adopting the IT4IT Reference Architecture as your operating model, take an outside-in planning approach, and implement a service-centric ecosystem to power service delivery.
In other words, focus on people, process, and technology, and you'll be well on your way to digital transformation.
Keep learning
Get up to speed on digital transformation with TechBeacon's Guide.
Download this free IDC white paper, "Enabling End-to-End Digital Transformation".
See IDC's Futurescape: Top 10 predictions for digital transformation.
How important is digital transformation to your org? Take our survey and find out how you stand next to the competition.
Thinking of making a change? TechBeacon's Careers Topic Center provides expert advice to prepare you your next career move.