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)