Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions 0010-async-cloud-team.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Asynchronous collaboration for the cloud team

* Status: proposed
<!-- {proposed | rejected | accepted | deprecated | … | superseded by [ADR-0005](0005-example.md)} --> <!-- optional -->
* Deciders: @TANguyen1893 @mckornfield @emmanue @ZavenArra @peterwwillis @ximena9201
<!-- Find deciders here: https://github.com/orgs/Greenstand/people -->
* Date: 2022-06-07

Technical Story: {description | ticket/issue URL} <!-- optional -->

## Context and Problem Statement

Engineering teams at Greenstand have typically incubated using weekly meetings and semi-synchronous communication in Slack. As team personnel, process, and technologies mature, the scope of individual tasks becomes smaller. Additionlly, conveying information primarily through synchronous meetings limits participation from those that cannot regularly attend, or are looking to contribute during unstructured time in their busy schedules.

The cloud team has reached a point of maturity where adopting asynchronous processes can expand productivity, and needs to select the right suite of approaches to support team members in this effort.

## Decision Drivers <!-- optional -->

* Inclusion of engineers with varying availability
* Engagement and retainment of new contributors
* Productivity

## Considered Options

We will select a mix of options from the below list.

1. ADRs for all proposed or accepted decisions
2. Manage small scope tickets via a cloud team github project board
3. Continue weekly meetings
4. Discontinue weekly meetings, and adopt a longer monthly meeting
5. Coworking times
6. Additional options / ideas?

Copy link
Contributor

@emmanue emmanue Jun 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ADRs for all proposed or accepted decisions, Manage small scope tickets via a cloud team github project board, Continue weekly meetings and Coworking times(exceptionally for unblocking sessions), would be great.
We could write a meeting report after every meeting, which summarizes the topics that were discussed during the meeting and outline the diffferent tasks which need to be done; this could be linked to a github project board for a holistic view of the tasks.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@emmanue great comments. How should we identify who writes the meeting report? Keeping minutes like this or reporting back after each meeting has been a consistent problem for our teams, due to low time availability.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ZavenArra I'm up for the task. If there is a template on which to start from that would be great. If not I will write one from scratch and use that to write the the reports after every weekly meeting.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@emmanue we do not have a meeting minutes template specifically, but there are some easy ones to follow in Evernote that I really like. If using Evernote, when you start a new note, a few options are shown on the page for templates, with "Meeting Note" being one of them. I've attached a screenshot of that template for you to check out.

Evernote Meeting Note Template Example

The Greenstand google drive also has nice templates created just for Greenstand. But they just have our logo, footer noting the year, and formatting specs. If you wanted, you could draft a meeting minute template starting with a Greenstand basic template, then I can upload it to that space so that it is held there forever for future use.

Just let me know if I can help! :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tabi-k please could you send me the Greenstand template on slack.

<!--
## Decision Outcome

Chosen option: "{option 1}", because {justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force {force} | … | comes out best (see below)}.

### Positive Consequences <!-- optional -->

* {e.g., improvement of quality attribute satisfaction, follow-up decisions required, …}
* …

### Negative Consequences <!-- optional -->

* {e.g., compromising quality attribute, follow-up decisions required, …}
* …
-->

## Pros and Cons of the Options

### 1. ADRs for all proposed or accepted decisions

Some decisions are made in meetings or through collective chat, others are proposals that need feedback. Regardless, all decisions must be written up as ADRs by the team members involved. Accepted ADRs can always be superceded by a follow up ADR.

* Good, because this gives a clear record of all cloud thinking
* Good, because this allows groups of team members to act semi-autonomously to make decisions
* Bad, because it adds time and writing requirements

### 2. Manage small scope tickets via a cloud team github project board

Use the project board at https://github.com/orgs/Greenstand/projects/41 to track all work items with well defined, limited scope. These should be tasks that any contributor can pick up and complete with a few hours of work, assuming the necessary skills.

* Good, because this gives a landing pad for contributors looking for work to be done
* Good, because this gives an asynchronous birds-eye view of progress on critical tasks
* Bad, because more project management time is involved
* Bad, because some larger scoped tasks might be tracked elsewhere

### 3. Continue weekly meetings

* Good, because this keeps the team coordinated and socially organized
* Good, because we are used to it
* Good, because new team members have a place to land
* Bad, because erratic attendence will continue, impacting productivity
* Bad, because an unstructured meeting is not always the most productive use of limited time

### 4. Discontinue weekly meetings, and adopt a longer monthly meeting

Instead of an _unstructured_ weekly meeting, organize a _structured_ monthly meeting - i.e. a meeting an agenda and agreed-upon attendance.

* Good, because all team members can address large scope issues and updates together
* Good, because this provides sychronous meeting time to balance other asynchronous team process
* Bad, because there are more organizing requirements

### 5. Coworking times

Instead of weekly meetings, establish a cadence of working or hackmeet times

* Good, because a lot could get done
* Bad, because of additional organization requirements
* Bad, because team members are not colocated