The Hats of Release Management
Explore the roles of the Enterprise Release Manager and the Deployment Manager and see the day-to-day responsibilities, key skills, and more!
Join the DZone community and get the full member experience.Join For Free
I was in a workshop recently and I asked the client to “describe their Enterprise Release Management Process.”
A simple enough question, however, their answer was somewhat misaligned with my expectation.
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 were some “umms and uhhs,” and then I realized that they had organized 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 and 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
Two complementary, yet different functions (or set of ‘hats’).
So, what are the responsibilities of these “fashionable” fellows:
The Role of the Enterprise Release Manager
An 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 and ensuring leaders are aware.
- Release Registration i.e. Project Onboarding
– Define phases/stages
– Define activities to be completed in each phase
– Define milestones and stage gates
- Demand and 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 and Reporting
- Post Implementation Reviews for Lessons Learnt and 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, and Project Managers.
- Ability to manage up and manage down – Enterprise change impacts the business and the key executives.
- Solid ITSM experience – Release and Change are core to ITSM best practice.
- Solid Project Management experience – At the heart of ERM is master scheduling and tracking.
The Role of the Deployment Manager
In my opinion the heart of effective DevOps and 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 and Labelling – Although may fall under the Software Configuration Manager.
- Build Management, Unit Test and Packaging – Ideally fully automated.
- Definitive Software Library/Release Repository – Establishment of ‘source of truth’ (SSOT) to promote both promotions and rollbacks.
- Deployment/Implementation Planning – Ensuring that tasks are communicated, coordinated and ideally standardised.
- Deployment Automation – Promoting streamlining and reduction in manual error.
– Ensuring target solutions are still operational and healthy.
– Ideally using End to End Test Automation (aka Test Synthetics).
Note: Often passed to the Test Environments and/or Test Automation team.
Note: The above uses relatively “application-centric” language, but fundamentally the above tasks can be applied to sister operations like infrastructure operations (e.g. build, provision, configure and decommission) and data operations (fabricate, extract, profile, transform, validate, gold-copy and load).
- Promotion of Build Standards and Automation
- Promotion of Deployment Standards and Automation
- CICD Strategy
- Broad Technical Skills -Enjoys getting hands dirty and not scared of the Environment Stack (Apps, Data and Infra).
- A Team Player – Working closely with different delivery teams e.g. Engineers, Developers and testers.
- Solid Software Engineering experience
Tip! Don’t put your worst developer in this role, as it will fail.
The above was just a glimpse at the two types of “release management”, however, every organization has its nuances and expects 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 focused on delivering organizational change at scale.
- Deployment Managers are focused on tribe/team activities and rapid system change.
And, both are essential, especially as we try to marry the world of Agile and DevOps.
Published at DZone with permission of Niall Crawford. See the original article here.
Opinions expressed by DZone contributors are their own.