A recent survey commissioned by a leading technology provider reveals an average of 19 percent revenue increase directly attributed to the adoption of DevOps methodologies. A drill down to the most common financial attributes of DevOps adoption provides more clarity. Automating the software delivery benefits the organization financially in multiple value areas:
As we all know, applications are a key driver to the growth and success of today’s businesses. Visibility into application performance and the efficiency of the software development lifecycle reaches far beyond IT and well into business stakeholders. Applications are complex and fast evolving, and with the expansion of mobile and web consumption demanding flexibility to handle constant requirement changes effectively, businesses are forced to reassess their application delivery strategies. Coping with the need for change requires more than a strategy! It calls for an ever-expanding budget without clarity on the financial benefits of adopting agile innovations.
New software development methodologies have emerged to address the need for agility starting from development practices to full automation of the software release process. This collection of best practices has matured into the continuous delivery (CD) process, which applies industrialization concepts to software. Designed to streamline and accelerate software delivery while ensuring that reliable software is released, CD creates an alignment between the application and changing business needs.
The principles of CD find their roots in the DevOps movement, established to bridge traditional gaps between software development and the operations team running applications. DevOps automates manual testing and release processes by replacing them with scripted procedures. It extends Agile development in building applications incrementally to include the full integration, testing, and validation phases. By streamlining application delivery across the entire development lifecycle, applications can be iteratively developed, automatically packaged and tested, and then released to production in a continuous, rapid, consistent manner. The CD archetype establishes the notion of an ever-evolving production-ready version of the application in a functional, deployable state throughout its lifetime.
This whitepaper delves into the disruptions in software delivery focussing on DevOps and its power to positively influence revenue figures.
“The earlier you catch defects, the cheaper they are to fix.”
Cloud technology has commoditized IT environments, creating freedom of choice for running production applications. On demand, flexible computing capacity changed the economic models for application infrastructure. Cloud allows infrastructure decisions to shift, based on cost assessments and real-time traffic patterns rather than cumbersome IT dependencies. Consequently, the production environment becomes less predictable and can change multiple times during the life of an application.
Modern applications are becoming infrastructure-agnostic and developers must adjust their processes to support application delivery practices in which the business logic code is portable and can run virtually anywhere. Enabling the organization to take advantage of production flexibility requires the design to anticipate hybrid and changing production environments. Developers cannot rely on a single production target over the lifetime of the application. New systems of engagement, in particular, the vast expansion of mobile and web application access, force companies to react quickly to shifts in end users’ behaviour and adjust to scale and usage pattern swings.
The ability to develop and deliver high-quality software faster is crucial to companies trying to capitalize on mobile use expansion, creating rapid and massive shifts in application workloads. The majority of development projects still have not reached a level of maturity that can address a rapid delivery mind-set.
Early DevOps initiatives focused on accelerating software delivery, and changing the culture to establish better collaboration. DevOps promotes stronger communication skills and gives developers a wider responsibility over the application. Overall, the intent is not for a single entity to cover both application development and management, nor to encourage developers and operations to perform each other’s duties, but rather smooth the collaboration between these groups.
The requirement for more multidisciplinary skills for developers created a new DevOps role combining application development skills, IT operations understanding, and infrastructure automation techniques. IDC’s 2014 survey revealed that 43 percent of the Fortune 1000 companies’ respondents were already using some DevOps practices. An additional 40 percent were evaluating DevOps methodologies.²
The DevOps movement, initiated primarily by developers, laid the groundwork for comprehensive software delivery automation practices that gradually matured. Software can now be delivered at will rather than at planned intervals, hence CD. Adopting a CD methodology requires not only a change of mind-set but also a change of tools, standardization on new processes, and implementation of best practices. Integrating the proper tools into the release process automates distinct manual tasks and synchronizing steps in the release cycle. At its best, such a process requires no manual intervention other than quality control and regulatory checks, in essence industrializing software development. Companies implementing CD practices are therefore industrializing software manufacturing by applying an assembly line approach to the software delivery process.
Automation of manual tasks and consistency of the environments minimizes the amount of repetitive error-prone work done by developers and reduces IT headcount waste. Developers also spent significant time on problem resolution and maintenance versus developing new functionality. A CD process that incorporates comprehensive diagnostics methodologies, including static and dynamic analysis, significantly reduce the time developers spend on problem resolution.
Much like an automated assembly line, CD allows the software manufacturing organization to produce new, reliable code on an ongoing basis. Delivering enhancements to address the current market needs and security threats drive direct revenue and provide a competitive edge. Deriving experience from numerous consulting engagements, Trigent estimates the business impact of accelerating time-to- market credited to shorter cycles depends on the industry and is specific to each company, averaging 20 percent and increasing when software drives the majority of the revenue. Trigent Software finds a 20 percent average reduction in time to market and a 21 percent growth in new functionality delivered to the business. Flexibility in the software manufacturing process not only ensures faster delivery of revenue generating applications, but it also enables more advanced organizations to adjust their IT infrastructure costs based on changing market conditions and price fluctuations. Companies increase their profitability by scaling their environments up or down based on demand, transitioning between cloud vendors or hybrid environments, and taking advantage of the flexibility in the commoditized IT space.
Quality is one of the major concerns and a usual driver of high costs and project delays. Application errors are expensive and negatively impact organizations in the form of reputation damages, customer loyalty, and direct financial impacts. Improving application quality is often the trigger behind building a DevOps practice. The National Institute of Standards and Technology indicates that the cost of finding errors in production are 6-30 times higher compared to identifying them during the development and testing cycle. The actual costs of fixing defects discovered in production can become tremendous when the software is embedded and cannot be easily updated or when the application processes high-value transactions. Quality improvements and earlier defect detection are bigger adoption drivers in such applications. CD provides best practices for optimizing each stage in the application delivery process.
An automated manufacturing assembly line assumes a reliable, consistent, and high-quality supply chain. To achieve code consistency and quality, development teams adopt Agile software methodologies and mandate the use of diagnostics tools at the individual developer level while automated testing and environment provisioning assure that high-quality standards are maintained all the way to production.
Communicating DevOps business value is critical to securing additional funding and accelerating the rate and course of change in an enterprise. Finance is the language of business. As such, DevOps teams should consider the following business metrics to communicate success:
Extensive combinations and edge/hand-off scenarios were designed to ensure maximum application feature coverage. Cross-browser/compatibility testing was performed using BrowserStack. Additionally, given the velocity of change, Trigent periodically conducted bug bash sessions that uncovered more than 300 bugs in the MVP, enabling the organization to assess its product for a beta release. As a seamless extension to the product team, the Quality Engineering team understood the newly implemented functionalities. Trigent’s domain expertise and understanding of the application functionality enabled the team to develop strategies that helped them to write test cases.
For DevOps cultural change to mature into effective CD practice, the IT leadership must adopt and embrace a number of key principals.
We are happy to answer any questions you may have.
Fill in your details below and our team will get back to you shortly.