Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Apache reference: http://www.apache.org/foundation/how-it-works.html#structure

Phases of Sakai Software Development

Sakai software development operates in two distinct phases: (1) Normal Development and (2) Release Preparation. Because a Sakai release is an activity which crosses many software project boundaries and is a highly time critical activity, release preparation is a more centrally controlled operation than normal development.

The orchestration and timeline when Sakai switches from normal development to release preparation is handled through close cooperation between the Sakai Project Coordinator, Sakai Chief Architect, Sakai Release Manager, and Sakai QA Director. Timelines for releases are discussed and decided with the community and the Project Coordinator maintains and communicates the release schedule.

Normal Development

During a "normal development" phase, Sakai Software Projects operate with relatively loose coupling. The Chief Architect and Project Coordinator communicate across projects to help align work efforts and get those work efforts into shape for an appropriate upcoming release.

During normal development, the Release Manager and QA Director focus on producing maintenance releases for the prior releases by tracking bug fixes and including them in maintenance releases as appropriate.

In the current Sakai approach to releases every six months, we expect to be in normal development for 3-4 months.

Release Preparation

The signal to switch from normal development to release preparation is an activity called "Integration Week". Integration week comes 4-5 weeks before the intended release date. Integration week is a time where all Sakai Software Projects focus on getting their code ready for the feature freeze and QA period. During integration week developers from the most active projects often get together and work out the remaining small details of any cross-project dependencies. Also it is quite common for those projects which are "ahead" when integration week starts, to spend time helping the projects which are "behind," so that all projects finish properly by feature freeze.

Feature freeze is at the end of the integration week and results in the first release candidate. QA begins with the release of the first release candidate and lasts until the release is completed. During the QA phase, the Release Manager is fully responsible and empowered to make tactical decisions about the release. This includes setting priorities on outstanding issues (such as blockers) and making calls as to whether a particular software project is ready for the release.

Once the release is completed, generally there is a few weeks where the Release Manager and QA Director continue to track high-priority bugs and work with each Software Project to get fixes for those bugs into the first maintenance release.

Generally, a few weeks after the release is completed, the project goes back into Normal Development mode under the guidance of the Project Coordinator and Chief Architect.

Roles In the Software Development Process

...