Commit a203f77f authored by Tim Krones's avatar Tim Krones
Browse files

[SE-4852] Process spring clean - Merge epic planning and sustainability roles.

- Adjust info about epic planning role.

- Adjust info about sustainability role.

- Merge epic planning and sustainability management roles and improve structure of checklist.
parent 5db55732
......@@ -33,7 +33,7 @@ Hours from epics with a budget which a client has approved or recurring client t
## Cell budgets independence
The proportion of the time spent on individual budgets can vary per cell - that’s part of the decisions individual cells will be taking, with the decisions and monitoring of the budgets being coordinated by the person with the sustainability of the cell role.
The proportion of the time spent on individual budgets can vary per cell - that’s part of the decisions individual cells will be taking, with the decisions and monitoring of the budgets being coordinated by the person with the sustainability management role for the cell.
They are each proper to each cell, and they aren’t influenced by the other cells budgets. No matter what happens, each cell has 1 hour available for its internal budgets for every 2.5h billable hours logged. To keep accounting and coordination work sane, budgets can't be exchanged between cells.
......
......@@ -103,7 +103,7 @@ Below is a list of points to be aware of when performing a [discovery] for a new
* It should be enough to allocate 30-45m per meeting.
* It's important to determine whether this is something that the client would want prior to the implementation phase because we will need to account for it in the [discovery] document and quote that we send to the client. A budget of 1-2h per week for meetings should work well in most cases. (Note that it can't just be 30m because you'll also need a little bit of time to prepare for/follow up on each meeting.)
* Don't schedule the weekly meeting (or any other meeting that you might need to set up over the course of the project) for right before your EOD. To make sure you'll have time to list out (or directly follow-up on) any action items and add your notes from the meeting to existing tickets as necessary, the meeting should end no later than 30m to 1h before the time you normally stop working.
* Discuss the hours requirement for the project with the [epic manager] and Braden and/or Xavier, so they can determine whether we have capacity within the team for the project, or need to hire to accommodate.
* Discuss the hours requirement for the project with the cell's [epic planning manager] and Braden and/or Xavier, so they can determine whether we have capacity within the team for the project, or need to hire to accommodate.
* Note that the number of hours that OpenCraft can allocate to the project per month might differ month-to-month. If that's the case you'll need to keep it in mind when planning out different phases of the project, and when scheduling stories for specific sprints.
* If the project has a deadline built-in (such as the start of a course that is supposed to be using a set of features to develop as part of the project), the number of hours that OpenCraft can allocate to the project will affect the scope of the project. (More specifically, it will be an upper bound for the amount of work that we can schedule and complete prior to the deadline.)
* If the project does not have a deadline built-in, the number of hours that OpenCraft can allocate to the project will affect the duration of the project.
......@@ -277,7 +277,7 @@ For this reason (and others), it is important to keep on top of communication fo
[epic]: glossary.md#epic
[discovery]: glossary.md#discovery
[epic owner]: roles.md#epic-owner
[epic manager]: roles.md#cell-manager-epic-planning
[epic planning manager]: roles.md#cell-epic-planning-and-sustainability-manager
[ballpark estimates]: how_to_do_estimates.md#how-to-do-a-ballpark-estimate
[how to do estimates]: how_to_do_estimates.md
[timeboxed]: glossary.md#timebox
......
......@@ -81,7 +81,7 @@ High-level timelines given to clients should be relative to when the client comp
The timeline that comes out of the discovery is usually the ideal timeline. The discovery writer should **add a 25% buffer for the "unknown" unknowns** (external blockers, team members needing unexpected off-time, needing to slow down to re-evaluate approach or process). This should be done after the discovery has been reviewed and approved (but before we send a quote to the client), otherwise "known" unknowns will tend to get counted under this buffer. Capacity planning at the cell level should take this buffer into account, even if initial planning at the epic level is more optimistic and doesn't explicitly allocate time for dealing with unknown unknowns before they occur. It is better to have a reputation to under-promise and over-deliver than the other way round.
And because team capacity also influences the timelines we promise, make sure you discuss the capacity required for the project with your [Cell's epic planning manager](roles.md#cell-epic-planning-manager). Depending on other project commitments or sustainability concerns, we may need to adjust the number of people involved, which will affect the timeline.
And because team capacity also influences the timelines we promise, make sure you discuss the capacity required for the project with your cell's [epic planning manager](roles.md#cell-epic-planning-and-sustainability-manager). Depending on other project commitments or sustainability concerns, we may need to adjust the number of people involved, which will affect the timeline.
### Consider your team
......@@ -130,7 +130,7 @@ Large projects generally involve the following components:
We don't know if we're going to get the job, and the client doesn't know if they want to hire us, and isn't really sure about their requirements. It's time for a ballpark estimate!
Look at our [list of epics and how long they took](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=1987374566), and look for similar work, to help get an idea. If there are similar epics, one technique for doing a ballpark estimate is to pick 3-5 similar epics and take the average, add 15%, and use that as the ballpark estimate. Show your work by including this calculation when you deliver the ballpark estimate.
Look at our [list of epics and how long they took](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=841714444&range=A1), and look for similar work, to help get an idea. If there are similar epics, one technique for doing a ballpark estimate is to pick 3-5 similar epics and take the average, add 15%, and use that as the ballpark estimate. Show your work by including this calculation when you deliver the ballpark estimate.
If the project requires changes to edX codebases such as edx-platform, then reach out to the relevant edX Product lead and/or Open Source Coordinator on Slack and ask them if they think edX would be willing to accept that sort of feature, and whether or not edX is planning anything similar or planning any changes that could affect the proposed new feature. There is no need for an in-depth upstream review at this stage, unless explicitly stated on the discovery/estimation task.
......
......@@ -4,7 +4,7 @@ The current document describes the stages of recruitment and the various evaluat
## Launch of a recruitment round
* The [epic planning managers](../roles.md#cell-epic-planning-manager) are responsible for determining when the availability needs of their cells will require to launch a recruitment round. They communicate this need as much as possible in advance to the recruitment managers and the CEO - ideally at least 1 month before the availability is required, to provide enough time to complete the round.
* The [epic planning managers](../roles.md#cell-epic-planning-and-sustainability-manager) are responsible for determining when the availability needs of their cells will require launching a recruitment round. They communicate this need as much as possible in advance to the recruitment managers and the CEO - ideally at least 1 month before the availability is required, to provide enough time to complete the round.
* A cell should always target having some extra availability, to allow to accept new projects without requiring too much last-minute recruitment, which is more stressful for the cell and the recruitment managers. On top of the required availability, plan for 1-2+ extra newcomers for availability margin, plus planning ahead to replace any newcomer that doesn't pass their trial.
* The CEO publishes the [job ad](https://docs.google.com/document/d/1VgA7geR5oAsHzTRnldm6KU7LK9c7pvbMAbSkt0ihNho/edit#heading=h.bvbeik2e5v4d), which direct candidates to submit the [recruitment form](https://opencraft.com/jobs/open-source-developer/).
* The CEO informs all recruitment managers of the upcoming start of a recruitment round, and creates a workflow board to track the progression of the round's process.
......
......@@ -215,7 +215,7 @@ person:
#### Cell recruitment manager
The recruitment manager role is responsible for organizing the selection of candidate hires to match the needs of the [epic planning spreadsheet] for the cell, as determined by the epic planning manager. This includes:
The recruitment manager role is responsible for organizing the selection of candidate hires to match the needs of the [epic planning spreadsheet] for the cell, as determined by the [epic planning manager](#cell-epic-planning-and-sustainability-manager). This includes:
* Selection of newcomers (see the [recruitment checklist](https://opencraft.monday.com/boards/948961077/)):
* Pre-selection of candidates for interviews among the received candidatures;
......@@ -285,7 +285,9 @@ disagreement about that, for example about how priorities relate to each other.
* Create the Sprint Retrospective forum post/poll and create new entries in the retrospective spreadsheet for the new sprint.
* For cells, such as the business cell, which don't have an asynchronous planning session, the Sprint Manager leads the sprint planning meeting.
#### Cell epic planning manager
#### Cell epic planning and sustainability manager
##### Epic planning
* Understand the lifecycle of en epic:
1. Most epics start with a discovery based on a client requirement.
......@@ -304,7 +306,7 @@ disagreement about that, for example about how priorities relate to each other.
1. When all the work in the epic is complete (for instance if all upstream PRs
have been reviewed and merged) the epic can be moved to "Done".
* Recurring epics are generally not based on a project or discovery, but are used
to track work for different cell roles.
to track work for different cell roles (or long-running maintenance contracts for specific clients).
* Each cell has its own Epics board and epics, and is responsible for ensuring
that the projects those epics represent are being properly delivered based on
the above lifecycle.
......@@ -318,23 +320,27 @@ disagreement about that, for example about how priorities relate to each other.
"Accepted" isn't controversial. As described above, there are clear steps
that trigger each of those transitions. In case of any doubt about the correct status
for an epic leave a comment on the epic.
* Every sprint, compare the Epics board for your cell
([Bebop](https://tasks.opencraft.com/secure/RapidBoard.jspa?rapidView=28&useStoredSettings=true),
[Serenity](https://tasks.opencraft.com/secure/RapidBoard.jspa?rapidView=27&useStoredSettings=true))
with the corresponding sheet(s) of the
[epic planning spreadsheet](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit).
* Every sprint, compare the Epics board for your cell with the corresponding sheet(s) of the
[epic planning spreadsheet] and update the spreadsheet as necessary
(adding new clients/epics, updating info about client/epic ownership, etc.).
To find the the epics board for your cell, go to "Boards" > "View all boards" > "Epics - <your cell>"
in JIRA. (Note that if you've recently accessed the board, it may also be listed under "Boards" > "Recent boards".)
Ensure delivery and bugfix deadlines for individual epics are on target.
Comment directly on the spreadsheet.
If that's not the case, comment directly on the spreadsheet, pinging epic owners as necessary
and reminding them to:
* Determine the impact of shifting deadlines and figure out how to minimize it.
* Discuss the situation with the client (or the CEO in the case of accelerated epics),
negotiate scope adjustments as needed, and make sure that the client (or CEO) is OK with them.
* When an epic is completed, make sure that it is correctly reflected in the
"Time / Estimates" sheet of the Epic Planning spreadsheet.
["Time / Estimates"](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=841714444&range=A1) sheet of the epic planning spreadsheet.
* Maintain a count of the amount of time required to complete the accepted
budgets over the next months in the epic planning spreadsheet
for your cell. This is used to [inform recruitment needs](https://handbook.opencraft.com/en/latest/processes/#launch-of-a-recruitment-round).
* Keep a look out for completed discoveries. If a discovery is generic and the
estimates it produced can be reused for further discoveries and estimates
down the line, add it to the
[Price list](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=1171479307)
sheet of the epic planning spreadsheet.
project scope over the next months in the epic planning spreadsheet
for your cell. (Note that the amount of time required to complete the accepted scope of a project
isn't always equal to the estimated budget for the project: Work may progress more quickly than expected in some cases,
allowing us to reduce capacity allocations for coming months. In other cases there might be a need
for additional work that was not accounted for in the original estimates,
requiring us to increase capacity allocations for coming months.)
This is used to [inform recruitment needs](processes.md#launch-of-a-recruitment-round).
* Keep a look out for newcomers and core members joining or leaving the team,
and add their details to the epic planning spreadsheet.
* For newcomers this includes adding onboarding time to the onboarding section
......@@ -344,74 +350,119 @@ disagreement about that, for example about how priorities relate to each other.
by the time these updates are made.*
* For core team members leaving the team, make sure to reset their availability
for the remaining months of the year.
* Handle requests from cell members to change their weekly hourly commitment, when the requested time is in the range 30-40h/week:
* Outside of that range, refer to the CEO - we generally avoid it as it prevents from taking some tasks and increases overhead of lower numbers, and can lead to burnout for higher numbers.
* If you need time to implement the change, for example to finish a recruitment, don't hesitate to discuss a specific date at which to make the change. Generally we would always agree to those requests, but not necessarily to implement it immediately.
* To implement the change:
* Update the [epic planning spreadsheet](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit) accordingly to take it into account for epic planning. (Note: Availability for each member is calculated in full time weeks, i.e. 1 == 40h)
* Update the team member's hours by via the Tempo menu -> Administration -> [Workload schemes](https://tasks.opencraft.com/secure/TempoSchemeWorkload!default.jspa). Locate the team member's current workload scheme (e.g. 35h), and click "Members". Click "Move" to move the team member to the new workload schem (e.g. 30h).
* Once per sprint, during the first week, post an epic update in the "Epic
Planning - \<CellName>" epic with the following checklist:
* Handle requests from cell members to change their weekly hourly commitment, when the requested time is in the range of 30-40h/week:
* Outside of that range, refer to the CEO - we generally avoid it as it prevents cell members from taking some types of tasks,
increases overhead for commitments lower than 30h/week, and can lead to burnout for commitments that exceed 40h/week.
Temporary changes lasting 1-2 months that fall outside of the range are generally acceptable.
* If you need time to implement the change, for example to finish a round of recruitment,
don't hesitate to discuss a specific date at which to make the change. Generally we would always agree to those requests,
but not necessarily to implement it immediately.
* To implement the change:
* Update the epic planning spreadsheet accordingly to take it into account for epic planning.
(Note: Availability for each member is calculated in full time weeks, i.e. 1 == 40h.)
* Update the team member's hours by via the Tempo menu -> Administration -> [Workload schemes](https://tasks.opencraft.com/secure/TempoSchemeWorkload!default.jspa).
Locate the team member's current workload scheme (e.g. 35h), and click "Members".
Click "Move" to move the team member to the new workload schem (e.g. 30h).
* Once per sprint, during the first week, post an epic update on the "Epic
Planning - &lt;your cell&gt;" epic with the following checklist:
* TODO: Info about adding actuals to the epic planning spreadsheet.
* TODO: Info about adjusting client budgets.
```text
h4. Epic planning update (Sprint ???)
* ( ) Make sure all epics have epic updates.
* ( ) If an epic's status has changed make sure it has the correct status on the Epics board. Most importantly:
** ( ) If an epic has been completed, move it to "Done".
** ( ) If an epic has become permanently blocked on the client, move it to "Offer / Waiting on client".
* ( ) Compare the Epics board with the epic planning spreadsheet.
* ( ) Add/Update details in the "Time / Estimates" sheet of the epic planning spreadsheet:
** ( ) For [new epics|https://tasks.opencraft.com/browse/SE-1615?jql=issuetype = Epic AND status in (Backlog, Offer, Accepted, "In development")] (i.e., epics with a status of "Prospect", "Offer / Waiting on client", "Accepted", or "In development").
** ( ) For [completed epics|https://tasks.opencraft.com/browse/SE-999?jql=issuetype = Epic AND status in (Done, Archived)] (i.e., epics with a status of "Done" or "Archived").
** Note that you can filter the list of new/completed epics down to epics from your cell via the "Project" filter.
* ( ) For in-progress epics:
** ( ) Evaluate the amount of time required to complete the accepted budgets over the next months and update the epic planning spreadsheet.
** ( ) Ensure delivery and bugfix deadlines of individual epics are on target (or are being actively discussed on the epics). Comment directly on the epic planning spreadsheet, pinging epic owners as necessary.
** ( ) Ensure the projects from your cell's clients are being properly delivered using the epic management process.
* ( ) For completed discoveries, see if any estimates can be useful more broadly and add them to the "Price list" sheet of the epic planning spreadsheet.
* ( ) Check the calendar and/or the [Looking for mentors|https://forum.opencraft.com/t/looking-for-mentors/131] thread for people joining/leaving the team in the next couple months and update the epic planning spreadsheet as necessary:
** ( ) For people joining the team, add availability and onboarding hours for the coming months.
** ( ) For people leaving the team, update their availability for the coming months. If prompted by your cell's sprint manager, help find new owners for clients and epics belonging to the people leaving.
h3. Epic planning update (Sprint ???)
h4. Epic status
* ( ) Review and update epic statuses as needed.
** ( ) New epics ("Prospect", "Offer / Waiting on client", "Accepted"):
Add an entry to the [Time / Estimates|https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=841714444&range=A1] sheet of the epic planning spreadsheet.
** ( ) In development:
*** ( ) Ensure epic updates are posted by epic owner/reviewer.
*** ( ) Move epics that have become blocked on the client to "Offer / Waiting on client".
** ( ) Completed epics:
*** ( ) Move to "Done".
*** ( ) Update corresponding entries on the [Time / Estimates|https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=841714444&range=A1] sheet of the epic planning spreadsheet.
* ( ) Compare the Epics board with the epic planning spreadsheet and update the spreadsheet as necessary.
h4. Availability updates (recruitment, vacations)
* ( ) Follow up on pings from your cell's recruitment manager:
** ( ) For people joining the team, add availability and onboarding hours for the coming months to the epic planning spreadsheet.
** ( ) For people leaving the team:
*** ( ) Update their availability for the coming months.
*** ( ) Help find new owners for their clients and epics.
* ( ) Check the calendar for vacations coming up in the next couple months. If someone will be away for a total of 1 week (or longer), [post a comment mentioning their availability|https://gitlab.com/opencraft/documentation/public/merge_requests/99#note_198626533] in the epic planning spreadsheet.
h4. Capacity requirements
_For in-progress epics:_
* ( ) Evaluate the amount of time required to complete the accepted project scope over the next months and update capacity allocations in the epic planning spreadsheet.
* ( ) Ensure delivery and bugfix deadlines of individual epics are on target (or are being actively discussed on the epics). If that's not the case, comment directly on the epic planning spreadsheet, pinging epic owners as necessary.
* ( ) Ensure the projects from your cell's clients are being properly delivered using the epic management process.
h4. Client updates
* ( ) Check the descriptions of the Hosted Sites Maintenance and Small Projects & Customizations epics (SE-1690, SE-1693) and update the list of clients for your cell, following the existing format.
** ( ) Add info about new clients that we recently on-boarded. (Make sure to skip clients that haven't moved past the prospect stage.)
** ( ) Remove info about clients that we no longer work with. (Make sure they have been off-boarded completely before doing this.)
h4. Budgeting
_Once per sprint:_
* ( ) *Monday of W3:* Review amount of billable and non-billable work scheduled for next sprint.
_Once per month:_
* ( ) *Before the 5th of the month:* Check that tasks from previous month use correct accounts, and post update on cell sustainability epic.
* ( ) Add actuals for previous month to epic planning spreadsheet.
* ( ) Adjust client budgets for sustainability dashboard as necessary.
_Once per quarter:_
* ( ) Post update about cell's sustainability on forum.
* ( ) Review and update budgets for non-billable cell accounts.
h4. Notes
...
```
#### Cell sustainability manager
##### Sustainability management
* Each cell is meant to be a sustainable entity by itself: its members are the closest to
most of the work that impacts its sustainability: the successful estimation and delivery of
most of the work that impacts its sustainability - the successful estimation and delivery of
each client project.
* Some of the budgets for internal/non-billed accounts are also decentralized to individual cells.
See [cell budgets](cell_budgets.md).
* The sustainability role is responsible for ensuring the cell keeps the budgets it is responsible
* The sustainability manager is responsible for ensuring that the cell keeps the budgets it is responsible
for in order.
* **Reporting**. Every 3 months, the sustainability manager posts an update on the forum about the
current status of the cell's sustainability budget and ratio, as well as plans for the next months
that ensures sustainable ratios. This is done in January (winter update), April (spring update),
July (summer update), October (autumn update).
current status of the cell's sustainability ratio and budget for internal work, as well as plans for the comings months
that ensure sustainable ratios. This is done in January (winter update), April (spring update),
July (summer update), October (autumn update), *and must wait until after client account budgets
for the previous quarter are up-to-date to make sure that the reported numbers are correct.*
* **Setting internal budgets**. The sustainability manager is responsible for setting budgets of
*non-billable cell accounts* in the [Sprints](https://sprints.opencraft.com) app and for reviewing
and updating them after each sustainability report, in coordination with epic owners.
* **Next sprint's sustainability prediction**. When [planning the next sprint](https://handbook.opencraft.com/en/latest/processes/#planning-agenda),
* **Next sprint's sustainability prediction**. When [planning the next sprint](https://handbook.opencraft.com/en/latest/processes/sprints/#sprint-planning-process),
the sustainability manager will review the amount of billable and unbillable work scheduled by the
cell for the next sprint, and will warn the epic owners about any budget issues and get them to
address those proactively. If the situation cannot be redeemed immediately, the sustainability
manager will get a timeline and plan from the concerned epic owners to resolve the issue. The
"budget" section of the Sprints dashboard includes "Left this sprint", "Next sprint" and
"Budget" section of the Sprints dashboard includes "Left this sprint", "Next sprint" and
"Remaining for next sprint" columns that can be used to estimate next sprint's sustainability.
* **Previous month's accounts review**. Shortly after the end of each month, the sustainability
manager will review that the tasks worked on during that month are using the right account. In
particular, incidents that have affected client instances should use the client's "Instance
* **Previous month's accounts review**. At the beginning of each month, after the deadline for recording/adjusting
time logs for the previous month, the sustainability manager will check that the tasks
worked on over the course of the previous month are using the right accounts. (For the purpose of efficiency,
this review can be combined with adding actuals for the previous month to the [epic planning spreadsheet].)
In particular, incidents that have affected client instances should use the client's "Instance
maintenance" account instead of an internal devops account. This review needs to happen before
invoices are sent to clients.
invoices are sent to clients, and results should be posted as a comment on the
"Cell sustainability - &lt;your cell&gt;" epic.
[epic planning spreadsheet]: https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=849132736
......@@ -1162,6 +1213,9 @@ As a **business development specialist**:
* anything related to leads, prospects, and quote should be shared with contact@opencraft.com
* anything related to invoices and billing should be shared with billin@opencraft.com
* the rest (anything non-financial) should be shared with help@opencraft.com
* I will check completed discoveries for any estimates that can be reused for future discoveries and quotes,
add them to the [Price list](https://docs.google.com/spreadsheets/d/1j-fOflCXRyC8qL8yp7zPcbklQqdeMTQnvrVS-7E0aWE/edit#gid=1171479307)
sheet of the epic planning spreadsheet, and add/update price items in Proposify as necessary.
### CTO
......
......@@ -142,7 +142,7 @@ always to reduce and eliminate spillovers, and have clean sprints.
At OpenCraft, we deliver what and when we promise. All our projects and tasks are planned based on expectations of work
being completed in a certain timeframe. Not just our clients, but also our internal sprint managers, sustainability
planners, and epic owners and reviewers need to know that we can complete our commitments on time.
managers, and epic owners and reviewers need to know that we can complete our commitments on time.
That's why, at the end of each sprint, we spend time going through the list of tasks that weren't completed during the
sprint, and asking ourselves, "What could we have done differently to prevent this task from spilling over?" The use of
......
......@@ -30,8 +30,7 @@ cells:
recruitment_manager: joao@opencraft.com
sprint_manager: pooja@opencraft.com
sprint_planning_manager: nizar@opencraft.com
epic_manager: tim@opencraft.com
sustainability_manager: daniel@opencraft.com
epic_and_sustainability_manager: tim@opencraft.com
devops_specialist: gabor@opencraft.com
tools:
chat: https://chat.opencraft.com/opencraft/channels/serenity
......@@ -76,8 +75,7 @@ cells:
recruitment_manager: raul@opencraft.com
sprint_manager: matjaz@opencraft.com
sprint_planning_manager: samuel@opencraft.com
epic_manager: jill@opencraft.com
sustainability_manager: matjaz@opencraft.com
epic_and_sustainability_manager: jill@opencraft.com
devops_specialist: geoffrey@opencraft.com
tools:
chat: https://chat.opencraft.com/opencraft/channels/falcon
......@@ -134,10 +132,9 @@ cells:
recruitment_manager: shimul@opencraft.com
sprint_manager: giovanni@opencraft.com
sprint_planning_manager: demid@opencraft.com
epic_manager:
epic_and_sustainability_manager:
primary: kshitij@opencraft.com
backup: farhaan@opencraft.com
sustainability_manager: guruprasad@opencraft.com
devops_specialist: giovanni@opencraft.com
tools:
chat: https://chat.opencraft.com/opencraft/channels/bebop
......
......@@ -58,8 +58,7 @@ class Roles(TypedDict):
recruitment_manager: Union[str, RoleAssignment]
sprint_manager: Union[str, RoleAssignment]
sprint_planning_manager: Union[str, RoleAssignment]
epic_manager: Union[str, RoleAssignment]
sustainability_manager: Union[str, RoleAssignment]
epic_and_sustainability_manager: Union[str, RoleAssignment]
devops_specialist: Union[str, RoleAssignment]
......
......@@ -43,8 +43,7 @@ Epics Board - TBA
* [Recruitment manager](roles.md#cell-recruitment-manager): {{cell.roles.recruitment_manager}}
* [Sprint manager](roles.md#cell-sprint-manager): {{cell.roles.sprint_manager}}
* [Sprint Planning Manager](roles.md#cell-sprint-planning-manager): {{cell.roles.sprint_planning_manager}}
* [Epic manager](roles.md#cell-epic-planning-manager): {{cell.roles.epic_manager}}
* [Sustainability manager](roles.md#cell-sustainability-manager): {{cell.roles.sustainability_manager}}
* [Epic planning and sustainability manager](roles.md#cell-epic-planning-and-sustainability-manager): {{cell.roles.epic_and_sustainability_manager}}
* [DevOps Specialist](roles.md#devops-specialist): {{cell.roles.devops_specialist}}
{% if cell.rules %}
......
......@@ -43,8 +43,7 @@ def cell_roles():
"recruitment_manager",
"sprint_manager",
"sprint_planning_manager",
"epic_manager",
"sustainability_manager",
"epic_and_sustainability_manager",
"devops_specialist",
]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment