Fast & Predictable – A Lightweight Release Framework Promotes Agility through Rhythm and Flow

Average Rating: -

To support an agile methodology effectively on an enterprise scale, a lightweight release framework is highly useful in empowering small self-organizing teams while “optimizing the whole” of the product you are focused on delivering. Interestingly enough, we found that the absence of one can actually inhibit agility and avoidable ambiguity, in an environment where there is a high degree of unavoidable ambiguity. Find out how we created a lightweight release framework and enabled even greater agility in the organization!

Who needs Release Management in a self-organizing environment? Sounds like an oxymoron…. think again! Release Management is a crucial function that provides a very valuable service in an Enterprise-wide, scalable agile operation. The Release Manager role enables the organization to deliver effectively by maintaining visibility across the release (and all scrum teams) at the highest level. The role is a key to salesforce.com’s success in delivering on-time, high qualilty releases fast & predictably.

During the Salesforce.com large scale agile transformation the Technology organization increased the frequency of delivery from one major release per year to 3-4 major releases per year. In this transition, we identified early on that in order for us to successfully deliver our high quality releases (on-time) across a large number of product lines (30+ scrum teams) we required a Release Manager to manage and guide the release from inception to deployment.

Having a Release Manager initially created role and responsibility conflicts with individual ScrumMasters and Scrum of Scrum team members. However, through our transition we discovered an effective way to allow teams (and product lines) to be self-organized while at the same time optimizing the coordination of the entire enterprise working in a single codeline on a single release. This experience report looks at how to manage releases in a way that works hand-in-hand with the agile development methodologies used throughout the enterprise. Highlights of innovation include:

  1. Release Manager engagement in release from inception through deployment (in the SaaS model); no “hand-offs”

  2. Promotion of visibility & transparency throughout the release - release plan kickoff; daily visibility into key release qualifying metrics; weekly visibility of trends across releases; monthly reporting on “potentially releasable status”; schedule visibility throughout development work space

  3. Release Management promotion of frequent, consistent delivery valued over defined scope; all releases are scope negotiable (as the dates are not)

  4. Release Manager role focuses on protecting the release and on resolving organizational obstacles for the release (not to be confused with local scrum team obstacles addressed by ScrumMasters)

  5. Balance of agility and discipline with a lightweight release process framework

  6. Decision-making “push” down to the scrum team level as much as possible

Process/Mechanics

We’ll cover a brief background of the agile transformation at salesforce.com. In addition, we’ll discuss what led to the realization of the need for the Release Manager role and how that helped us deliver 4 on-time, high quality major releases since our transformation to an agile development methodology.

We’ll also highlight some of the innovative elements we see in this role in an agile organization and why this role is so important in enabling agility at the enterprise level.