Scheduled software release process

From OLPC
Revision as of 20:17, 30 June 2008 by Mstone (talk | contribs)
Jump to: navigation, search

We make changes to our software for many reasons; however, we make scheduled (major) releases in order to deliver significant changes to our downstream clients. Major releases may include interface-breaking changes. They are different from unscheduled (minor) releases in that they contain larger and more thoroughly planned changes.

Process Overview

  1. OBJECTIVES: Choose a target month. Solicit goals and priorities for the release. Propose ends and means.
  2. DEVELOPMENT: Generate changes which may help to meet the new goals.
  3. INTEGRATION: Generate and execute a release contract for each desired change.
  4. RELEASE: Execute the Software ECO process to deliver the release.

Process Step Details

OBJECTIVES

Write an Objectives page (e.g. 8.2.0) recording a consensus on:

  • target month.
  • development goals and priorities.
  • lead customers.
  • feasibility of proposed changes.

Module maintainers, product management, and the release team will be responsible for building and maintaining this consensus based on communal, customer, and institutional feedback. All three groups will be responsible for acting to achieve its mandates, e.g. as advisers, maintainers, and managers.

DEVELOPMENT

Create potentially releasable changes.

INTEGRATION

  • Create release contracts for each desired change. See previous examples.
  • Combine potentially releasable changes and fix any resulting bugs.

RELEASE

Execute the Software ECO process to deliver the release.