Scheduled software release process: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 12: Line 12:
== OBJECTIVES ==
== OBJECTIVES ==


Write an Objectives page, similar to [[8.2.0]], recording:
Write an Objectives page (e.g. [[8.2.0]]) recording a consensus on:


* the target month.
* target month.
* development goals and priorities.
* development goals and priorities.
* lead customers.
* lead customers.
* feasibility of proposed changes.
* 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 ==
== DEVELOPMENT ==

Revision as of 00:17, 1 July 2008

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.