Release Management – QA or engineering?

There seems to be some debate around where in an organization Release Management really belongs.  Is release management a function of engineering, or is it a function of quality assurance or quality control?  A case can be made for both, or neither.

On the one hand, release management is certainly a function of engineering or software development.  What good is a slick piece of code if it can’t be integrated, tracked, and released into the world?

On the other hand, the release manager is the last line of defense for what actually gets deployed.  So in that sense, the release manager must be acutely aware of quality issues.  Obviously, the release engineer can’t be completely in on all the requirements or business needs – that’s outside of his scope.  However, he must be aware of things like system resources, monitoring, logging, etc.  All the things going on behind the scenes to ensure quality of response and uptime.

Release Management as an engineering function

Often times, relatively small software development teams don’t recognize or appreciate the need for a central resource to handle build, deployments, and environment maintenance.  Typically, you’ll find one engineer in the group who’s familiar enough with SCM systems, web services, UNIX/Windows admin, etc to step in and fill the role.  Depending on the size of the team and the complexity of their development processes, this is often sufficient. 

In any case, someone needs to take ownership of these issues, and that someone should have at least some knowledge of complex systems and how applications are built and deployed.

Release Management as a Quality function

The release manager definitely needs to work closely with the QA team, in order to properly plan and allocate resources to test apps before releasing them into production.  In some cases, the release manager can help a QA engineer determine the nature of a bug, and whether it’s an environment/server config issue, or simply a bug in the app.

My humble opinion is that release management sort of “straddles” both engineering and QA, and as such really belongs in either it’s own organizational unit, or could fall in with operations/IT management.  I guess it really comes down to how your team is organized and what the real needs are.

Advertisements

9 Responses to “Release Management – QA or engineering?”

  1. Anne Says:

    I find this article very interesting; however, I have one issue. What if you don’t have a QA organization and are trying to create one in a rather slim organizational structure? Ideally, QA is not held within Development as a check and balance. Where do you recommend QA be housed to keep it unbiased? Is it appropriate to house the functions under RM?

  2. theReleaseGuy Says:

    You are correct – QA and Engineering (development) should definitely be isolated from each other as a means to have that check and balance. I see them as 2 separate teams entirely, and I suggest you would have QA be it’s own team. I think QA belongs at the same level as engineering/development, and warrants its own organizational entity. Maybe it doesn’t need to be as large as the development team, but the QA lead/manager should report to the same manager as the engineering manager.

    Release management typically falls under the Operations umbrella, though it might make sense to have it be a part of the QA team as noted above.

    So, if anything, I think you would have a QA dept, with release management being a subset of that group, as opposed to the other way around as you mention.

    I hope this is helpful!

  3. Arul Says:

    This is a nice article dealing with an interesting question that arises pretty much in all organisations.

    In the place where I currently work, the release management team is a subset of the QA team. But in my previous organization, the organization is big and the product is complex enough that we had a separate release managament team reporting to a separate VP that took care of release management of a set of products.

    ~ Arul

  4. rajesh chandrasekaran Says:

    Good article !

    In few client places where i worked i have seen release management team to be part to QA group and they all report to the QA director.

    This adds value to QA activities because with the help of RM QA team gets a very high visibility and control over the QA environment. Since RM is part of QA there is very high level of co-ordination between QA and RM. And All the complex issues can be easily recorded as a defect with information from server error logs,config files etc…

    Also RM and QA can work closely only when they both fall under the same umbrella.

  5. EJC Says:

    Here’s a better question – what are the positions generally associated with release engineering?

    Jr/Sr/Principal/MGT?

    I’d love to know and know what people think it takes to move from one to another.

  6. Nicolas Says:

    What is the first step to implement Release Management ?

  7. Biswajit Dash Says:

    Eng and QA being separate The first step thing to implement is to bridge the Gap, through a process for smooth operation between them.

    The second part is to collect the result from QA and then
    – either push it to Production or
    – return them to Eng

    The second part can be implemented in various ways [Process documents, Automations]. however what is common is tracking. The responsibility of release manager is to Track Whatever is happening in Second step, and pass it on to Product management ( This one was not discussed before in this thread ) along with the deliverable.

    Product management should also be in the same level as QA and Eng.
    And release manager should also be interacting with Product management.

    I find the Role of Release manager very interesting for the amount and kind of interaction it involves.

    Observing the perception of these three QA/Eng and Prod management is quite interesting.

  8. Faisal Says:

    i too strong agree with theReleaseGuy, this is the process followed in my organization also. and it works fine for us

  9. mikegriffith2011 Says:

    Release Management is the thread that runs through the entire Software Development Life Cycle. It should be a stand alone pillar within any company that ensures the integrity of the product (approved by every pillar) from its inception to its delivery and can validate that it delivered the approved QA validated product to its customers.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: