1) How would you describe the relationship between DevOps, Agile and ITIL?
DevOps, Agile and ITIL all improve practices of development and delivery pipelines for products and services. While all three contribute practices to the full spectrum of the pipeline, Agile is primarily focused on the front-end practices for development in a way that enables delivery while ITIL is primarily focused on practices for the delivery side. DevOps is more about practices and automated infrastructures that couple the front end of the development-delivery pipeline with the back-end and eliminate the wasteful silo hand-offs. DevOps is complementary to Agile and ITIL, and is a logical “next step” in process evolution.
2) Can you describe what DevOps looks like when it’s ‘done’?
DevOps is all about making processes precise, automated and continuous which themselves are continuously improving so in that sense DevOps is never really 100% done. Therefore it is more important to describe what DevOps looks like when a baseline DevOps has been accomplished sufficiently to be considered a functioning DevOps environment suitable for continuous improvement. A “complete” DevOps baseline is “up and running” when the development and operations teams have accepted to work together and are together using a mostly automated infrastructure which supports a continuous pipeline from integration through to delivery.
3) What do you think are the key metrics for DevOps?The primary business values delivered by DevOps come from the reduction of waste in the delivery pipeline so the most important metrics have to do with waste reduction for the organizations that DevOps serves. Three key example metrics are the number of times problematic product changes cause the automated DevOps infrastructure to be stopped, the number of times changes have to be rolled back and the up-time of the infrastructure.
4) What attributes constitute a culture embracing DevOps?
The fundamental cultural attribute for successful DevOps environments is people across all functions involved in the development/delivery pipeline continuously work together to reduce process friction. Ironically to accomplish this continuously often result in personal stress and friction because everyone is constantly trying to root out weak links in the pipeline. So another key attribute in successful DevOps cultures is leadership and human resources practices that encourage and support staff practices that support reducing process friction yet are sensitive to helping staff that experience personal friction.
5) Is Continuous Delivery the ultimate goal of DevOps? How do other ‘Continuouses’ (continuous deployment, testing, improvement etc) contribute in a DevOps transformation?
The ultimate goal of DevOps is to create a precise and automated environment for integrated continuous development and delivery pipelines. This goal requires the environment to be accepted by all parties involved in the continuous pipeline from development, test, delivery, deployment and support. The goal is to have an environment that everyone can contribute to and use and be the basis for continuous improvements going forward.
About Marc: Marc Hornbeek is Sr. Solutions Architect of DevOps continuous test solutions at Spirent Communications, Infrastructure Test Optimization (ITO) BU. He recently managed DevOps at Spirent. He has performed as the primary architect of test automation tools and champion of test automation for firms ranging from start-ups to large multi-national companies. He published more than 30 articles and has been a speaker at numerous conferences and user forums primarily regarding topics related to continuous automated testing and DevOps.
Do you have something you'd like to say about DevOps? If you would like to be featured on #DevOpsFriday5 click the button below.