Skip to content

Commit

Permalink
Merge branch 'main' into authorized
Browse files Browse the repository at this point in the history
  • Loading branch information
GeorgianaElena authored Feb 2, 2024
2 parents eab17ce + 33ac88a commit ecbf059
Show file tree
Hide file tree
Showing 25 changed files with 274 additions and 90 deletions.
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/offboard-from-role.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
name: "👋🏻 Remove a team member from the Support Steward Team Role, calendar and rota"
name: "👋🏻 Remove a team member from the Support Triager Team Role, calendar and rota"
about: Steps to follow to remove a team member from our Team Roles calendar and rota
# labels: "type: offboard"
title: "Offboarding from Support Steward: <name>"
title: "Offboarding from Support Triager: <name>"
---

### Checklist

- [ ] Remove them from the `@support-stewards` [Slack usergroup](https://2i2c.slack.com/admin/user_groups)
- [ ] Delete all upcoming events for the Support Steward using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#delete_events_bulkpy)
- Command should look something like: `poetry run delete-bulk-events support-steward`
- [ ] Remove them from the `@support-triagers` [Slack usergroup](https://2i2c.slack.com/admin/user_groups)
- [ ] Delete all upcoming events for the Support Triager using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#delete_events_bulkpy)
- Command should look something like: `poetry run delete-bulk-events support-triager`
- Use the `--date` flag to tweak when to begin deleting events from
- [ ] Regenerate upcoming events for the Support Steward, without the specified member in the roster, using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#create_events_bulkpy)
- Command should look something like: `poetry run create-bulk-events support-steward`
- [ ] Regenerate upcoming events for the Support Triager, without the specified member in the roster, using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#create_events_bulkpy)
- Command should look something like: `poetry run create-bulk-events support-triager`
- Use the `--date` flag to tweak when to begin creating events from, and the `--team-member` flag to indicate where in the team to begin cycling through from

:sparkles: **Congratulations! This person is no longer on the rota for their role. Thank you for all your hard work!** :sparkles:
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/offboard-team-member.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Remove 2i2c accounts and remove from team accounts:
- [ ] Remove from our [bitwarden organization](https://vault.bitwarden.com/#/organizations/11313781-4b83-41a3-9d35-afe200c8e9f1/vault) and remove from "Default collection"

- [ ] Role removal
- [ ] File and complete a "Remove a team member from the Support Steward Team Role, calendar, and rotation" [issue](https://github.com/2i2c-org/team-compass/issues)
- [ ] File and complete a "Remove a team member from the Support Triager Team Role, calendar, and rotation" [issue](https://github.com/2i2c-org/team-compass/issues)


**Documentation**
Expand Down
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/onboard-to-role.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
---
name: "🙌 Add a team member to the Support Steward Team Role, calendar and rota"
name: "🙌 Add a team member to the Support Triager Team Role, calendar and rota"
about: Steps to follow to add a team member into our Team Roles calendar and rota
labels: "type: onboard"
title: "Onboarding into Support Steward: <name>"
title: "Onboarding into Support Triager: <name>"
---

### Checklist

- Add them to the a`@support-stewards` [Slack usergroup](https://2i2c.slack.com/admin/user_groups)
- Add them to the a`@support-triagers` [Slack usergroup](https://2i2c.slack.com/admin/user_groups)

The above action will automatically mean they will start to be added into rotation on the [Team Roles calendar](https://calendar.google.com/calendar/embed?src=c_nq8hl7qsm484g1p7mfkm29jpo8%40group.calendar.google.com&ctz=Etc%2FUTC) and be pinged by the Slackbot for reminders.
However, we keep the calendar populated ~1 year in advance (to assist with PTO scheduling), so it may be a long time before their first shift comes around!
To expedite this a little you can use code in the [`team-roles-geekbot-sweep` repo](https://github.com/2i2c-org/team-roles-geekbot-sweep) to update the calendar.

- [ ] Delete all upcoming events for the Support Steward using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#delete_events_bulkpy)
- Command should look something like: `poetry run delete-bulk-events support-steward`
- [ ] Delete all upcoming events for the Support Triager using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#delete_events_bulkpy)
- Command should look something like: `poetry run delete-bulk-events support-triager`
- Use the `--date` flag to tweak when to begin deleting events from
- [ ] Regenerate upcoming events for the Support Steward, with the new member in the roster, using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#create_events_bulkpy)
- Command should look something like: `poetry run create-bulk-events support-steward`
- [ ] Regenerate upcoming events for the Support Triager, with the new member in the roster, using [code described here](https://github.com/2i2c-org/team-roles-geekbot-sweep/blob/HEAD/README.md#create_events_bulkpy)
- Command should look something like: `poetry run create-bulk-events support-triager`
- Use the `--date` flag to tweak when to begin creating events from, and the `--team-member` flag to indicate where in the team to begin cycling through from

:tada: **Congratulations! This person is now on the rota for their new role!** :tada:
4 changes: 2 additions & 2 deletions _data/support_stewards/gen_support_stewards.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def main():
path_data_root = Path(__file__).resolve().parent.parent
tmp_dir = path_data_root.joinpath("tmp")
tmp_dir.mkdir(parents=True, exist_ok=True)
support_stewards_file = tmp_dir.joinpath("support-stewards.txt")
support_stewards_file = tmp_dir.joinpath("support-triagers.txt")

# Get support stewards usernames and avatars
try:
Expand All @@ -114,7 +114,7 @@ def main():
print("Generating support stewards gallery encountered an error:")
print(err)
sys.exit()
usernames_and_avatars = slack.get_users_in_usergroup("support-stewards")
usernames_and_avatars = slack.get_users_in_usergroup("support-triagers")



Expand Down
31 changes: 31 additions & 0 deletions administration/contractors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Set up a contractor with CS&S

If you need to contract work to an external person or organization, follow the steps below.
Note that this is different from the process of hiring a contractor that is meant to be part of 2i2c's team on an ongoing basis.
For that use case, see [](#hiring).

1. Fill out the tables in the contractor agreement template

CS&S has [a contractor agreement template at this Google Doc](https://docs.google.com/document/d/15Vq-pMFEI9xa279ftgNzoxKEPsWyji-WKwHBo1ZA6MM/edit?usp=sharing).

Copy it and fill out the top tables in coordination with the contractor and others at 2i2c.

```{admonition} Choosing a grant code
See [](#reimburse:grant-code).
```
2. Have the contractor prepare a **Statement of Work**.
Most contractors have their own templates for an SOW, but if one doesn't, here are a few pieces of information they should contain:

- A general description of the service being provided and the need it is meeting.
- The outcomes that we aim to achieve with this work.
- The specific actions that will be taken as part of the work.
- The pricing structure of the contract.
3. Confirm the contract template with the contractor.
Make sure the language looks reasonable and that the information is correct.
If they have any changes they'd like to see to the contract, note it in the following step.
4. Send an e-mail to `[email protected]` requesting a new contractor agreement.
Attach the contractor template you've filled out, as well as the Statement of Work.
Add any requests or questions the contractor has about the contract language.
`cc` the contractor so that they can follow up with CS&S if need be.

After this, CS&S should provide next steps and take it from there if they need any extra information or clarification.
26 changes: 23 additions & 3 deletions administration/css.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ Below are links to each:
- [The CS&S Handbook](https://www.notion.so/CS-S-Handbook-18cd12a6e44c4393857642da6a6b0fdf) is similar to our Team Compass.
- [CS&S Employee Handbook](https://docs.google.com/document/d/1LDN8-iSak391uQC5AzvtzD9dIOmfHg8kihwlvzn8Cy8/edit#heading=h.gjdgxs) is more like an employee policy guide.

```{tip}
📧 Please avoid emailing individual CS&S email addresses where possible. This ensures CS&S staff have maximum visibility of incoming email addresses and your query may be resolved more quickly as a result.
```

```{role} CS&S Operations
```
## CS&S Operations

To discuss invoices, contracting, etc.
This includes most "administrative actions" that we need help with.
This includes most "administrative actions" that we need help with, such as work with *external parties* regarding onboarding, signatures, invoicing, etc.

E-mail address: **`[email protected]`**

Expand All @@ -30,21 +34,37 @@ For more strategic and programs-level conversations.

E-mail address: **`[email protected]`**.

## CS&S HR

For confidential Human Resources needs.

E-mail address: **`[email protected]`**.

## CS&S Bills

For sending invoices. This inbox is automated and not monitored.

E-mail address: **`[email protected]`**.

## Google Group

We have a dedicated Google Group and e-mail that we use to provide CS&S team members access to our files.

- **`[email protected]`**

This is because they need visibility into many of our operational information for bookkeeping and accountability purposes.
It contains several adminsitrative and organizational leaders of CS&S.
It contains several administrative and organizational leaders of CS&S.
They are all listed as managers, so can add people on their own.

In Google Drive, you may add the `[email protected]` group to the sharing list for a folder or file and they will have access.

## Asana board

CS&S has an Asana board that they occasionally use to tack work items.
CS&S has an Asana board that they occasionally use to track work items.
You can find it at this link:

[CS&S Asana Board](https://app.asana.com/0/1200569652722016/list).

```{note}
The list above is fairly comprehensive – there is no need to use any other aliases (such as `accounting@codeforscience`, etc.) since they are intended for outgoing use.
```
1 change: 1 addition & 0 deletions administration/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ overview
structure
css
reimburse
contractors
invoices
google-workspace
github
Expand Down
6 changes: 3 additions & 3 deletions leads/governance.md → cross-functional/governance.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Making decisions

Functional areas and their team leads follow our [Principles of decision making](../operations/governance.md).
Functional areas and their leads follow our [Principles of decision making](../operations/governance.md).
This section describes more specific ways in which decisions usually happen.

## Decision-making scope
Expand All @@ -10,14 +10,14 @@ This means that most decisions are made by individuals without requiring a consu

### Within-area decisions

For decisions that primarily affect their area and no others, team leads are empowered to make decisions within their own team without requiring consent from team members of other areas.
For decisions that primarily affect their area and no others, area leads are empowered to make decisions within their own group without requiring consent from team members of other areas.
However, they should make decisions transparently and inclusively, especially if they think another area will be interested in the decision.

They are also empowered to _delegate_ scoped decision-making authority to others at 2i2c.

### Cross-organization decisions

There are a few kinds of decisions that require discussion and agreement from our team leads:
There are a few kinds of decisions that require discussion and agreement from our area leads:

- Decisions with significant financial impact across 2i2c
- Decisions that will significantly impact our capacity or commit ourselves to more work
Expand Down
2 changes: 1 addition & 1 deletion leads/index.md → cross-functional/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Cross-team leadership
# Cross-functional processes

```{toctree}
overview.md
Expand Down
9 changes: 2 additions & 7 deletions leads/overview.md → cross-functional/overview.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
# Scope and responsibilities

The Team Leads group is a bit different than most other 2i2c teams.
It has a cross-organizational scope and focuses on high-level priorities, strategy, and ensures we are distributing attention and resources across the organization correctly.
Our cross-functional processes focus on high-level priorities, strategy, and ensures we are distributing attention and resources across the organization correctly.

Team leads are representatives of their respective areas in 2i2c.
They advocate for the goals and needs of those areas.
They also bridge and coordinate strategy, prioritization, and resources across 2i2c.

Here are their major responsibilities:
Here are this area's major responsibilities:

## Embody our values and team practices

Expand Down
6 changes: 6 additions & 0 deletions cross-functional/roles/chief-of-staff.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
```{role} Chief of Staff
```
# Chief of Staff

This role is new to 2i2c, and needs to be refined in the coming months.
For information about our acting Chief of Staff, see [](../../engineering/roles/delivery-manager.md).
8 changes: 8 additions & 0 deletions cross-functional/roles/executive-assistant.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
```{role} Executive Assistant
```
# Executive Assistant

We partner with [VaVaVirtual](https://vavavirtual.com/) for Executive Assistant support.
This role supports a variety of needs across our leadership team.

Our executive assistant is Camille Gonzalez.
22 changes: 22 additions & 0 deletions cross-functional/structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Structure and roles

The area leads group is composed of representatives from each area (usually, the Area Lead), who advocate for the goals and needs of those areas.
However, the policies and ideas in this area apply to all of 2i2c.

## Area leads

Below is the current list of area leads:

- **Executive**: {role}`Executive Director` and {role}`Chief of Staff`
- **Partnerships**: {role}`Partnerships Lead`
- **Engineering**: {role}`Engineering Manager` / {role}`Technology Lead`
- **Product**: {role}`Product Lead`

(cross-functional:roles)=
## Team roles

```{toctree}
:glob:
:maxdepth: 2
roles/*
```
4 changes: 4 additions & 0 deletions leads/workflow.md → cross-functional/workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
(leads:workflow)=
# Workflow

```{warning} Out of date
Our cross-team workflow is being significantly re-worked, and this information is out of date.
```

This section describes how our leadership team carries out its planning and day-to-day work.

(leads:meeting:organizational-strategy)=
Expand Down
47 changes: 47 additions & 0 deletions engineering/roles/delivery-manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
```{role} Delivery Manager and Chief of Staff
```
# Delivery Manager / Chief of Staff

```{note}
This role is new, and we must define its responsibilities, metrics for success, etc more clearly.
As a starting point to describe this role, below we provide the text we used in the job posting.
```

We’re looking for a **Delivery Manager** who will serve as a key facilitator in ensuring the successful and efficient delivery of [our product](https://2i2c.org/service/) . Acting as a servant leader, you’ll guide our engineering team, promote collaboration, and eliminate obstacles to deliver high-quality results that are aligned with our mission and goals.

In addition to your role as a Delivery Manager, we’re keen to have this person to take on responsibilities of a **Chief of Staff** role, organizing cross-functional work, enabling transparency in decision-making, and fostering a cohesive work environment.

We’re ideally looking for someone who has experience of leading or facilitating globally distributed and remote-first teams, asynchronous working and coaching teams in agile best practices.

## What you’ll do

As a Delivery Manager you’ll be primarily responsible for the detailed planning and day-to-day management of engineering tasks, and will also act as a servant-leader to resolve and remove any blockers that individual team members may be experiencing.

Reporting into the Engineering Manager, you’ll work closely with them on running the day-to-day delivery related tasks on their behalf. To do this you’ll be someone with extensive experience in running agile delivery processes including planning, running retrospectives, and driving continuous improvement.

You’ll collaborate with others, in particular the Product Manager, to design a process for balancing Sprint Goal work, support tasks, reactive tasks, and upstream work that is driven by open source community needs.

In addition to this primary role, you’ll take on responsibilities as the **Chief of Staff**, working closely with the Executive Director. In this role you’ll be responsible for **organizing cross-functional work, enabling transparency in decision-making, and fostering a cohesive work environment**.

## About you

You’re a Delivery Manager who understands the principles and purpose and not just the ceremonies of agile. You’ll bring experience in optimizing the delivery process, fostering collaboration and ensuring that our product priorities are delivered in the most optimal fashion, all while upholding and coaching others in the principles of agility and continuous improvement.

### Essential experience

- Proficient in agile frameworks (Scrum, Kanban, Lean) with a deep understanding to effectively apply agile principles.
- In-depth understanding and extensive experience of working with software engineers to enhance their day-to-day experience and optimize product delivery.
- Strong communication skills to facilitate effective team collaboration and lead the team through various project phases.
- Ability to engage and communicate with stakeholders, manage expectations, and promote alignment with goals and objectives.
- Proficiency in coordinating the efforts of remote teams, ensuring efficient collaboration and productivity.
- Strong analytical and problem-solving abilities to address impediments, make informed decisions, and keep work on track.


### Useful qualities

- Facilitating globally distributed and remote-first teams.
- Asynchronous working and associated best practices.
- Creating and overseeing systems of work that organize distributed teams.
- Facilitating teams who in addition to their day-to-day work actively contribute to open-source.
- Working directly with Platform, DevOps or Site Reliability engineers.
- Understanding the challenges of contributing to and leading community-driven open source technology projects.
4 changes: 2 additions & 2 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ operations/index
people/index
open-source/index
finance/index
product/index
administration/index
```

Expand All @@ -61,9 +60,10 @@ Functional areas each have their own leads, goals, and structures.
:caption: Functional Areas
:maxdepth: 2
leads/index
cross-functional/index
engineering/index
partnerships/index
product/index
```

(index:hubs-service)=
Expand Down
18 changes: 0 additions & 18 deletions leads/structure.md

This file was deleted.

4 changes: 1 addition & 3 deletions partnerships/structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,4 @@ See [list of team members](../reference/team.md).

We use a [shared e-mail inbox](org:communication:shared-email) called `[email protected]` to collect any inbound communication from those that wish to partner with 2i2c.

It is attached to the `2i2c Partnerships` Google Group.

Access is also shared with {term}`CS&S` so that they have context for any handoffs to invoicing and administration.
It is attached to the `2i2c Partnerships` Google Group.
Loading

0 comments on commit ecbf059

Please sign in to comment.