Devops is one of the key trends in software development to emerge recently. But the term is often not fully understood.
An amalgamation of “development” and “operations,” “devops” describes the organizational structure, practices, and culture needed to enable rapid agile development and scalable, reliable operations. Devops is about the culture, collaborative practices, and automation that aligns development and operations teams so they have a single mindset on improving customer experiences, responding faster to business needs, and ensuring that innovation is balanced with security and operational needs.
For development teams, that usually means standardizing platforms, following an agile development process, and participating in operationally driven initiatives. For operations teams, it means targeting better stability, reducing costs, and improving responsiveness.
Core devops practices center around infrastructure configuration standards, automation, testing, and monitoring. But devops also requires cultural and mindset changes in IT.
And not everyone agrees on the organizational structure and how responsibilities are assigned between development and operational teams.
Some people stress a merging of development and operational people and responsibilities so that one devops team carries both responsibilities. This does have some cultural advantages as both developers and engineers are now forced to respond as a team to both operational and business needs. And this structure can be more efficient, especially in smaller shops that can’t easily dedicate resources to focus on development or operations independently. Many people also argue that when you standardize on cloud infrastructure and automate most workflows, there is less of a need for having separate sets of people with different skills and responsibilities.
Although this integrated structure may be possible, it’s a difficult hill to climb for organizations carrying legacy systems and without superskilled engineers who can enable all the standards and automation. And even when that’s possible, I believe that most organizations that are driving digital need to separate first, achieve their digital business agendas, and then perhaps look to merge when there is a maturity of IT practices. That is my recommendation for how transformational organizations need to implement devops.
In this transformational view, devops aims to reduce conflicts that arise when developers are focused on meeting business demands to add functionality and improve the usability of applications whereas operations teams are traditionally more focused on the stability and security of the computing environments. It tries to educate developers on operational responsibilities and educate operations teams on how to serve business needs smarter and faster.
When there is a shared understanding and a better alignment on priorities and process between the development and operations team, a more customer-centric devops culture emerges.
The basic technical concept in devops is: As you automate more of the interactions with the infrastructure from building, testing, deploying, and monitoring, you can remove many operational defects and better align development and operations processes. From a practice point of view, the big questions involve what tools to use and how much to invest developing any single devops practice area.
Related video: The rise of devops in the enterprise
Isaac Sacolick is the author of Driving Digital: The Leader’s Guide to Business Transformation Through Technology, which covers many practices such as agile, devops, and data science that are all critical to successful digital transformation programs. Isaac is a recognized top social CIO, a long time blogger at Social, Agile and Transformation and CIO.com, and is now president of StarCIO.