The phrase “digital transformation” is wearing a little thin, as marketers twist it into a pitch for whatever they’re trying to sell. So let's settle on a broad yet simple meaning: The journey from inflexible platforms, products, and workflows to a “permanently agile” condition.
InfoWorld Contributing Editor Dan Tynan and I make the argument for this definition in a new Deep Dive you can download here. Naturally, the details of transformation vary infinitely depending on the organization. Yet commonalities persist in nearly all cases, such as devops, cross-silo collaboration, and big data analytics.
But how do you get there from here? As with any big initiative, you need to start small. At the C-level, digital transformation speaks to a burning desire to jump on new business opportunities and reduce the cost of operations. The challenge for IT pros and developers is to pick a project and execute in a way that provides a transformative example. These general guidelines, derived from real-world cases, may help point the way:
1. Sell the real potential
In pursuing digital transformation, business management often seems driven by an envy of high-flying digital natives like Google or Uber or Snapchat. Right away, you need to disabuse zealots of the notion that if you dump a bunch of technology in the hopper, everything will change overnight.
Yet the buzz around digital transformation presents a very real opportunity. The most important changes often end up being organizational, such as breaking down silos to foster collaboration or enabling lines of business to spin up their own projects continually without laborious authorization processes. You don't want to start by pitching organizational disruption, though -- you want to demonstrate real benefits.
Chief among them is the ability to bring products or applications to market much, much faster, which is the big payoff of agility. So identify a project you’re 90 percent sure will prove your point.
2. Pick the right project
Some organizations have already plunged into transformation with, say, IoT initiatives that reach into core products or processes that differentiate the business. Companies such as GE or Ford come to mind.
But beginning your transformational journey with a core initiative is almost impossible, unless a champion at the top of the company drives it. In most cases, the best place to focus is on web and mobile applications that target customers and need to change frequently.
Pay special attention to customer-facing applications that have the potential to drive new revenue quickly. From an IT professional’s perspective, an important aspect of digital transformation is to shift the emphasis from cost reduction to revenue generation. Also remember that this should not be a one-and-done project. The point is to create an environment where you can iterate and refine applications as needs change and as evidence points to how applications can be improved.
It goes without saying that collaboration with business stakeholders is essential, from both political and logistical standpoints. Your success should be their success, and business objectives must be well understood from the start, with feedback solicited continuously along the way.
3. Assemble the right team
The seeds of change always lie within -- in the form of people looking for a better way. Sometimes they’re people who have been around a while and feel frustrated by standard procedure yet carry vital institutional knowledge. In other cases, they’re new recruits who are less entrenched in the usual way of doing things and may already have the necessary skills in agile tools, platforms, and methodologies.
Very likely, you’re going to need both types on your team. You need fresh thinking and people motivated and talented enough to spin up a devops skunkworks. But new applications need to be integrated with legacy systems and procedures, so you also need people who really understand that stuff well yet want to get beyond the old, boring way of doing things. Best case, a team like this (or at least the core of it) already exists, so you won’t need to assemble it from scratch.
4. Put devops to work
I’m going to make the assumption that devops has not already been established in your organization. If it has been, particularly at scale, then you’re well on the path to digital transformation. The next hurdle may be to apply devops to the bespoke software that defines a company’s core business, from manufacturing software to collaborative design platforms to logistical systems. (That stuff is heavily guarded. Good luck.)
Otherwise, laying the devops groundwork is the most important step in getting transformation off the ground. Devops dictates that software developers should be empowered to provision their own environments, while operations should have the ability to automate continuous, reliable deployment at scale. It makes agile development -- where stakeholders review applications in progress, provide feedback, and change direction if necessary -- possible in the real world.
If you’re still mired in waterfall development or have implemented a bureaucratic form of agile development that runs counter to the whole idea, implementing devops could be a very big lift. You may need a smaller project or stipulate that team members should already be fluent in true agile and/or devops methodologies. Either way, you’re going to want to avoid a long procurement cycle for new hardware and software for your project.
5. Choose your cloud
Unless you’re explicitly prevented from doing so, you’ll want to spin up your “transformative” project in the public cloud. AWS, Azure, Google Cloud Platform, and IBM Bluemix all offer cloud platforms with the services you need to get almost any devops project off the ground. By nature, pretty much everything in the cloud is self-service, which is a key aspect of digital transformation. Your team can get what it needs with a credit card and avoid the internal procurement bureaucracy.
Which cloud you choose should depend on the skills of your team and the nature of your applications. For example, if they’re Microsoft developers, they most likely will be most comfortable in the Azure cloud. If your applications will tap machine learning, your team may want to give Google Cloud’s exciting TensorFlow API a whirl. And of course, AWS offers the widest array of cloud services on earth.
Remember that a big part of your intent is to prove the worth of devops. Typically, the devops toolchain begins with GitHub or Bitbucket code repositories, which are their own independent cloud services. Jenkins has become the default platform for continuous integration and is supported by all the major public clouds. When it’s time to deploy, you may choose an industrial-strength configuration management solution such as Puppet, Chef, Ansible, or Salt -- or opt for cloud templates such as AWS’s Cloud Formation. All the major clouds now support Docker, which enables you to spin up applications in containers, which are much more lightweight and portable than VMs.
Another consideration is whether or not to adopt a full-fledged PaaS. The PaaS offerings Cloud Foundry and OpenShift are available on most of the leading clouds, with Azure also offering its own Service Fabric PaaS. The major PaaS offerings all support Docker containers.
6. Measure, analyze, report
Digital transformation is all about iteration and continuous cycles of improvement. To know what to improve, you need a deep view of how your applications perform -- there’s little point to agility unless you have an informed idea of what to do next.
Much of the data collected from customer-facing applications tends be semi-structured: clickstreams, time-series data, event log files, and so on. All the major public clouds include a bundle of big data technologies (generally centering on the distributed processing frameworks Spark and Hadoop) to operate on the semi-structured stuff, typically transforming the results so that SQL analytics software can handle it. Once converted, it can be mashed up with existing SQL data such as transaction records, product data, pricing information, and so on to gain new insights.
With these tools, you can collect and analyze the information you need to prove the success of your project and point the way toward continuous improvement. BI tools such as Tableau, Qlik Sense, or Microsoft Power BI deliver powerful visualizations that can showcase your results.
Show your work
You may have noticed that these first steps to digital transformation are really about spinning up a successful devops initiative. That’s because, when implemented correctly, devops has the potential to vastly increase the efficiency of software development -- and software now embodies nearly every aspect of business.
But the organizational implications are just as profound. Most large organizations still maintain silos, and essential to digital transformation is the ability to breach those silos and pull together ad hoc groups that span business and technology factions. That’s one reason why, from the start, you need a business champion who will commit to staying involved throughout your project’s lifecycle.
A successful devops project is just a first step. What you really want to put in place is a platform -- and a culture -- for experimentation, which by definition results in projects that "fail fast" as well as succeed. If you pick the right projects to show agility's benefits, the cultural change should follow.