The term DevOps has been around for nearly a decade, yet there’s still a lot of hype and confusion surrounding it. Since it’s such an important concept for software developers and ISVs, I wanted to delve into it further and separate fact from fiction.
What is DevOps?
DevOps is a combination of software development and information technology operations practices that emphasize the collaboration and communication of software developers (i.e., Dev) and IT professionals who run infrastructure (aka, Ops). One of the primary goals of DevOps is to establish a culture and environment where software innovation (e.g., building, testing and releasing software) occurs more rapidly and reliably, contributing to a better customer experience.
Better security is another goal of DevOps, which occurs as a result of spotting and fixing vulnerabilities more quickly and deploying security updates and patches faster. Another aspect of DevOps entails skilled professionals automating formerly manual processes, where developers become users of their software, and manual labor related to an infrastructure becomes unnecessary.
The explosion of cloud computing has expanded DevOps’ potential and made it more popular among software developers and ISVs. Many companies are looking at ways of using DevOps to streamline operational efficiency or improve working relationships across their organizations.
When DevOps Theory Meets Reality
Any new strategy or methodology that makes the kind of promises DevOps does—faster releases, quicker reaction time, automated tasks, better security—almost always comes with a few caveats and DevOps is no exception. According to a 2017 DevOps Pulse survey, which included input from more than 700 DevOps engineers, 70% of respondents indicated that the increased collaboration and product improvements came at a cost at an increased risk of burnout. One specific example shared by 51% of respondents was a lack of time with DevOps implementations. So, at least part of the “faster and quicker” benefits of some DevOps programs are that developers are being given shorter deadlines to get things done. While DevOps also entails using new tools and processes, it seems that these alone aren’t enough to create a healthy developer environment.
Task automation is another initiative that seems to cause companies difficulty. According to software testing tool provider LogiGear, which has been monitoring the state of software automation for nearly a decade reports that 90% of testers who responded to its survey said that only half or less of their tests are automated, 27% said just 10% or less of their testing is automated, and only 5% said 90% of their testing was fully automated.
Big Payoffs for Those Who Get DevOps Right
Although getting DevOps right appears to be difficult, there is a definite upside for those that figure it out. For example, in the 2016 State of DevOps Report, which included feedback from 25,000 technical professionals, organizations that use DevOps decisively outperformed their lower-performing counterparts. For example, they deploy 200 times more frequently with 2,555 times faster lead times, and they recover 24 times faster and have three times lower change failure rates.
DevOps is proving to be a revolutionary approach to enhancing software development in complex projects, but the big question many ISVs have to ask themselves is whether they can achieve the benefits of DevOps without increasing developer stress and burnout?
I’d love to know your ISV company’s experience with DevOps. What were the biggest hurdles you had to overcome? What kind of results are you seeing? What advice do you have for your ISV peers? Email me at email@example.com.