Sample Release Plan

(Read more about the general approach)

Introduction

The release plan is used both for the initial planning of software releases, and then for tracking the plan during development and making informed changes in either delivery dates or feature content as the need arises.

While development contributes and updates both programmer availability information and sizings for each feature (and potential feature), it is product management that coordinates the decisions on dates and feature content. The format of the report is such such product managers can make these decisions with up-to-date information, and in such a way that the common problem of development over-committment is avoided.

The release-plan also provides a place where senior management can get an immediate and accurate appraisal of current development status.



The Basic Release Plan

The following is an example of a release plan. Such plans would be associated with each product produced by a software vendor, and would be kept in a well-known location on the company's Intranet. The plan is fully-linked to a definition sheet which explains the meaning of every field. Click on the linked headings to see their definitions.

The plan gives an accounting of the coding capacity available during the (remainder of) the coding phase, and the requirement for coding resource to finish all of the features currently in-plan.

The features are divided into two groups: the "A"-list and the "B"-list. "A"-list features are must-haves: the release would be meaningless without them. "B"-list features are nice-to-haves: the release could proceed without them. The plan is balanced so that there is a very strong likelihood of getting the "A"-list done, but development would have to pull a rabbit out of the hat to get all the "B"-list done as well.

See the Release Plan


The Stochastic Release Plan

There are two versions of the same plan available. The more complex makes the stochastic aspects of planning visible, the basic plan makes simplifying assumptions regarding uncertainty and then hides the stochastic nature of planning. The basic plan has been used successfully in practice. The stochastic plan is currently a research effort.

The plan referenced above is the basic one. The stochastic plan is given here. The main difference is "±" characters used to give estimates in terms of means and stadard deviations, and a "Current Status" section that indicates the probabilities of hitting various dates.

See the Stochastic Release Plan


Technology Used

It is the concepts and management discipline that underly the release plans that are important. For the company wishing to get started on release planning, a simple text file, HTML file, or Excel spreadsheet for the release plan posted on the Intranet would be a fine place to start. As these plans are subject to frequent changes and updates, source control is important, however.

As an organization matures in their use of release plans, it will want more covenient ways of producing and updating these plans. To aid in this, we have defined an XML format for release plan data. The plans you see above were produced by transforming such an XML file into HTML using the saxon transformation engine. The XML file makes it easier to manipulate the release-plan data, produce custom reports, and populate the file from sources such as relational databases where the primary information can be properly maintained.

The XML file: re.xml
The XSL file: re.xsl
The DTD file: rp.dtd

Prof. Penny's research group is currently working on tools to assist an organization in performing the release planning and tracking function.


(back to approach) (home)