A method for scheduling software releases for a computer system. The
method can consist of planning a series of releases for a given time
period, each release having an initial allocation of capacity.
Information regarding proposed software projects is reviewed and initial
estimates of cost and duration for such projects are provided to
customers for approval to move into detailed analysis. On receiving
approval for each project, the planned series of releases and the initial
estimate of cost and duration are reviewed and capacity is reserved in a
release having available capacity. As detailed analyses and customer
feedback change the scope of the projects approved for further analysis,
the reserved capacity is adjusted and, where available capacity is not
present, the reserved capacity is moved to a later release. As detailed
analyses are completed and projects finally approved, the scheduled
reservations are booked in the releases.