Readers/Web/Team/Team norms

This page is intended to document norms adopted by the team.

It is recommended to review these norms quarterly, perhaps as part of Team Time.

Be proactive about informing your teammates
If you have a conversation that affects or relies on others who weren’t present, don’t assume they will be informed on their own.


 * If you have a conversation about something, and not everyone who needs to know about that conversation was present, go tell them.
 * Document things to which others might need to refer.
 * Silence is not consent! It’s often a sign of disengagement. If you want consent, make sure you get consent explicitly.

Be proactive about staying informed
Your teammates are doing great work, and it can be expensive to do everything with everyone all the time, so take it upon yourself to see what’s happening. The team uses the following tools to collaborate as a (mostly) asynchronous team: Phabricator Slack Email Wiki
 * Review frequency:
 * Daily, at least at the start of your day.
 * Look for:
 * Any tasks on the Kanbanana, plus any tickets to which you are subscribed.
 * In-progress work that can be public.
 * Recommended approach:
 * If a decision was made that affects the above type of tracking, it should be in Phab tasks.
 * When you contact people on Phabricator, it’s public! This is in line with our values, but also requires care, because you’re inherently showing your communications to more than the people to whom the message might be aimed.
 * Review frequency:
 * Daily, ideally at the start and end of your day, and at least once in between.
 * Look for:
 * Web team channel threads about work being done, as well as private messages and @mentions, or emergencies.
 * Recommended approach:
 * If something is on fire, it’s probably obvious. If it’s not, it should be.
 * When you want someone’s attention, DM them or @mention them. They’ll do the same to you, so respond to those when you can.
 * You don’t have to read all the backscroll. Skim the top level threads and see if anyone has been trying to reach you.
 * Slack is instant messaging, and one of the better ways to simulate togetherness. You’re not expected to be on here all the time (it can also be distracting, plus we all work different hours), but do your best.
 * When you Slack/chat someone, urgency is implied (at least traditionally), because it is semi-synchronous and can’t be triaged the same way as email or Phabricator. It may also mean that your chat is lost, if someone is not readily available, and a slower but more sustainable approach (like email or Phab) might be prudent. Keep these things in mind when deciding if chat is the best way to ask someone to connect.
 * Review frequency:
 * At least a couple times a week (commitments and summaries currently go out Mondays and Fridays).
 * Many people check a couple times a day. You’re not expected to respond at the same frequency.
 * Sometimes, if something is urgent, you might also be asked in another channel (e.g. chat) to review by a specific deadline.
 * Look for:
 * Proposals
 * Meeting summaries
 * Action items
 * Recordings
 * Requests/decisions/announcements
 * Recommended approach:
 * Email is essentially advanced triage, so set expectations!
 * When you email someone, there is an expectation that they will read it. What might not be clear is how quickly you might want a response, so you can help your teammates by saying what you expect and when you expect it.
 * Subject line [TAGS] are useful. Tags make it easier to triage and limit context-switching, and also leverage automated filters.
 * How quickly do you need a response?
 * E.g. [URGENT] or [NOT URGENT]
 * What are you asking?
 * E.g. [ACTION REQUESTED] or [ACT]
 * Review frequency:
 * As-needed (Product Owner and CommRel should be reviewing this more proactively)
 * Look for:
 * Community feedback, inaccuracies in project pages, etc.
 * Recommended approach:
 * Chore Wheel
 * Responding to PO and CommRel triage.
 * GSuite (Docs, Calendar, etc.)
 * Review this:
 * When requested
 * Look for:
 * Whatever was requested :)
 * Recommended approach:
 * RSVP for calendar invites at least a day in advance of a meeting, if possible.
 * Meetings are a scarce and expensive resource. Use them judiciously.
 * Write down the purpose of a meeting or document (in the event description, top of the document, etc)
 * Remember that Doc and Calendar changes sometimes send email notifications, for better or worse.
 * Try to avoid GChat. It’s redundant. :)
 * The team uses the following tools to collaborate synchronously:
 * Google Meet
 * Your teammates should take care to acknowledge who isn’t present when collaborating synchronously, and leverage meeting recording and note-taking, as possible. Watch those videos and read those notes!
 * If you are working, your teammates expect you to be online and, to simulate co-location, on Slack, specifically.
 * If you are away from Slack for more than a break or food, put up an away status.
 * Know that, when you contact someone, you’re inherently making a request.

Assume others interpret differently
Say what you mean, and mean what you say.


 * Remote communication relies heavily on writing, and because of that being explicit about your tone is important. In person, and to some degree on video, these are things we take for granted.

WEEKLY
Monday: 50 min planning, go over admin stuff (OOO, chore wheel duty, etc), data needs, tasks in process. Data analyst and CRS are invited.


 * Purpose: set up a plan for the week.
 * Details: Have a pre-populated agenda in a doc, use this to record decisions and make sure support folks are informed. Also check on board status, create new tasks as needed, and  prioritize/estimate work.

Tuesday: 45 min grooming, triage and estimate work.


 * Purpose: to keep up with new tickets and ensure everything is discussed and agreed on.
 * Details: Start with board check. Clear out the triage column and give all tasks a priority. Estimate work that goes onto the board.

Wednesday: 30 min standup, brief status check.


 * Purpose: go over what everyone is working on and call out any blockers.
 * Details: Include board check if needed. Also identify any deep-dive issues and break out into individual meetings as needed.

Thursday: 30 min task sync, check in on work in progress.


 * Purpose: to follow up on plans from Mon and have more in-depth discussion (as a group) as needed.
 * Details: Start with board check. This can be another opportunity to prioritize/estimate work or break out into individual meetings.

EVERY TWO WEEKS
Wednesday: 45 min product planning, PM, tech lead, designer, CRS, EM (optional) discuss high level/long term product plans that impact team roadmap.


 * Purpose: stay ahead of present work and create phab tasks as needed.

Wednesday (alternating week from prod planning): 50 min retrospective, time for everyone to reflect together on team health, processes, workload, etc. CRS is optional.


 * Purpose: to celebrate wins, raise concerns, iterate on how we do things.

Thursday (alternating week from retro): 50 min team time, additional discussion and/or socializing. Data analyst and CRS are invited. Everyone is optional.


 * Purpose: Future planning time. Plus some extra space for getting together.