Every week we get asked "what do you think the purpose of change and release management is in DevOps versus deployment practices?" Typically this is brought on by organizations that have adopted an ITSM framework and want to use automation to do better, faster, safer and cannot adapt to new models of work.
Start by asking what is the purpose of Change Management?
Change Management is not about doing the change, but instead helping us answer the question should we with a “yes” or “no” at every step of the value stream of ideation to delivery and improvement.
How many times has a request been approved, but what was delivered did not match what was approved? If IT has no value until it delivers something that is usable to a customer, we need to ensure that what we want to change (new or current) will enable us to be competitive, compliant, reliable, secure and cost-efficient as quickly as possible.
DevOps hinges on making the flow of idea to delivery and improvement work as smoothly as possible. Change Management should control every aspect of this value stream. Now we have to define the purpose of the remaining technology processes applied to the value stream:
- Develop: ensure the idea is valid, and if so begin to create it
- Test: continuously ensuring the idea is right will achieve value and make sure it is being developed correctly
- Release: get everything ready to let what we have created into the targeted environment
- Deploy: agree that what we have agreed can be released into the targeted environment
Change Management is the governance process that links the work of an idea to live and improve. Live is from the moment it is created and not just when it is in production. We hear many times that something being developed impacted an organisation in wasted effort or impacting current services. If Change Management acts as your governance model, then think of how it can help reduce the number of defects (approved incidents) or enhance the flow of work by minimising the need for meetings using standard development, test, release and deploy models and tools.
We have a customer that has used DevOps to automate as much as possible the technology value stream such that there are few if any change approval board meetings. This is not daft and they are a major firm so governance is paramount, but they looked at each aspect of what they do and then used technology and trust of staff working together to facilitate the delivery of an approved request.
Configuration management – the most missed process
To be effective (first) and efficient (second), we need data. Where are requests, business cases, regulatory and architectural requirements for design, code, tests, or service acceptance criteria maintained? Data is converted into information to gain knowledge for value delivery. Configuration management is the data to knowledge management process. The information in a configuration management database (CMDB) can be used to enhance the way a process, team or tool performs. For instance, if we create a cycle data to support the delivery value stream we could enhance the ability to approve (or not) therefore reducing risk or facilitating agility. Configuration underpins our capability to create standard ways of working which is the lynchpin of DevOps.
How do we start?
Map your value stream completely and then look into each process block to see how people and technology work together to create the outcomes of that process. Turn this baseline into an improved future state by applying people and technology differently. Have KPIs that matter and enact a decision of this is good, or we have hit a snag to keep on target of continued improvement to better, faster, safer delivery.
As each step occurs, look at your various processes and capture the inputs and outcomes in your configuration management databases. Use this information to automate where it makes sense and then guide the decision by looking at how the ability to innovate is enhanced.
Have fun doing it!
You cannot continue to discuss and manually approve each request, or for each point along the value stream to let the request continue. DevOps practices can facilitate your ability to use technology (people, suppliers, processes and IT) smarter.
Try DevOps and see what happens. Let us know your experiences.