diff --git a/goals/index.rst b/goals/index.rst index ea8eed115..2ee30dc69 100644 --- a/goals/index.rst +++ b/goals/index.rst @@ -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. diff --git a/goals/template.rst b/goals/template.rst index 547a1ec9b..1689e5e53 100644 --- a/goals/template.rst +++ b/goals/template.rst @@ -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: +:Storyboard Story: + 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. diff --git a/tools/build_team_section_for_goal.py b/tools/build_team_section_for_goal.py deleted file mode 100755 index 6bf4c522f..000000000 --- a/tools/build_team_section_for_goal.py +++ /dev/null @@ -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()