From Fedora Project Wiki

(wedge in that the criteria should develop over time, not be set in stone (oxf13 Principle))
(make NoMoreAlphas changes (as proposed at https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/KIVWSHFKRS4RJEFTCAWZBKDCCETKPI4F/ ))
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{autolang|en|es|base=yes}}
{{Quote|You can't know if you're ready to release unless you know what ''done'' means.<br>
{{Quote|You can't know if you're ready to release unless you know what ''done'' means.<br>
....<br>
....<br>
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.|[http://www.universityalliance.com/info1/whitepapers/villanova/pdfs/WP_VU_ReleaseCriteriaGoodtoGo.pdf Johanna Rothman]}}
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.|[http://www.universityalliance.com/info1/whitepapers/villanova/pdfs/WP_VU_ReleaseCriteriaGoodtoGo.pdf Johanna Rothman]}}


== Current Release Milestones ==
== Criteria for Current Release Milestones ==


* Fedora 14 - [[Fedora 14 Alpha Release Criteria|Alpha]], [[Fedora 14 Beta Release Criteria|Beta]], [[Fedora 14 Final Release Criteria|Final]]
* [[Basic Release Criteria]]
* Fedora 13 - [[Fedora 13 Alpha Release Criteria|Alpha]], [[Fedora 13 Beta Release Criteria|Beta]], [[Fedora 13 Final Release Criteria|Final]]
* Fedora {{FedoraVersionNumber|next}} - [[Fedora {{FedoraVersionNumber|next}} Beta Release Criteria|Beta]], [[Fedora {{FedoraVersionNumber|next}} Final Release Criteria|Final]]


== Purpose ==
== Purpose ==
Line 12: Line 14:
The release criteria aim to:
The release criteria aim to:


* Clearly specify the criteria that ''must'' be met for each of our public releases (Alpha, Beta, Final) to ship
* Clearly specify the criteria that ''must'' be met for each of our public releases (nightly composes, Beta and Final) to ship
* Document all the requirements of our target audience for each Fedora release
* Document all the requirements of our target audience for each Fedora release
** The target audiences for each public release (Alpha, Beta, and Final) can be different, and may overlap
** The target audiences for each public release (nightly composes, 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
** 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
* 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
Line 39: Line 41:


Bugs can be fixed in package updates and new features can be included in the next release.
Bugs can be fixed in package updates and new features can be included in the next release.
== Basic Release Criteria ==
The [[Basic Release Criteria]] have a similar purpose to the Beta and Final release criteria. However, they apply to all Rawhide and Branched nightly composes (as well as all milestone candidate composes). We aim to ensure every nightly compose that is released - in the sense of being synced to the [[Repositories#The_rawhide_repository|''rawhide'' repository]] or the [[Repositories#The_fedora_repository_in_Branched_releases|Branched ''fedora'' repository]] - meets the Basic Release Criteria, using a fully automated process (both the testing and the determination as to whether a compose should be released are automated). The Basic Release Criteria are based on the former Alpha Release Criteria.


== Reference Material ==
== Reference Material ==

Latest revision as of 00:12, 12 October 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 (nightly composes, Beta and Final) to ship
  • Document all the requirements of our target audience for each Fedora release
    • The target audiences for each public release (nightly composes, 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.

Basic Release Criteria

The Basic Release Criteria have a similar purpose to the Beta and Final release criteria. However, they apply to all Rawhide and Branched nightly composes (as well as all milestone candidate composes). We aim to ensure every nightly compose that is released - in the sense of being synced to the rawhide repository or the Branched fedora repository - meets the Basic Release Criteria, using a fully automated process (both the testing and the determination as to whether a compose should be released are automated). The Basic Release Criteria are based on the former Alpha Release Criteria.

Reference Material