One of the major challenges facing every significant change or transformation is how to start? This is especially true in the case of DevOps implementation.
There are many definitions of DevOps. From my experience, for example, if you ask for a definition from ten different people you will get ten different answers.
Moreover, every implementation is considerably different from all others, and so is the focus and need of the relevant organization.
During my journey through Amdocs, I learned a number of things, one of them being a tutorial for facilitating a successful DevOps implementation. This tutorial, I believe, can help your organization as well.
My recommendation is to use top down – bottom up approach.
High level organization strategy should be defined top down, KPI’s for success and vision. While each project should articulate it’s own DevOps journey according to the needs, Bottom up.
In general, the guidelines are suitable for DevOps implementation at project level once Organization strategy is already set. It is divided to four major steps – two of them are performed one time only while the other two are iterative.
STEP 1: INITIATION
Define and articulate what DevOps represents for the project.
Start by increasing your knowledge.
- Learn from the mistakes others have made.
- Make an effort to meet people, read relevant literature, consult with others; in other words, learn as much as you can about DevOps and how best to implement it.
Where are you now? How far away are you from where you desire to be?
- Assess where you are against where you want to be.
- There are many assessment tools available online.
- Assess all areas that will be impacted by the implementation, including human resources, mindset limitations, work flows and processes, tools, technology, architecture, and so on.
Tip: Make sure to give attention to the assessment aspects as well as to technical improvements. Many organizations tend to focus on the latter only, overlooking the fact that, according to Gartner, only 8% out of the DevOps transformation consists of Technology.
Who will lead the change?
Strong sponsorship is a must. There is no chance to lead any transformation without having the backing and support of management.
STEP2: STRATEGY
Implementation strategy, an important phase that helps create the vision and mission, is the responsibility of the project’s leadership.
What are the problems we are trying to solve?
- Look at the current challenges and missions of the project and articulate what this journey is expected to achieve.
- Define the success criteria and KPIs.
Strong sponsorship is a must. There is no chance to lead any transformation without having the backing and support of management.
What areas are we going to touch?
- Obviously, when talking about DevOps we know that we are dealing with processes, technology and culture.
- As we look deeper, however, and take a view of the entire system, we inevitably learn that there are many additional factors that influence the delivery.
- For example, HR processes; how can we combine operations and development efforts when there are different HR processes supporting the implementation?
- Funding models are another example; can we work quickly if our contracts do support these models? Or if or sales reps do not know how to sell them?
How should we facilitate the change mechanism?
- Focus on cadence.
- Scale the implementations.
- Define R&R appropriately.
Quick wins
- As the journey will be long, we need to be on the constant lookout for low hanging fruits that will result in small successes and motivate the teams.
- Value stream mapping can definitely help decide where to make the right investments.
STEP 3: THE IMPLEMENTATION MACHINE
In order for the journey to last and to ensure that our capabilities will continually improve, we must create a strong change driving mechanism.
Backlog
- It is recommended to maintain all DevOps improvement items in a backlog, estimated and prioritized by the value and waste they are solving.
- I also suggest using a single tool to achieve visualization of the work and focus.
Cadence
My recommendation is to be aligned with the rhythm of the project/ organization since some of the backlog items might become scrum teams’ backlog items. (automation, tools, architecture, and so on).
Ceremonies:
- Depending on the scale and size of the change, each steering leader can be assigned to lead a different team.
- Each team will act as scrum team with all the related ceremonies, while the steering effort will become the scrum of scrums.
- Backlog grooming should happen on a regular bases as well, and a retrospective should be performed at the end of each iteration.
Step 4: REASSESS
- Did our actions impacted our results?
- We need to measure the end results in order to ensure that our changes are really having an impact.
By following all the steps above you will have a good facilitation mechanism that will help you implementing improvements.
You will know that you are on the right direction once you will manage to inspect impediments from the ground and solve them as part of the DevOps improvement mechanism.
Our goal eventually is to create a continuous improvement mechanism.