This page is intended to document the Growth Team's norms and ceremonies. Team ceremonies for Growth is defined as a series of acts and processes performed regularly with the intention of creating an environment that promotes iterative improvement, innovation and productivity.
On this team, process is not intended to become performative, rather it is intended to provide the needed structure to:
- Improve Iteratively; Learn and Adjust
- Fail Fast
- Share Knowledge, Wins & Lessons
- With Each Other
- Our Communities
- The Foundation
- Set and Meet Goals
- Adding Value/Priorities > Scope
- Wikimedia Foundation Annual Plan
- Short and Long Term
Team ceremonies can be altered if it is collectively determined after trial they are not effective as is. Plans and goals are set as a baseline and something to strive towards. Plans and goals if not met should not result in condemnation or negative tones. Not meeting plans and goals should be viewed as an opportunity to learn what needs to be adjusted, rather it is process, priorities, scope or expectations.
Standup & Team DiscussionsEdit
Traditionally, Scrum-style standups are at the start of the workday, and are meant to
- Serve as the first line of defense against wasting time. Specifically, this is the tightest feedback loop a team has as a group.
- Motivate the team through shared commitment.
This is generally accomplished through 3 classic questions:
- What did you work on yesterday?
- What will you work on today?
- What is blocking you?
The Growth team, like many teams at WMF, uses a modified version of this approach, due mostly to the fact that the team is widely distributed across the world (and thus each person is on a different schedule). Synchronous time has a different meaning (e.g. the start of one day may be the end of another, even if there is overlap), and is precious (i.e. should only be used when necessary). The team modifies their standup as follows:
- Synchronous (video) standups occur every Monday and Wednesday, and every other Tuesday. The team may also standup attached to another meeting.
- Typically, sync standups are 15 minutes and cover blockers.
- Standups are generally an opportunity to share progress on work, raise tasks that could potentially impact others, or to escalate blockers that impede team productivity.
- Topics that need to be explored in depth are held until discussion times on Tuesdays or Wednesdays, or ad-hoc, as needed.
- Asynchronous (email/chat) standups occur every weekday.
- GrowthStandupBot 9000 is a program run by Google Apps Script to automate daily emails to the team list.
- The bot asks focuses on the current day, and is flexible depending on whom is responding. It asks for either what is planned for that day, or what was planned and how that went. Blockers are also appropriate to share.
- The purpose of the thread is to
- Notify other team members of your participation, so that they will be prompted to do so, too (vs adding to a document or etherpad and checking throughout the day).
- Centralize the team's daily check-in on work, to help adjust priorities, and help one another, as needed.
- Hold one another accountable for commitments.
- This can also include sharing non-Growth-team work. For instance, to let the team know why you might not (or have not) engaged as much as expected.
Often, the team will cope with wide geographical distribution by assigning "homework," to mitigate the need for synchronous meetings. This will often take the form of a pre-recorded video or slide deck, which members of the team will watch ahead of a meeting to discuss it. The team agreed (at their retro on 2020-12-14) that the minimum time to get homework ahead of such a meeting is 2 days, not including the day the video was sent and the day the video will be discussed. The team refers to this as the "2-day Sandwich Norm."
Board Triage MeetingsEdit
Official Board Triage Meetings are bi-weekly meetings where the team goes through the Needs Discussion/Analysis column of our Phabricator Board to determine:
- If a task should be prioritized
- The urgency in which a task should be prioritize
- If the task is within scope for our team
Based on the team's decision of prioritization and scope, we will leave a comment with our decision and move it into the proper column.
Tickets arrive to the Needs Discussion/Analysis column from the Inbox. Anyone on the team can pull tickets into the Needs Discussion column or Triage but Future column on a rolling basis. The team's TPgM also schedules ad-hoc triage meetings with QA and at least one Engineer.
Our team sprints are two working weeks and begin with Planning Meetings and end with Retrospectives. Once a sprint starts it is not advised that a Product Manager requests changes to what is being produced. It is the job of the Technical Program Manager to work with the team to adjust and re-prioritize tasks as necessary within the sprint to meet the criteria set during planning. At the end of each sprint, the entire team should discuss what was accomplished as it compares to the criteria agreed upon with the Product Manager and make necessary process adjustments.
Planning Meetings are bi-weekly meetings attended by the team at the start of a sprint. During the planning meeting, the team identifies and prioritizes tasks that are to be completed for the two-week sprint. Tasks that will be worked on in the current sprint are to be represented on the Current Sprint board.
Grooming Meetings are bi-weekly meetings attended by the team at the halfway point of each sprint. During grooming, the team reevaluates the work they have committed to and determines if more or less work should be taken on or if tasks should be reprioritized. If there is additional time in the meeting, the team will look at the Backlog Board and pull tickets into Upcoming as indicators it should be pulled into the next Sprint.
Retrospective Meetings (retros) are bi-weekly meetings attended by the team at the end of each sprint. During Retrospectives, the team revisits action items from the last retrospective and reflects on the two-week sprint by collectively answering the following:
- Did we meet our acceptance criteria?
- What have we accomplished?
- What worked?
- What could we improve next time?
- What was confusing?
Action items will be captured during the meeting and due dates and action owners will be assigned.
New members of the team will be added to the Growth team calendar. If a team member will be out of the office for four or more hours during a working day, they are to share it on the team calendar at the earliest indicator that they may be out. This practice will help the team manage expectations when estimating what work can get accomplished during planning. Team ceremonies will also be represented on the Google Calendar.
The team has three google hangouts:
- Growth (Social): Instant message members of the Growth team with non-work related items
- Growth: Instant Message members of the Growth team about work related items
- Humans of the Web: Instant message members of the Growth, Editing and Readers Web team
The Growth team uses Gerrit, a code collaboration tool, for peer code review.
Phabricator is the organization’s task/issue tracking tool that houses the Growth team’s user stories, tasks, progress and prioritization of work. Tickets at the top of the Ready for Development column in the Current Sprint Milestone are considered the highest priority and next up in the queue to work on.