If you haven’t yet adopted DevOps in your application development, start now. Simply put, DevOps is to software delivery what lean is to production processes. DevOps aims to optimize the ratio of time to value – with high quality, of course. Software developers love DevOps because it’s considered cool. Unfortunately, a majority of developers treat DevOps the same way they initially treated agile: by only adopting the fun parts.
All your suppliers are going to deliver new releases more frequently than ever. A growing number of them do not allow you to choose when to upgrade. You will be forced to follow their rhythm. Without DevOps it is going to be painful, if not impossible.
First, familiarize yourself with the subject by reading The DevOps Handbook or The Phoenix Project. Both books are easy to read, not too technical, and teach you what DevOps really is about. After reading these books you can make your own judgements without being manipulated by your techies.
Start with a small but motivated team, preferably competent in agile methods. Select a non-critical assignment. Consider hiring an external DevOps coach. Your team is likely to spend a lot of time figuring out the right ways of working, wrestling with tools, fighting among themselves, and delivering little. Learning a new mindset may hurt. Tools may cause pain, too. There’s an abundance of nice open source tools available for DevOps teams but putting them all together for the first time is agony.
Be aware that developers tend to misunderstand DevOps. The core idea is to have development, operations, QA, and security working together at an agile pace delivering value through software. While everybody welcomes the idea in principle, developers usually find it handy to exclude the other three from the process as it makes their lives simpler. QA, Ops, and Sec are often happy to be excluded because they are probably even less familiar with the DevOps way than the developers themselves.
To get DevOps right you need to:
Prioritize work strictly based on business value.
Recognize that delivering business value sustainably requires continuous investment in software architecture and software process, too.
Really have your Dev, QA, Sec, and Ops organized together around the same priorities and the same pace of work.
Automate process everywhere you can.
Measure everything and use the measurements to make decisions about your business.
Many consider the adoption of DevOps a cultural change, and for a reason. Work culture is not magic: it is about habits and beliefs and they change through work structures, processes, practices, and tools.
To get an idea of what it will take to make DevOps work in practice, imagine taking a bunch of freedom-loving artisans (Dev), an artillery team from a disciplined army (QA and Ops), and a rules-driven government officer (Sec) and putting them all to work in a lean Toyota factory. That’s why you need to start soon and start small to achieve success in good time.