From Fedora Project Wiki
(Add motivation, complex features term)
Line 2: Line 2:


Attendees: mmaslano, mitr, t8m, jreznik
Attendees: mmaslano, mitr, t8m, jreznik
== Motivation ==
The aim of this proposal is to lower the barrier to propose Features, to avoid situation where unknown/not proposed changes appears later in the release cycle and leads to conflicts/slip and other issues. But also not to flood FESCo with overwhelming amount of Features and let them concentrate more on important complex Features with system wide impact. The community review is part of proposed process.


== Categories of features ==
== Categories of features ==
* "self contained" features
* "self contained" features
* "real features" with wide impact
* "complex features" with wide impact


=== Self contained features ===
=== Self contained features ===
Line 18: Line 21:
** In case of no complaints (possible breakage/conflicts, coordination needed) on Fedora devel mailing list, then FESCo will approve those features without more investigation about scope etc. Every team on Fedora devel can share their view and escalate feature to FESCo.
** In case of no complaints (possible breakage/conflicts, coordination needed) on Fedora devel mailing list, then FESCo will approve those features without more investigation about scope etc. Every team on Fedora devel can share their view and escalate feature to FESCo.


=== Real features with wide impact ===
=== Complex features with wide impact ===
This features are system-wide/defaults changing features. They can impact hundreds of packages (upgrade of gcc, glibc, change default from python2 -> python3, UsrMove, etc.). FESCo must have more time to review those features, help feature maintainer with defining the scope or help with contacting other impacted teams.  
This features are system-wide/defaults changing features. They can impact hundreds of packages (upgrade of gcc, glibc, change default from python2 -> python3, UsrMove, etc.). FESCo must have more time to review those features, help feature maintainer with defining the scope or help with contacting other impacted teams.  


Line 35: Line 38:
Define Scope sections more clearly:
Define Scope sections more clearly:


* release engineering impact (mass rebuilds etc.)
* release engineering impact (mass rebuilds etc.) - ticket to rel-engs, to understand impact of proposed feature, to schedule mass rebuilds for more features together etc.
* mass rebuild deadline
* mass rebuild deadline
* backup solution (remember rewrite of anaconda!)
* backup solution for contingency plan (remember rewrite of anaconda!)
* critical path components features always considered as complex feature?


New Feature Template:
New Feature Template:

Revision as of 16:28, 21 November 2012

Features, features and features (2012-07-25)

Attendees: mmaslano, mitr, t8m, jreznik

Motivation

The aim of this proposal is to lower the barrier to propose Features, to avoid situation where unknown/not proposed changes appears later in the release cycle and leads to conflicts/slip and other issues. But also not to flood FESCo with overwhelming amount of Features and let them concentrate more on important complex Features with system wide impact. The community review is part of proposed process.

Categories of features

  • "self contained" features
  • "complex features" with wide impact

Self contained features

The self contained feature could be one very isolated package or feature with limited scope, for example adding group of leave packages or coordinated effort within SIG with limited impact outside SIG functional area. Enhancement of one package without impact on other package is also self contained feature.

Public announcement of the new self contained feature will help to co-operate on the feature and extend proposed feature visibility. Feature owners can find help or useful comments. Those features don't have to be thoroughly reviewed by FESCo, which means more time for FESCo on the second category.

Process

  • Formal correctness of filled feature template will be checked by Feature Wrangler and Feature will be announced on Fedora devel list.
  • No docs process (optional), only release notes advertisement.
  • Aggregated list of features will be added to FESCo agenda after a week (or more) on mailing list.
    • In case of no complaints (possible breakage/conflicts, coordination needed) on Fedora devel mailing list, then FESCo will approve those features without more investigation about scope etc. Every team on Fedora devel can share their view and escalate feature to FESCo.

Complex features with wide impact

This features are system-wide/defaults changing features. They can impact hundreds of packages (upgrade of gcc, glibc, change default from python2 -> python3, UsrMove, etc.). FESCo must have more time to review those features, help feature maintainer with defining the scope or help with contacting other impacted teams.

It might be helpful to have for every feature one FESCo member (shepherd) who will offer his help to maintainer and will communicate status of the feature with rest of the FESCo. Problems like postponing the decision about feature should dissappear because someone will be in contact with maintainer.

Process

  • Formal correctness of filled feature template will be checked by Feature Wrangler and Feature will be announced on Fedora devel list.
  • After a week on mailing list FESCo will discuss the feature on their meeting.
    • The feature will be assigned to one of FESCo members, who will help with process in Fedora (like where to ask for different koji buildroot, it can also point out that buildroot will be neccessary).
    • The feature can be accepted, but FESCo member will follow on status of the feature until release of Fedora. We should be able to track the real status, better than with 80% which magically grow to 100% during Beta freeze. Also using green, yellow, red instead of % will be improvement.
      • The accepted feature will be switched to new state and will be waiting for re-review in case of problem or Beta freeze when is status of features reviewed.


What must be defined or added into current system:

Define Scope sections more clearly:

  • release engineering impact (mass rebuilds etc.) - ticket to rel-engs, to understand impact of proposed feature, to schedule mass rebuilds for more features together etc.
  • mass rebuild deadline
  • backup solution for contingency plan (remember rewrite of anaconda!)
  • critical path components features always considered as complex feature?

New Feature Template:

All sections of this template are required for review by FESCo or only for Features to be approved by FESCo?

Required fields: Summary, Owner, Current Status, Scope (list of dependencies), ...

  • Who's actually responsible for work on broken things related to the new feature?
  • feature templates - must be all field filled even for self-contained features?
  • add into trac more statuses for tracking features