What Are the Best Practices for Release Management?
DevOps, although not a new concept, is increasing in popularity; and as its adoption rate increases across the globe there are becoming some worrying signs that although a great concept there are some shortfalls in the process. Our observations from many DevOps engagements conclude that the following are the key indicators which suggest you need to refine your release management process:
- Everyone in the DevOps team is stressed, or worse still burnt out.
- Releases mainly happen out of core hours and often on weekends and Bank Holiday.
- Your team relies on a single ‘Go To’ person, the only one who knows how to get the code deployed.
- Users are often negatively affected by new releases – bugs in live.
- You might not be superstitious, but your project manager brings into work a lucky black cat, a rabbit’s foot and hangs a horse shoe above the server room door for every software release…!
It will come as no surprise that automating the release management processes and reusing proven practices that work makes developing and releasing software reliable, repeatable and predictable.
Deployment of software, configuration of servers and setting up parameters can all be automated and subsequently tested by automated tests, ensuring that predefined metrics and results are checked against. Most of this can be done at the press of a button and scheduled to run at any time without having to drag the whole dev and test teams into work at 2am. All this with the knowledge that the process can be 100% repeated without anything being prone to human error like a setting being missed.
Automation of processes doesn’t stop there; think Disaster Recover and Fail-Over, how is this deployed and tested in your organisation and can it be repeated at the press of a button (and work)?
If you would like to know more about DevOps Release Management and how this fits within your Project Life Cycle, then please do call us, we would be glad to assist.