The Hats of Release Management
Client: “Well first the Test Manager raises a CR for a new Release and then this guy here runs Jenkins to create a package and then we do [this and that blah blah blah]” Enov8: “Mmm! Ok you kind of described a Change Request followed by a Deployment. However, I was thinking somewhat broader. I was wanting to understand how your organization would manage a Portfolio or Quarterly Release. And I’d assume the process you described is not that?”There was some “Umms & uhhs” and then I realised that they had organised a meeting with engineers responsible for deployment. The kind of guys that might use a uDeploy, Bamboo, Octopus, or Electric Cloud. Essential roles, yet not the ones I had necessarily expected in this meeting. Mmm … my bad! … time to change the purpose of this workshop. To be fair, it didn’t impact me or the client too much, as our solution crosses the whole release spectrum, of which “Enterprise Release Management” is just one facet. However, perhaps next time I am a little clearer on my audience and expectations. So, with that in mind, what are the roles & responsibilities of Release Management? If I was to look at the Release Management Spectrum I can clearly spot 2, potentially 3 roles.
- The Enterprise Release Manager
- The Deployment Manager
The role of the Enterprise Release ManagerAn overarching role typically focussed on moving enterprise changes into production. Or the person responsible for the Agile Release Train. Day to Day Responsibilities:
- Enterprise Release (Portfolio) Scoping
- Pre-Release Communication – Advertising the broader purpose of the release & ensuring leaders are aware.
- Release Registration i.e. Project Onboarding – Define phases / stages – Define activities to be completed in each phase – Define milestones & stage gates
- Demand & Contention Management Note: Typically, in conjunction with Test Environment Management
- Enterprise Release Calendars (big picture communication)
- Enterprise Release Tracking / Performance Measurement
- Enterprise Release Risk Management
- Status Accounting & Reporting
- Post Implementation Reviews for Lessons Learnt & Continuous Improvement
- Enterprise Release Governance Strategy
- Promotion of Deployment Standards – Implementation Planning – Roll Back Planning
- Stakeholder Management – Stakeholders across the IT community and include Dev, Ops, Test & Project Managers.
- Ability to manage up & manage down – Enterprise change impacts the business and the key executives.
- Solid ITSM experience – Release & Change are core to ITSM best practice.
- Solid Project Management experience – At the heart of ERM is master scheduling & tracking.
The role of the Deployment ManagerIn my opinion the heart of effective DevOps & CICD (Continuous Integration / Continuous Deployment). A relatively hands-on and technical role and potentially a very technical role as you endeavour to automate everything across your system stack. Day to Day Responsibilities:
- Source Version Control, Branching & Labelling – Although may fall under the Software Configuration Manager.
- Build Management, Unit Test & Packaging – Ideally fully automated.
- Definitive Software Library / Release Repository – Establishment of ‘source of truth’ (SSOT) to promote both promotions & rollbacks.
- Deployment / Implementation Planning – Ensuring that tasks are communicated, coordinated & ideally standardised.
- Deployment Automation – Promoting streamlining and reduction in manual error.
- Shakedown – Ensuring target solutions are still operational & healthy. – Ideally using End to End Test Automation (aka Test Synthetics). Note: Often passed to the Test Environments and/or Test Automation team.
- Promotion of Build Standards & Automation
- Promotion of Deployment Standards & Automation
- CICD Strategy
- Broad Technical Skills -Enjoys getting hands dirty and not scared of the Environment Stack (Apps, Data & Infra).
- A Team Player – Working closely with different delivery teams e.g. Engineers, Developers & testers.
- Solid Software Engineering experience
SummaryThe above was just a glimpse at the two types of “release management”, however every organisation has its nuances and expect to see different titles, responsibilities and some overlaps. If I was to explain it as simply as possible, however, I’d offer this:
- Enterprise Release Managers are focussed on delivering organizational change at scale.
- Deployment Managers are focused on tribe/team activities and rapid system change.
03JUNE, 2022 by Niall Crawford & Carlos "Kami" Maldonado. Modified by Eric Goebelbecker.DevOps at scale is what we call the process of implementing DevOps culture at big, structured companies. Although the DevOps term was back in 2009, most organizations still...
Test Environment Management Explained 3JUNE, 2022 by Erik Dietrich, Ukpai Ugochi, and Jane Temov. Modified by Eric GoebelbeckerMost companies spend between 45%-55% of their IT budget on non-production activities like Training, Development & Testing and lose...
3JUNE, 2022 by Eric GoebelbeckerWhat Is Serverless Computing? Serverless computing is a cloud architecture where you don’t have to worry about buying, building, provisioning, or maintaining servers. In return for structuring your code around their APIs, your cloud...
25MAY, 2022 by Niall Crawford & Justin Reynolds. Modified by Eric Goebelbecker.So, you’ve decided to implement a Scaled Agile Framework (SAFe) and promote a continuous delivery pipeline by implementing “Agile Release Trains” (ART)*. Definition: An Agile Release...
24MAY, 2022 by Keshav MalikWith the rise of agile development methodologies, the need to quickly test new features is more critical than ever. This is especially true for websites and applications that rely on real-time data and interaction. The only way to ensure...
20MAY, 2022 by Jane TemovMost organizations employ strong security measures to keep production data secure while being made available for day-to-day business activity. However, Data may be utilized for less secure activities like testing and training, or by third...