It's the Ranger4 #DevOpsFriday5 series - today's contributor is Stephen Williams. He's DevOpstastic!
1) How would you describe the relationship between DevOps, Agile and ITIL?
Agile is generally viewed as bringing the business sponsor closer to engineering, whereas DevOps is bringing engineering closer to the end user. Combined, they both effectively bring the business sponsor closer to their end users. ITIL really underpins the delivery of services and could be viewed as base underpinning both Agile and DevOps. ITIL is, however, a much more formal framework and in a fast paced world can be restrictive if implemented fully. Like other large management frameworks, with ITIL, a pragmatic approach extracting the pieces that add value and don’t slow you down can be taken. All three areas overlap in that they all require some form of continuous improvement: Agile with retrospectives, DevOps with automating processes and ITIL with the continuous service improvement stage. In all cases, the improvements should be driving an increase in performance, quality and efficiency, while also driving a reduction in risk, waste and cost.
2) Can you describe what DevOps looks like when it’s ‘done’?
I’m not sure you can ever say DevOps is “done”, there’s always something that can be improved. That said, an initial milestone on the road to 'done' would be to have achieved continuous deployment (i.e. multiple code deployments to production within a day), followed by continuous delivery (i.e. the switching on of features in production just in time based on a business decision). A second milestone could be the fact that dev and ops teams have transformed into cross-functional teams that deploy change to production as and when they believe is right, or supporting the infrastructure to self-serve the ability to deploy change to production. However, ultimately, I feel achieving DevOps (bringing Dev and Ops together) is really an extension to Agile (bringing Dev and QA together), being responsive to business needs and enabling change in direction quickly. With this, having a culture of collaboration, experimentation, obtaining fast feedback driving evaluated learning and all believing in movement towards common business goals is succeeding.
3) What do you think are the key metrics for DevOps?
As teams become more able to deploy, at will, multiple times per day then the metrics of interest change to understanding how much value is being generated. However, measuring potential value in many cases is hard. Therefore, there should be a favour for measuring speed which should be proportional to value being delivered, i.e. the faster you go the more value you should be able to derive. To measure speed then, you need to be measuring the lean metrics Lead, Cycle Time and Throughput. Although nobody wants mistakes, they do happen and in this case should want to measure responsiveness to resolve production issues (MTTR: Mean Time To Repair).
4) What attributes constitute a culture embracing DevOps?
Culture is born from the ideas, attitudes, customs, and behaviours exhibited by people that believe in, or are interested in a certain aspect; their aims and goals need to be aligned. Therefore, to support a DevOps culture, all team members involved in delivering change should have the same goals, be working collaboratively as a single team, believe we’re all in this together, and using their combined domain knowledge and skills to provide systematic thinking to problems. Teams should take a continuous improvement, kaizen ethos to making small incremental changes that reduce the waste, handoffs and cycle time. Finally, the team that shipped the change are responsible for it not another team. Creating the right environment to support new activities and behaviours should allow culture to evolve.
5) Is Continuous Delivery the ultimate goal of DevOps? How do other ‘Continuouses’ (continuous deployment, testing, improvement etc) contribute in a DevOps transformation?
The reason to put change into production is to create money (new features/services), protect money (compliance), or save money (efficiencies). So the ultimate goal of DevOps is to create some business value. Fast feedback means you can test an idea, fail quickly and try something else to reach the business value - in other words 'evaluated learning'. Continuous Delivery being the ability to deliver and enable new capabilities in production by feature toggles is a key milestone supporting the possibility of experimenting and validating new ideas (hypothesis driven development). There is still a need to implement fast feedback loops to validate the ideas, so continuous testing is important. Continuous deployment is really the enabler to putting changes to production fast and reliably - minimising the risks as much as possible to inconsistencies and validating through a battery of tests. Continuous improvement means you are always looking for the next area to improve performance (inspect, act, adapt) in either processes (removing waste or bottlenecks), technology (modernising and scaling), or people (skills and organisation). The technical change is a challenge but many problems have been solved to some extent or another. It’s the organisational change to support a faster more efficient delivery service that can be the hard part and you need to be prepared for.
Stephen Williams is VP Engineering at Ticketmaster International, leading the technology and development of the International Ticketmaster and Live Nation consumer platforms for the last ten years, building web and apps across a heterogeneous range of technologies that include the best of breed OSS and commercial software founded on Java, PHP and .Net stacks. He has introduced concepts, process and strategies such as Agile Development Processes, Automated Testing, Behaviour Driven Development, long range estimation, community of practice, career mapping. Over the last 2 years, Stephen has been focusing his attention across all international teams to define and direct the change and implementation of co-ordinated engineering strategies in collaboration with Product and Technical Operations teams. A primary focus has been the evangelising and embracing of DevOps culture, leading and defining the aspects of Ticketmaster International DevOps program.
Follow Stephen:On Twitter
Do you have something you'd like to say about DevOps? If you would like to be featured on #DevOpsFriday5 click the button below.