This blog follows on from last week’s Seven Steps to Start Your DevOps Initiative – part 1. The paper “Seven Steps to Start Your DevOps Initiative” by Ronni Colville (2014) lists 7 key recommendations for successfully implementing DevOps. Below I continue my discussion and share my insights for steps 5 – 7.
5. Change the Metrics
Defining meaningful and actionable KPIs is one of the best ways to focus the organisation on delivering the right business outcomes. Making sure the metrics are based on clear business outcomes means each improvement delivered should have a positive impact on the business. In this way, feedback loops can be used to assess progress against the business goals, and they will provide motivation and drive to spread DevOps throughout the organisation.
For example, instead of aiming for a specific frequency of releases, aim to be able to deliver for the customer, which may involve being able to release a new product on the website within a specified amount of time. Once the metrics have been agreed upon, make sure they are relevant for all teams (dev, ops, test, security etc.). Business objectives which have tangible goals for delivery teams on the ground will create shared targets, a collaborative culture, and remove the conflicts which are usually present e.g. new features vs. stability.
Importantly, KPIs and metrics also need to be consistently implemented across the company. Inconsistent goals mean that tangible business value will be difficult to achieve, and it will be hard to measure the success of your DevOps transformation. In the worst case, having badly defined metrics can guide undesired behaviour and even set back the DevOps progression.
6. Automate as much as possible
Implementing automation in an application team can be the easiest way to get started on the DevOps roadmap. When considering automation, it is always important to think about the business goals (identified in step 1) and align the automation goals to those. This way, the feedback loops can input into the automation strategy and it will help to identify if the automation is providing enough real business value.
Team culture is an important consideration when implementing automation for the first time in a team. Generally, job roles will evolve once the repeatable tasks have been automated. This will have an impact on the staff, who should be able to progress on to more interesting and critical tasks. If operations engineers are not satisfied, it can be stressed that operational knowledge will always be key and operational roles have not been made redundant. This change should be communicated effectively so that all team members understand the future of their roles. Job satisfaction can and should improve as an outcome of the DevOps changes, as roles will evolve to include more creative and important tasks. Change management is a critical part of DevOps, and is often the difference between a successful or failed DevOps programme.
7. Consider a Toolchain
In my experience, creating a shared DevOps toolchain will really benefit the collaborative culture between teams. Once established, the same tools (usually) are used by all team members and this is a key enabler for successful and ongoing collaboration. It can also streamline and consolidate processes as duplicate entry into 2 or more similar systems is no longer required.
When creating a DevOps toolchain, identify the complete chain, and what the end state looks like. Once a complete toolchain has been established and is in active use by all stakeholders, then the biggest benefits will be seen. Traceability is a key benefit of a complete and integrated DevOps toolchain, as requirements can be traced easily through to the work items and release artefacts. As the same tools are used across the team, all team members and stakeholders can access the same data to make informed decisions.
This concludes my thoughts on the “Seven Steps to Start Your DevOps Initiative” paper. Since this paper was published the DevOps movement has progressed in many areas. Some areas of DevOps which have not been discussed in much depth here are covered in more detail in other Sandhata whitepapers and blogs:
- Conducting a DevOps maturity assessment
- Using KPIs and Analytics effectively to drive DevOps change
- How to achieve long term cultural change and collaboration
To discover the difference DevOps can make for your business, take a look at our Solution Brief: The Sandhata DevOps Approach.