/The-Way-We-Work

Organization handbook

Primary LanguageJavaScript

#THE HANDBOOK

Introduction

This document is meant to facilitate communications between teams within Next Big Sound and to stakeholders outside of Next Big Sound by establishing high level project organization guidelines and centralizing means of communication.

To summarize:

  1. Most high level project communication should be available in the “Qx: Projects” Trello board.
  2. These guidelines try to avoid being overly prescriptive wherever possible (by not telling you how to communicate within your team, how to get feedback, etc.), deferring to the team or the individual when it comes to implementing the details of project/iteration mechanics.

These are minimum guidelines and should not discourage anyone from doing what works for her/him. If weekly project update emails or google docs help you gather feedback or organize your thoughts, by all means, do that. If the rest of the team needs to know what you’re working on or the engineering team needs to know about a change that you made somewhere, please, send an email or @channel the appropriate people. This is a lower limit, not an upper bounds.

Projects

  • Prioritized projects are selected at the beginning of each quarter when someone volunteers to take on the role of "lead" for that project.
  • The project lead ensures communication within the project team, with the rest of the company, and externally. This includes, as appropriate keeping project Trello board(s) up to date, the product status deck up to date, running retrospectives (and sharing results), and facilitating project communication in Slack.
  • Project team members select themselves onto one or more projects of their choosing at the beginning of the quarter. Team members should try not to overcommit and should plan on working on one project at a time when possible.
  • Project teams scope their project using the template provided in the "Resources" card of the Projects trello board. Project scopes live in the project's Trello card (in either the description or as an attached google doc). Complete project scopes within the first week of the quarter. Projects do not need to start immediately. In fact, it may be necessary to wait to start a project until another project ends if both projects share key team members.
  • It’s recommended that project teams discuss mediums of communication during scoping (trello board, slack, stand-ups, etc.) and that they be consistent throughout all iterations.
  • Each Project Lead will give a brief (1-2 minute) project update at the bi-weekly Project Update meeting.
  • Biweekly demo meetings are opportunities to demo anything shipped since the last demo day. Only complete software/designs/deliverables should be demoed. In progress items should wait for the next demo day.
  • Project leads conduct a retrospective at the end of their project. The result of retrospectives live on the project's trello card (in either the description or as an attachment). It's recommended that you conduct an informal retrospective at the beginning of each new iteration as part of scoping.

Iterations

  • Iterations are the units of work that make up a larger project. Breaking a project up into iterations makes it easier to estimate needs, blockers, and timelines. Iterations should be no more than two weeks in length and need a dedicated lead (not necessarily the project lead).
  • The “Qx Projects” Trello board (formerly “Qx: Iterations”) is where we track everyone’s current iteration. It quickly tells us who is working on what currently, as well as what’s been deployed and is ready to be demo’d at the next demo day.
  • Iteration leads create a trello card for their iteration in the "in progress" lane of the “Qx Projects” board at the beginning of a new iteration. Each team member actively working on an iteration moves their face to that iteration’s trello card.
  • Iteration scopes are typically completed before an iteration starts and are added to the iteration's trello card. If iteration work is unclear at first, the team may want to spend a day or two researching what work is required before scoping in order to more accurately determine needs, timelines, blockers, etc.
  • Iteration scopes typically include a 1-2 sentence summary, key milestones (often as a checklist), an approximate timeline, and a description of what “done” looks like. If you conduct a retrospective for the previous iteration as part of your scoping, you could also include key learnings from that retrospective.
  • When an iteration is complete, its card is moved to the “Deployed” lane of the “Qx Projects” board. The card will be moved to the “Demo’d and Deployed” lane after either it has been spoken about at the Project Update meeting or, if there is something to demo, after it has been demo’d and Demo Day.

Feedback

Project feedback is encouraged and should be requested as needed by whatever means works best for the team (slack in #nbs-general, email to nextbigsound@pandora.com, etc.).

Non-project work

Work that does not fall under the umbrella of a project (bugs, preparing for a conference, iterating on “The Way We Work”, etc.) follows the same guidelines outlined under iterations (managing trello card, scoping, etc.).

Self-selection

  • Each contributor is responsible for selecting herself onto one or more projects at the beginning of each quarter.
  • Folks can advocate for you to join a project, but the choice is ultimately yours.
  • Do not overcommit to too many projects.
  • It is recommended that you choose to work on projects that are at the intersection of company (e.g., quarterly) and personal (e.g., 10-year) goals
  • In addition to project work, each contributor is also responsible for addressing any bugs assigned to them before their deadline. If a bug deadline is near (or a bug is critical), this should take precedence over other work.

Company Processes

Company Concepts

  • Values (Company Principles)
  • The Role of Management is to provide clear business goals, and to help teams maximize productivity, minimize distraction, and to remove roadblocks. Managers also have regular 1:1s with individuals to help clarify company and personal goals and constraints.
  • (Engineering) Domain Ownership