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 Sprint board aka the Kanbanana
 * Look for:
 * Any tasks on the Kanbanana, plus any tickets to which you are subscribed.
 * In-progress work that can be public.
 * Recommended approach:
 * The task description should always be the source of truth.
 * Update as needed.
 * Use comments to ping people, note that the description is updated with important changes.
 * 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.
 * Also see https://www.mediawiki.org/wiki/Reading/Web/Phabricator


 * Look for:
 * Columns that are red. This indicates that there are too many tasks in that column.
 * Tasks to the right of Doing that have not had an update in 3 days. The team should investigate why these are not moving.


 * Recommended approach:
 * Call out any questions or concerns during meeting board checks.

Slack Email Working hours / availability Wiki
 * Look for:
 * #readers-web-team - private channel restricted to team members for updates, questions, occasional personal/fun stuff
 * #humansoftheweb - public channel shared with other Core Experiences teams for knowledge sharing, questions, requests
 * Recommended approach:
 * If something is on fire, make it obvious.
 * Share info with the team rather than DMing or setting up side conversations. To help reduce noice, identify who needs to pay attention to a message (everyone else is optional).
 * 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, 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.
 * If a decision is made on Slack, it should be documented elsewhere (probably Phab).
 * 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]
 * Recommended approach:
 * Set your working hours on your personal calendar
 * If needed, put blocks for times when you are unavailable, e.g. focus time, childcare
 * Notify the team if you won't be available when you usually are
 * e.g. “I will be out for an appointment this afternoon, I’m working on X ticket” or “I can’t make it to standup, here’s my update”
 * Time off
 * Time off is usually requested 2 weeks in advance; notify the team when you make your request
 * Put it on your personal calendar. Using the "out of office" function is helpful as it auto-declines calendar invites.
 * Put it in the planning meeting notes. This is our source of truth for who's out.
 * Look for:
 * Community feedback, inaccuracies in project pages, etc.
 * Recommended approach:
 * Chore Wheel

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 estimation, discuss tasks before moving them across the board.
 * Purpose: to keep up with new work and ensure everything is understood and agreed on.
 * Details: Estimate tasks in Upcoming and give them a t-shirt size before moving to Ready For Dev. Assign tasks in Needs Analysis if time. Not a board check.

Wednesday: 30 min standup, board check for blockers.
 * Purpose: go over what everyone is working on and call out any blockers.
 * Details: Determine when tasks will be done and if they are blocked, what can be done to un-block. 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.