By Julie Craig
Today, software drives business, and businesses have a “need for speed.” Increasingly, the ability to deliver new software faster than competitors distinguishes leaders from followers in virtually every industry vertical.
Truck-routing algorithms enable a package delivery firm to increase revenue by improving on-time performance and shaving fuel costs. An online social media firm continuously tweaks its website to coax visitors to spend more time on its site and purchase additional add-on services. High-performance trading algorithms enable an investment company to take better advantage of market movements, aiding customer retention by delivering higher returns than competitors.
Software is the lifeblood of modern business, and recent advancements in software delivery practices have made it possible to accelerate the release of new features that improve business agility. Agile development techniques, focusing on collaborative, incremental development, were the initial response to the growing application economy. However, agile development is now mainstream, with more than 80 percent of companies leveraging agile practices in at least some software projects. So, as agile becomes the norm versus a competitive differentiator, many companies are seeking other ways to gain an edge.
Gaining an Edge with Continuous Delivery
Continuous delivery is the new mantra for delivering business agility via software. In contrast to the “big bang” releases of the past, software is delivered to a targeted destination as an ongoing trickle versus a point-in-time torrent.
However, the term continuous delivery can be misleading, with different meanings depending on the context. For an independent software vendor (ISV), the targeted delivery destination is likely a software version package stored in a staging area for later delivery to customers. For an enterprise, the destination is likely production deployment. While commercial ISVs may have led the charge for both agile and continuous delivery practices, forward-thinking CIOs and IT practitioners have been instrumental in introducing them as agents of change within the enterprise.
The latest research by Enterprise Management Associates (EMA) finds that approximately 70 percent of companies are experimenting with continuous delivery practices for at least some projects. Of those successfully adopting continuous delivery, almost half have increased code delivery frequency by 10 percent or more in the past 12 months, with the majority reporting weekly or more frequent code releases. Compared to the quarterly or twice-yearly releases that were the norm two or three years ago, this rate of change can only be described as extraordinary.
This transition is also delivering extraordinary business value. EMA research finds a significant positive correlation between successful continuous delivery implementation and business revenue. Of companies actively engaged in continuous delivery, more than 90 percent experienced revenue growth in the double digits—10 percent or higher—in the prior year. In comparison, only seven percent of companies who were not practicing continuous delivery reported that degree of success.
Cautious Approach
While the value proposition can be significant, continuous delivery is not without its pitfalls. Releasing software into production is one thing. Releasing high-quality software with minimal adverse impact to existing systems is another.
For one thing, continuous delivery is taking its toll on enterprise IT resources across the board. Development is increasingly drawn into production support, while operations is spending more time deploying software and managing production applications. In addition, performance and availability problems are on the rise.
From this perspective, continuous delivery can obviously be a double-edged sword. Too many companies are trying to introduce constant change into existing production systems using largely manual processes. Applying the same old manual management methods to modern, dynamic application systems is a recipe for disaster. Manual processes are slow, error prone, and staff intensive. Fully reaping the potential benefits of continuous delivery requires tools investments, specifically those, which can automate software testing, integration testing, change tracking, and application monitoring management.
Purchasing Priorities
During 2014, EMA researchers also assessed the tools purchasing priorities recommended by early adopters of continuous delivery. Software integration testing tools topped the list, highlighting concerns with the mitigation of potential adverse impact to production. Products in this category include Service Virtualization solutions such as those delivered by CA Technologies and IBM, which virtualize responses from external production systems and play them back for testing purposes. Such tools can also be plugged into continuous delivery workstreams for validation testing prior to automated deployment.
The number two tools choice was “start to finish continuous delivery workstream” automation. Respondents are obviously seeking ways to integrate processes, tools, and workflows into streamlined continuous delivery pipelines. Again, both CA Technologies and IBM have tools in this space, as do CloudBees, a number of open source vendors, and others.
Echoing this start to finish message, application lifecycle management (ALM) tools were the third choice.
There are a number of possible conclusions to be drawn from EMA’s research on continuous delivery. First, there is a definite link between availability of software features and overall business success. There is also a positive correlation between revenue growth and the speed with which software can be delivered. However, a third conclusion, and one that is often overlooked in continuous delivery discussions, is the importance of automated tools in ensuring repeatable processes, high levels of software quality, and minimal adverse production impact.
Because continuous delivery closely intertwines with the application lifecycle, tools that automate ALM processes—and integrate with ALM, testing, and deployment tools—can be extremely valuable in accelerating software delivery. EMA analysts have interviewed bleeding edge companies that have automated the entire delivery chain, from code check-in through automated testing to production deployment, with the use of intelligent tools.
Maximize ROI
While not every company aspires to this level of automation, here’s the bottom line, maximizing return on investment from continuous delivery rollouts requires a tools foundation. The highest-performing companies increasingly invest in tools capable of automating defined, repeatable tasks such as testing, configuration, and deployment. Companies seeking to become more competitive will likely find that judicious use of tools enables them to deliver software faster, more efficiently, and at a higher quality than their non-automated peers.
All statistics in the article are extracted from EMA’s primary research. All of the firm’s relevant reports are available at nominal charge at enterprisemanagement.com. SW
Julie Craig is a research director at EMA, a leading industry analyst firm that specializes in providing deep insight across the full spectrum of IT and data management technologies. Her focus areas are application management public and hybrid cloud, integration technologies, pre-deployment technologies, DevOps, application management, and application performance.