The DevOps cookbook
Are your DevOps initiatives burning or falling flat? For developers that need a little help in the kitchen, here are JAX London speaker Liat Palace’s four easy steps to whip up a fruitful DevOps implementation.
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, including a tutorial for facilitating a successful DevOps implementation. I believe this tutorial can help your organization as well.
My recommendation is to use top down and bottom up approach. The high level organization strategy should be defined top down, with KPI’s for success and vision. The bottom’s up approach is making sure that each project should articulate its own DevOps journey according to their needs.
In general, the following guidelines are suitable for a DevOps implementation at project level once the organization strategy has already been 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% 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.
Step 2: Strategy
Implementation strategy is an important phase that helps create the vision and mission. This 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.
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.
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.
SEE ALSO: Applying machine learning to DevOps
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.
I recommend that teams maintain all DevOps improvement items in a backlog, estimated and prioritized by the value and waste they are solving. I also suggest that they should use a single tool to achieve visualization of the work and focus.
My recommendation is to be aligned with the rhythm of the project or organization, since some of the backlog items might become scrum teams’ backlog items. (This includes things like automation, tools, architecture, and so on.)
- 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 basis as well. A retrospective should be performed at the end of each iteration.
SEE ALSO: DevOps-driven development and delivery
Step 4: Reassess
- Did our actions impact our results?
- We need to measure the end results in order to ensure that our changes are really having an impact.
By following all of the above steps, you will have a good facilitation mechanism that will help you implementing improvements. You will know that you are in the right direction once you can 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.
Liat Palace will be delivering a talk at JAX London 2018 on Tuesday, October 9 as part of the DevOps & Continuous Delivery track that explores the idea of a DevOps Cookbook in more depth and detail.
love me like you do