Scheduled software release process: Difference between revisions
DanielDrake (talk | contribs) No edit summary |
|||
Line 1: | Line 1: | ||
<b><big><font color=red>For current information on OLPC software release processes, see [[Release Process Home]]</font></big></b> |
|||
{{Draft}} |
|||
See [[Release Process Home]] for Greg's thoughts and, in a few days, see [[User:Mstone/Scheduled_software_release_process]] for Michael's. |
|||
{{Deprecated}} |
|||
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 software release process|unscheduled (minor) releases]] in that they contain larger and more thoroughly planned changes. |
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 software release process|unscheduled (minor) releases]] in that they contain larger and more thoroughly planned changes. |
Latest revision as of 18:07, 15 February 2011
For current information on OLPC software release processes, see Release Process Home
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
Process Step DetailsOBJECTIVESWrite an Objectives page (e.g. 8.2.0) recording a consensus on:
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. ScheduleWe have learned that certain minimum amounts of time must be allocated to integration and testing. The following example schedule records some of this knowledge:
DEVELOPMENTDevelopment consists of creating potentially releasable changes during a period of No Change Control and a period of Light Change Control. STEAMMORE than 60 days before target date Prior to Water (feature-level change control), there is great freedom to propose changes because resources have not been allocated toward integrating and testing the proposed changes. We allocate these resources with release contracts. WATER60-30 days before target date When Steam transitions to Water, changes requiring reallocation of integration, test, or downstream resources (i.e. requiring a new release contract) will require approval by module maintainers and Release Management before being accepted. Minor changes can still be added without approval for another 15 days. Changes requiring great coordination to deliver like string changes and UI changes will be deferred if possible. INTEGRATION
Medium Change ControlAll translation packages must be final by this time.
Change ControlWhen we enter change control these items occur:
RELEASEExecute the Software ECO process to deliver the release. |