In a compendium of IT management, chapters and topics fall in and out as technology and best practices evolve. DevOps is becoming a chapter of its own and migrating to the front of the book.
DevOps is not just a new word in our lexicon, but is also a new way of doing business. The moniker "DevOps" -- a combination of the words "development" and "operations" -- isn't yet in Webster's Dictionary. However, it is quickly becoming a popular effort for IT managers to manage and commonly used in the software industry.
As important as the process it controls are the culture and skill set that make it all work. Best practices are to DevOps as lean is to manufacturing. The ultimate goal is an application that is seamlessly developed and revised, and delivered as fully functional with a minimum of errors. As DevOps goes, so goes the product and so goes the end-user experience.
For this reason, the internal culture must change and implement best practices as DevOps becomes more common in winning IT organizations.
In 2013, San Francisco-based Puppet Labs surveyed over 4,000 IT operations and development professionals. Their research found that "DevOps adoption is accelerating across organizations of all sizes." They found that 63% were using it in 2013, up from 50% of respondents who used it in 2011 -- a 26% uptick in DevOps usage. DevOps is in motion.
Understanding DevOps best practices brings value to the enterprise doing the work as well as to those who use what they deploy. We did our own "kicking the tires" of DevOps best practices and decided to shell out a few cards of best practices at a time. Here's what we have so far:
1. Keep the momentum going.
Once you start your DevOps process, continue to improve and refine it. According to Puppet Labs' survey, organizations that employed DevOps for over a year had higher deployment rates, had lower change failure rates and took less time to recover from failures.
2. Focus on performance.
"The ultimate goal of a DevOps approach is the production of a high-quality product. In order for a product to be high quality, it absolutely must perform well," says Andreas Grabner, a technology strategist with Detroit-based Compuware APM and subject matter expert on DevOps. "That is the most important factor in determining its value. So while many organizations want to adopt a DevOps culture to maximize their efficiency, predictability, security and maintainability as new products are rolled out, if performance is not prioritized, all the efforts that went into meeting the above criteria are for naught."
3. Conduct version control and automation.
So you've focused on performance. Now how do you make it happen? The survey also found that the highest-performing operations shared two common practices: 89% use version control for infrastructure management and 82% use automated code deployments. Sounds simple, seems basic -- but it works. These were two common practices that led to better performance overall within their DevOps collaboration chain.
4. Create tight feedback loops.
This means aligning quality checks from the developer camp with those of the operations camp. Sometimes they march to the beat of different drums, and getting them aligned to the same criteria creates more valuable output. This alignment can happen with tight feedback loops. Grabner stresses the importance of feedback loops and says the acid test of quality is found by looking at the real end-user experience and using that data as the basis for optimizing performance. "Real end-user behavior should be the main factor driving development," she says.
5. Redefine your skill sets.
According to Puppet Labs' research, important skills in building a cadre of DevOps professionals might be a bit different from the usual skills of IT professionals. The most salient skills their respondents say they look for in hiring for their DevOps teams are coding and scripting (84%), people skills (60%), process re-engineering skills (56%) and then experience with specific tools (19%). Notice that people skills outweigh specific experience three to one. Crossing boundaries from one department to another is a recurrent theme in nailing down the DevOps culture, and these findings show that.
Best practices build the right culture, which then drives the DevOps organization. "A good DevOps organization will free up developers to focus on doing what they do best: write software," says Rob Steward, vice president of product development at Progress Software. "DevOps should take away the work and worry involved in deploying, securing and running the software once it is written."