update goal process to use storyboard for tracking

As discussed on the mailing list [1], we want to use storyboard for
tracking goals progress instead of patches here in the governance
repository. We will build the tools needed for that in a separate repo
managed by the goal champions [2].

[1] http://lists.openstack.org/pipermail/openstack-dev/2018-January/126189.html
[2] https://review.openstack.org/533761

Change-Id: I4be381327f28debea6b085e9328179a143353125
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2018-01-16 16:28:01 -05:00 committed by Thierry Carrez
parent 030cd3e392
commit ff65146d41
3 changed files with 25 additions and 65 deletions

View File

@ -69,14 +69,22 @@ The actual goals shouldn't be completely new proposals (things no one
else in the community has seen before) because there will have been
discussion in the course of reaching consensus.
Tracking Goal Progress
----------------------
After goals are approved, the goal champions will create one story per
goal and one task per project per goal to track progress on
completion.
Team Acknowledgment of Goals
----------------------------
After a goal is approved, each PTL is responsible for adding their
planning artifact links to the goal document before the first
milestone deadline. The planning artifact is likely to be a link to a
spec or bug, and the completion artifact is likely to be a link to one
or more committed patches.
Each PTL is responsible for updating the storyboard task used to track the
goal progress for their project to set the status to "Progress" and to
include planning artifact links before the first milestone
deadline. The planning artifact is likely to be a link to a spec or
bug, and the completion artifact is likely to be a link to one or more
committed patches.
This step is also the indication that a project team is signing up as
agreeing to the goal and committing to do the work to complete the
@ -89,16 +97,19 @@ that it is finished.
All project teams are expected to prioritize these goals above other
work.
If the goal does not apply to a project or the project has already met
the goal, the PTL should explain why that is the case, instead of
linking to planning artifacts.
If the project has already met the goal, skip to the "Completing
Goals" step.
If the goal does not apply to a project, the PTL should explain why
that is the case, instead of linking to planning artifacts.
Completing Goals
----------------
After a goal is completed, each PTL is responsible for ensuring that
their completion artifacts are added to the goal document before the
final release date for the cycle.
After a goal is completed, each PTL is responsible for updating the
storyboard task used to track the goal progress for their project to
set the status to "Merged" and to add links to all completion
artifacts, before the final release date for the cycle.
If a goal is not completed, that information should be added, along
with any references needed to track when that work will be completed.

View File

@ -5,6 +5,9 @@
Explain what the goal is in general terms. Include the reasoning and
justification for applying the goal to all OpenStack projects.
:Storyboard Board: <put the link to the tracking board here>
:Storyboard Story: <put the link to the story for this goal here>
Gerrit Topic
============
@ -37,9 +40,3 @@ the goal, including known blockers for any projects, projects that
have completed the work already and can serve as examples, or other
information useful to evaluate the scope of the goal and whether it
would fit into the time given.
Project Teams
=============
.. Use tools/build_team_section_for_goal.py to generate the rest of
the template and paste it into this section.

View File

@ -1,48 +0,0 @@
#!/usr/bin/env python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from __future__ import print_function
import argparse
import os.path
import yaml
_section = '''
Planning Artifacts:
Completion Artifacts:
'''
def main():
parser = argparse.ArgumentParser(
'build the "Project Teams" section of a goal document',
)
parser.parse_args()
print('Paste this output to the end of the goals file:\n')
filename = os.path.abspath('reference/projects.yaml')
with open(filename, 'r') as f:
projects = [k for k in yaml.safe_load(f.read())]
projects.sort(key=lambda x: x.lower())
for p in projects:
print(p)
print('-' * len(p))
print(_section)
if __name__ == '__main__':
main()