This commit is contained in:
mik-tf 2024-12-31 12:15:25 -05:00
parent da7df71e31
commit 01dc15d4b2
27 changed files with 123 additions and 0 deletions

View File

@ -0,0 +1,92 @@
<h1>Grid Release Procedures</h1>
<h2>Table of Contents</h2>
- [Introduction](#introduction)
- [Grid Release Goals](#grid-release-goals)
- [Grid Release Timeline](#grid-release-timeline)
- [Story Metadata](#story-metadata)
- [Grid Release and Stories ETA](#grid-release-and-stories-eta)
- [Owner and Executor](#owner-and-executor)
- [Project](#project)
- [Labels](#labels)
- [Stories Status](#stories-status)
- [Moved or Updated](#moved-or-updated)
- [Story Template](#story-template)
---
## Introduction
We provide the overall procedures for optimal grid release.
## Grid Release Goals
- A grid release is well accomplished if:
- It has clear specs defined at the beginning of the project
- The specs are turned into clear stories filled with proper information
- Stories are completed within the given ETA and stakeholders confirm the work done
- Each story has an owner and an executor (can be the same person)
## Grid Release Timeline
Each grid release has a timeline, [see this document](grid_release_timeline.md).
## Story Metadata
Metadatas should be completed for each story to facilitate tracking and realization. The important metadata are: due date, project, label and assignees.
### Grid Release and Stories ETA
- Each story has a clear ETA set as Due Date in gitea metadata
- Each grid release has a clear ETA set as Due Date in gitea metada
- This is done in the Grid Release Timeline story
### Owner and Executor
- Each story has an owner, someone who makes sure the story is completed, and an executor, someone who executes the story
- Owner and executor can be the same person
- The people assigned as Assignees are the Owners of the story
- The owners need to make sure people do the work and that there are executable issues on GitHub or on Gitea
### Project
- Each story should be within a given project (e.g. 3.16)
### Labels
- Each story should be labelled as Story
### Stories Status
Stories have status defined by their position on the project kanban. There are 5 columns:
- To Define
- Stakeholders need to discuss the story and complete the info (e.g. ETA, Owners, Assignees, etc.)
- To Do
- A story has been defined and has not yet been started
- In Progress
- A story being worked on
- Blocked
- If it is blocked, stakeholders must make sure it gets fixed
- If stakeholders can't fix it, it must be escalated to Kristof
- Done
- Once a story is completed, it's closed
### Moved or Updated
Also, a story can be moved or updated.
- Moved
- We can define that the story is better for a future release, so we move it
- Moved story should maintain info related to original issues (e.g. google docs link)
- Updated
- If a story is updated, it must be done with the approval of all stakeholders
## Story Template
- Each story should follow a basic template to make sure they all satisfy the project goals.
- [Engineering Circle Story Template](https://git.ourworld.tf/tfgrid/circle_engineering/issues/new?template=.gitea%2fissue_template%2fstory_template.md)

View File

@ -0,0 +1,31 @@
# Grid Release Timeline
## Introduction
Each grid release follows a clearly defined timeline. This ensures all the tasks are done properly.
## Template
Each grid release should have in its project kanban one issue containing the template below, adjusted with the current grid release.
```
# X.YZ Grid Release Timeline
We provide the overall guideline for X.YZ grid release. Making sure all those steps are done in order will ensure the grid release is done efficiently.
- [ ] Stakeholders meet and define the grid release specs
- [ ] Specs are turned into stories in a grid release project kanban
- [ ] Stakeholders confirm the stories as fulfilling the specs and grid release goals (with Grid+stories ETA)
- Make sure not to add stories in the middle of the sprint
- If there is a need, it needs to be agreed upon
- [ ] Comms circles write a forum post explaining the specs of the grid release, preparing community members to the grid release GEP
- [ ] Stories are worked on and completed
- When a grid release project is completed (all stories are completed)
- [ ] Stakeholders meet and review the stories, confirming they are correctly done
- [ ] A post summarizing the GEP is posted on the forum, written by Ops (Sabrina)
- [ ] When the GEP is passed, devs and ops implement the new features of the grid (e.g. publish to all networks)
- [ ] Comms circle communicate with the community that the grid release is done
```
For an example, see the 3.16 version [here](https://git.ourworld.tf/tfgrid/circle_engineering/issues/126).