Blueprints Lifecycle

Launchpad blueprints are used to track the implementation of significant features in OpenStack. Keeping their status current is critical to the success of the release and the project as a whole. It avoids unnecessary reporting, pings and discussions, and keeps everyone on the same page.

Any time

You have an idea for a feature, feel free to file a blueprint about it.

Before the design summit

To get your feature into the release, it is recommended to discuss it at the next Design Summit. Propose a session about it (see Summit) and link the session proposal to your blueprint. You can modify the blueprint status accordingly:

After the design summit

Once the discussion is over, it's time to work on your spec:

(Optional) If the spec is ready for outside review, you can set:

When the spec is ready for approval for inclusion in the current development release roadmap:

Acceptance (PTLs)

The PTL reviews the blueprint and spec, then accepts it:

During development (assignee)

The "Implementation" field should reflect progress in your work:

Please update the implementation status regularly to avoid being pinged about it :)

When merged (assignee)

When the work is fully merged, finalize the spec by setting:

Blueprints Fields reference

URL of the Spec document, describing the design and implementation details. A same spec can be linked in multiple blueprints (if it affects multiple products, or if implementation is split between multiple cycles).

Priority

Essential

Must be completed for a given release. Since failure in completion can delay the release, they are followed closely during weekly team meetings to make sure sufficient resources are affected to them.

High, Medium and Low

Non-essential specs. Their relative priority is indicated (High > Medium > Low) to help developers prioritize their work. Default is Medium.

Undefined

Priority is not set yet. Priority should be set once the blueprint is accepted.

Definition

New

Blueprint was just created

Discussion

Blueprint will be discussed at the design summit or on the ML

Drafting

Drafting of the spec is in progress

Review

Spec is drafted, please review

Pending approval

Blueprint/spec are ready for approval by the PTL

Approved

Blueprint is accepted, implementation can begin

Superseded

Blueprint was replaced by another one

Obsolete

Blueprint is no longer relevant

Implementation

Use this status to indicate the degree of completion of your blueprint:

Unknown

Implementation status was not defined yet

Not started

Implementation is 0%

Started

Implementation is > 0% (branch must be linked)

Blocked

Implementation is blocked, see whiteboard for details, will be discussed at next team meeting

Needs infrastructure

Implementation is waiting on another dependent blueprint

Slow progress

Implementation is not blocked, but late

Good progress

Implementation is on track

Beta available

Implementation is almost complete, you can test the branch now

Needs code review

Branch was proposed for merging

Implemented

Branch was merged

Extra statuses:

Informational

No implementation needed

Deferred

Blueprint was deferred to a future release

Deployment

(Not used)

Series goal

The series (Bexar, Cactus...) targeted by this blueprint.

Approver

The PTL for the project.

Drafter

The person responsible for the design (spec) of the blueprint.

Assignee

The person responsible for implementing the blueprint (must be set by Pending approval stage).

Milestone target

The milestone the blueprint should be completed by.

Not used.

The bugs related to the blueprint.

Sprints

Not used.

Feedback requests

Not used.

Whiteboard

Free-form notes.

Dependency tree

Dependencies between blueprints. If one blueprint needs to be delivered before this one, this needs to be recorded here.

Wiki: BlueprintsLifecycle (last edited 2011-10-13 14:18:29 by ThierryCarrez)