The DevOps payoff is both cultural and financial. Various studies, including the annual Puppet Labs survey, have shown that one begets the other.
DevOps is about creating an environment of communication, collaboration and trust between IT and business teams. This is no easy feat. But the stronger the culture becomes, the more stable an environment it creates and the higher morale and productivity rise.
As a result, companies that succeed at DevOps outperform their respective peer groups in most operating and valuation metrics. That’s because DevOps enables them to improve user experience and reduce time-to-market for their products and services. These companies achieve business objectives faster and with more agility.
Accelerating time-to-value for the customer is predicated on a combination of culture, practices and automated processes. These drive efficiency, reliability and availability throughout the software lifecycle – from code creation to test to release into production.
The metrics that ultimately distinguish high-performing IT teams are user experience, customer satisfaction and loyalty. As a result, DevOps should be viewed as a strategic initiative that drives business growth and builds value for all stakeholders. But it can also help achieve risk management objectives with more security built in earlier in the coding process.
A Holistic Approach
As the pace of development and business continues to scale, teams need an agile and collaborative work environment to succeed. The most effective DevOps evolutions take a holistic approach.
Developers, operations, quality assurance and business teams work closely with each other. Constituents may also extend to security and compliance teams. Their common goal is to optimize the performance and security of customer-facing apps. Cross-functional inputs for systems requirements and software functionality creates an ongoing feedback loop that promotes engagement and helps alleviate complexity.
Automated testing, continuous delivery and full application and infrastructure stack integration are the foundation of the DevOps workflow. Developers continue to be involved with their code even after it goes into production. Operations teams work on creating an environment with tools and processes that let developers create, test and deliver code in a more efficient, continuous fashion.
Application testing should emulate a production system environment. DevOps teams can then discover dependencies, learn how the application will perform when it goes “live”, and make adjustments to the compute environment accordingly. With practice and automation, these processes become iterative and repeatable, allowing for more consistent development, testing and deployment.
By moving the testing forward in the process, performance monitoring and analytics also comes earlier in the life cycle. Rather than waiting for post-production performance data to analyze what went wrong, DevOps can build performance analytics models that can anticipate operational and quality problems before deployment.
These metrics can then be used to establish key performance indicators (KPIs) against which the production environment can be measured. As production metrics more consistently adhere to KPIs, application performance and user experience improves. Sharing the data with business teams at this stage accelerates the feedback loop and allows for adjustments to be made faster and with less stress.
DevOps is Essential for Future Competitiveness
The growth of containers and microservices, coupled with the arrival of the Internet of Things (IoT), makes DevOps even more important. In a software-defined environment, the precision of the software and services controlling networks, sensors and devices is critical as everything becomes inter-connected. As monitoring, alerting and trending tools incorporate machine learning DevOps will rely on increasing automation to ensure timely testing and revisions.
There were two standout statistics from the most recent 2015 Puppet Labs study. While high-performing teams still deployed code 30 times more often and 200 times faster than lower-performing peers – about flat with 2014 – they are recovering from failure 168 times faster and implementing changes 60 times more frequently. That compares with 48 times faster recovery and three times fast change implementations from a year ago.
The clear implication is that as DevOps teams become more proficient at recovering from failures and implement changes more frequently their efficiency improves dramatically. This in turn positions them to widen the performance gap between themselves and their peer group. That’s the DevOps payoff.
This post originally appeared in DevOps Digest.