Aligning DevOps and change management
Companies are committing to DevOps; in fact, according to a recent survey, three-quarters of leaders have adopted DevOps into their operations. DevOps delivers speed and agility to the development process. By cross-training operations and engineering, development teams can move faster through better collaboration, making continuous integration and continuous delivery (CI/CD) a reality for organizations.
The challenge some companies face, however, is change management, the process used to control any change related to a product in production. The process is there to ensure things don’t move too fast, and that production isn’t rushed. Companies that can align DevOps with their change management process see the greatest gains in getting products to market.
DevOps has changed the way companies build and deploy software
Developers used to work in isolation. Not anymore. DevOps brings together engineering, operations, and security, breaks down the silos that previously existed when individual teams worked alone, and helps application development work as a cohesive unit. Ten years ago, the development process used to be develop, develop, develop, test. Companies were under an assumption that developing without feedback would make the production process faster, but that resulted in repeated errors and an incohesive workflow. Now, because of DevOps, it’s develop, test, develop, test. Testing has become core to the process, eliminating assumptions teams used to make because testing was a low priority.
When this process is taking place in the data center, there becomes a heightened awareness around tools and people. The industry is seeing a rapid decline in expertise due to retirement and is battling with other engineering disciplines for talent. And, while modern development tools like Git, Jira, and VS code can be used in the data center, those tools were not intended for data center platforms. In a DevOps world, that leads to less experienced developers having to speed up development cycles and release code much faster – with tools not designed for the platform.
This paradigm shift -- people exiting and entering the profession, coupled with modern development tools being used on very mature platforms -- is where change management becomes invaluable to the DevOps process.
Change management brings consistency to DevOps
Change management ensures that any changes made to the software or infrastructure are implemented without causing disruptions or issues. Bringing new talent on board, using new tools, and turning out code rapidly is a beehive. With the focus on CI/CD to bring speed and efficacy to development, change management mitigates risks by eliminating unexpected problems or conflicts. It also captures changes, which is significant for operating a reliable system.
Change management should be flexible enough to adapt to changes in process -- which is what DevOps presents. Whether a company is moving from waterfall, Agile, or some other process, DevOps is a new consideration altogether.
Here are some key considerations for incorporating change management into DevOps:
- Establish how changes will be requested, reviewed, approved, and implemented. The teams that have come together to make DevOps shine must all be at the table to agree on the process and put a change tracking system into place. This is important to not only track all the changes made, but to provide visibility into each change.
- Incorporate extensive testing and validation for each change. Each change must be thoroughly tested in a controlled environment. This is the hallmark of every good change management process: validating every change before it goes into production.
- Trust in the DevOps process. DevOps has strengthened collaboration and communication across the organization -- have confidence in that paradigm shift in the organization and embrace it. Communicate regularly with stakeholders to ensure there are no surprises.
- Iterate, iterate, iterate. The beauty of DevOps is that decisions are often made on the fly -- but that can go off the tracks if there is not continuous monitoring of how the change management process is working. Do not be afraid to make adjustments.
DevOps is becoming the standard, which means close collaboration between development and operations/IT is needed for better visibility across the entire development and deployment process. Aligning DevOps with change management bridges the gaps companies face when training new developers, embracing new tools, and facing a process that makes speed a priority -- leading to a successful process in getting products to market.
Chris White is Principal Product Manager, Rocket Software.