Software Release Management - The Questionnaire

Alik Levin    Have you been involved with Application Lifecycle Management consulting? Have you helped to build solid Release Management process? If so I need your insights.
I started my research with a quick search and I have stumbled on the following article that perfectly matched my online search: 7 Ways to Improve Your Software Release Management. I have read the article and tried to reverse engineer it in form of questionnaire. Asking the right questions helps to identify the gaps and build the work breakdown structure and the associated tasks. Here is my questionnaire. What questions would you add? What resources you'd recommend?

1. Understand the current state of release management.

  • What is the current release cycles?
  • Are there any? Is it ad-hoc all over the board?
  • How many teams are there?
  • Who’s the team leads, the developers and how do we know what they are doing?
  • How requirements are generated? How requirements are tracked?
  • How requirements are translated into designs? Who does it?
  • How the dev team does know what to do/develop?
  • How the dev team tests functionality?
  • How the dev team test for non-functional requirements (security/performance)?
  • How do they perform system/integration/regression tests?
  • How the team gets sign off to roll the new version into production?
  • How the team tracks release notes?
  • <<your question goes here>>

2. Establish a regular release cycle.

  • What is the release cycle today? Monthly? Quarterly? Weekly? Ad-hoc?
  • When is the next release date?
  • When was the last release date?
  • Is there any pattern in past release dates?
  • What would be the most realistic release cycle? Weekly? Be-weekly? Monthly? Quarterly?
  • What are the usual road blockers for the release? Performance test, security approval, QA? Other?
  • <<your question goes here>>

3. Get lightweight processes in place. Test them early and review them regularly.

  • What’s the smallest change that can make the biggest impact now?
  • Why not publish simple chart of the release cycle so that anyone can see there are [no] gaps?
  • Why not establish team site to concentrate release artifacts?
  • Why not create team site for developers with skeleton projects to bootstrap from?
  • Why not create team site to manage Virtual Machines allocation among developers?
  • Can we do a dry run of the release management process now?
  • <<your question goes here>>

4. Establish a release infrastructure early.

  • Once dry run is made we know the gaps - can you list it?
  • Do we know the resources needed to fix the gaps? Short term and long term?
  • <<your question goes here>>

5. Automate and standardize as much as you can.

  • How can we automate dev environment build process? Who cares the most? Get them onboard.
  • How can we automate creating app bootstrap? Who cares the most? Get them onboard.
  • How can we automate version build process? Who cares the most? Get them onboard.
  • How can we automate unit testing? Who cares the most? Get them onboard.
  • How can we automate performance testing process? Who cares the most? Get them onboard.
  • How can we automate security testing process? Who cares the most? Get them onboard.
  • <<your question goes here>>

6. Establish positive expectations.

  • Who owns release management? Set formal owner.
  • How to get the team to buy into the idea of formal release management?
  • What are the metrics to make sure the process is followed?
  • <<your question goes here>>

7. Invest in people.

  • What each team values?
  • What's the most important thing to the managers?
  • What's most important to the project sponsor?
  • What's most important to the customer/end user?
  • <<your question goes here>>

 

This post is made with PracticeThis.com plugin for Windows Live Writer