SpecProcess
SpecProcess
Status
Created: 2005-04-27 by TollefFogHeen
Priority: NeedsPriority
People: TollefFogHeenLead, ColinCharlesSecond, ["ColinCharlesQueue"]
Contributors: TollefFogHeen
Interested: ["JaneW"], MattZimmerman
Status: DraftSpecification, UbuntuSpecification
- Branch:
- Malone Bug:
- Packages:
- Depends:
- Dependents:
UduSessions: 0
Introduction
The process from the time a specification is "born" until it is accepted and implemented, is currently a large, mostly undefined and under-documented set of procedures. Every specification should go through the life cycle as described in this specification.
Rationale
As the Ubuntu community moves towards a more specification-based process, a specification for the process itself is needed. This is so that everybody knows how the process should work. The current process is not yet mature, and is therefore still fragmented, for this reason it is confussing and is not being follwed in a standardised way. This has caused excessive overhead at the UDU conference and may cause specifications to be delayed unnecessarily.
Scope and Use Cases
The implementation of a spec is out of scope at this point.
A new idea is proposed and goes through the full process.
- The scope includes defining and documenting the proposed process (and/or procedures) for consideration, approval and ultimately implementation once approved.
Implementation Plan
A new specification is created, based on the SpecSpec template.
- One or more BOF (discussion group) sessions are conducted. Here discussion takes place to explore ideas and firm up a direction for the topic at hand.
The lead and/or second writes up the notes for the BOF. The BrainDump status is used in the Status field, to indicate that the brainstorming/discussion phase is still in progress.
Once the brain dump stage eveolves into more coherent and complete ideas, the Status field should be changed to "DraftSpec", and CommunitySpecification, DistroSpecification or LaunchPadSpecification should be added as appropriate to indicate which track the topic belongs to.
It may also include "NewSpec" as a state. "ColinCharlesQueue or SimonSharwoodQueue" should be added to the list of People (yes, that's both of them). They will review and edit the specification for clarity, spelling and grammar.
- If the specification needs further clean-ups, it will be sent back by the specification editors. This is done by adding "Queue" to the end of the name of the lead and the second along with comments on what changes are needed. This could either be in the "comments" (this is limited to 80 characters), or kept within the document - this can be bolded, and placed in brackets.
Once the lead and second are happy with the changes as they come back from the editors, the Editors change the state to EditedSpecification and the lead or second goes to the Global room to progress the post-it note to the appropriate section.
Specifications which are ready to be submitted for approval should be placed in MattZimmerman or MarkShuttleworth's queues (by adding MattZimmermanQueue or MarkShuttleworthQueue to the people field). Matt / Mark will then will then review the specification and move it to the ApprovedSpecification state by moving the post-it note and changing the state on the wiki.
- It is a good idea to notify Matt or Mark in person of a spec is waiting on their approavl to avoid any unnessecary delays. Should the spec NOT be approved they will place it back in the queue of the person who sent it to them.
- The specification is then queued for implementation. (Process to be defined for this later).
When the specification is implemented, it reaches a state of ImplementedSpecification.
Data Preservation and Migration
N/A
Packages Affected
N/A
User Interface Requirements
Using the wiki.
Outstanding Issues
UDU BOF Agenda