One question that I get asked frequently, when talking about DevOps is: where do I begin?
A follow-up question is – Can you recommend any checklist or set of steps to get into DevOps?
My short answer to that question is: start where you can show some short term improvements.
How does one identify that? In most organizations, one neglected area is IT operations. Even though there are models and techniques – such as ITIL or Lean, Six Sigma etc, it is not very common for these to be integrated with the ways of working of the organization.
So, it is best if one can start with the operations area and look for some quick wins. The KEDB for those implementing ITIL or the log of tickets for others along with runbooks for applications can provide a lot of insight into identifying the top time and effort consuming activities that can either be reduced or eliminated. In doing this, automation of activities, self service capabilities for users, enhancement of applications could be considered for improvements. For activities that are repetitive or those that need to scale across the server farms, as well as the incoming quality gate activities for assessing the application quality and stability through testing in an integrated manner – consider automation.
Step 2 could be to look at the handoff interfaces within the IT ops groups – sometimes the verticals or micro verticals within Ops such as network, security, database etc and study the flow of typical transactions – ranked by either the priority / impact or the frequency of occurrence. This would help in reducing any wait times within the IT Ops flows.
Step 3 could be to extend this into the interfaces with external teams – particularly the development or engineering teams. While the ultimate goal of DevOps would be to eliminate the barriers between Dev and Ops and create a collaboration and mutually supporting team, the first baby step could be to create a mutual understanding and awareness of each other’s activities and the constraints that they operate under. This will help in creating or improving the empathy across the two groups. This will be very useful to accelerate the collective ownership of the business impact created by the IT solutions.
A related initiative to step 3 would be to assess the readiness of the dev teams to adopt agile values and principles in their working models. For organizations and teams that are just starting out on an agile journey, it will be very good to take guidance from an experienced coach, either from within the organization or from outside.
A common thumb rule for all the above steps is to first review and simplify the current processes and practices before automating.
If you have read this far, it would mean that you have a serious intention to internalize the basics of DevOps. More on that in a later post.
Do share the improved practices that you have implemented successfully. They could be of relevance to many of your peers who have also embarked on their DevOps journey.
All the best!
Image source: blogs.msdn.com