From Fedora Project Wiki
(revise to refer to only beta and final criteria, and 'branched quality targets' (current proposed rename of alpha criteria))
(tweak categories)
Line 51: Line 51:
* http://www.ddj.com/architect/184415651
* http://www.ddj.com/architect/184415651


[[Category:Release Criteria]]
<!--[[Category:Release Criteria]]-->
[[Category:NoMoreAlpha]]

Revision as of 18:45, 1 August 2017

You can't know if you're ready to release unless you know what done means.

....

When you use release criteria to know when a project is done, you have taken potentially hidden decisions and made them public and clear. Make your release criteria objective and measurable, so everyone on the project knows what they're working towards. Use the criteria as you progress through the project and up to the final release. Then you can say 'Release it!' with pride.


Criteria for Current Release Milestones

Purpose

The release criteria aim to:

  • Clearly specify the criteria that must be met for each of our public releases (Beta, Final) to ship
  • Document all the requirements of our target audience for each Fedora release
    • The target audiences for each public release (Beta and Final) can be different, and may overlap
    • The criteria at any given time are not set in stone: there may be requirements that have been overlooked, or that are new, and in these cases, the criteria should be expanded to ensure all needs are covered
  • Establish when a release is "done" in terms that most people can understand and in ways that help new people to understand the process and participate

Benefits

Having a consistent, public and comprehensive set of release criteria should:

  • Reduce the need for meetings to be held and subjective decisions made at the last minute
  • Help others who are not involved in the release process to understand our goals and objectives
  • Reduce the need for "gut level" subjective feelings about whether we are ready to ship or not
  • Help us to focus on the purpose of the release and what we are doing it for while focusing less time and energy on things outside of this scope
  • Provide an early warning sign if the release is not on track for shipping on time
  • Make it clear whether a given bug should block the finalization of a release

Release Constraints

Fedora places a high priority on releasing according to schedule. While release quality is very important, there are circumstances where the schedule takes priority.

The following priorities, in this order, will define what matters most in completing our releases:

  1. Target schedule date
  2. Release quality
  3. New release features

Bugs can be fixed in package updates and new features can be included in the next release.

Branched Quality Targets

The Branched Quality Targets have a similar purpose to the release criteria. However, they apply during the period between the Branch point (where a new release is branched from Rawhide) and the Beta freeze. We aim to ensure every compose that is released during this time - in the sense of being synced to the Branched fedora repository - meets the Branched Quality Targets, using a fully automated process (both the testing and the determination as to whether a compose should be released are automated). The Branched Quality Targets are based on the former Alpha Release Criteria.

Reference Material