Readers/Web/Team/Team norms

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


 * If it didn't happen on the mailing list, then it never really happened.
 * In other words, all decisions or things of substance must find their way onto the team's mailing list. Since we're juggling communication between three+ different teams, and many folks are remote, it's difficult to ensure that changes and decisions are communicated effectively - particularly when requirements/designs/etc change. It is not enough for these things to be communicated and known between two people (even if they appear to be the only two people working on something), as other folks may wind up continuing with the same work, or there may be implications to the changes that are only known to someone else on one of the teams. This is not to say that hallway conversations, IRC, etc are not acceptable venues for discussions and decisions, it's just that we should capture these things and post them to the mobile-l@lists.wikimedia.org list (or the mobile-tech@wikimedia.org list for administrivia, standup status if missed standup, or internal confidential topics) to ensure everyone stays in the loop.
 * If something has permanence, put it on the wiki, and follow up on email.
 * If you are an engineer and you miss standup, send an email to the team with your answers to the standup questions and any other news you may have to share.
 * We reserve the right to chastise and humiliate you for being tardy or missing standups, particularly repeatedly.
 * The way we communicate with one another is critical, and has very big impacts on the health of the team. Remember that everyone has their own communication style and ways of thinking about things. As a result, be careful about taking things too personally or reading too deeply into someone's comments. If there is ambiguity in someone's tone, or if it is putting you on the defensive, or making you feel any sort of discomfort, politely and explicitly share that with the person to whom you are speaking. It is likely not their intention, and they may not otherwise have any idea that their words are having that impact on you. Always approach conversations by giving the other person the benefit of doubt, and with the same honesty, humility, respect, and trust that you expect (or desire) from them.
 * This is particularly crucial with non-face-to-face communication, as tone becomes even more difficult to decipher.
 * The 'Rule of 3': If there is a meeting happening, even an ad-hoc meeting, where decisions are being made, make sure that there is at least one representative from engineering, design, and product. This helps ensure that three disciplines are represented in any decision making process, and are more likely to stay on the same page.
 * If your laptop is on and you are working, you should be on IRC. This gives all team members, particularly remote ones, the ability to get in touch with you quickly in the event you are needed for something urgent.
 * In the event that we must perform a SWAT deployment, the person handling the deployment is responsible for notifying all people who will need to be present during deployment: send an email to the team list and create a calendar invite. Generally, people who should be present during a LD includes: the product owner, patch author (or their proxy), and ideally someone else familiar with the subject area. Of course, use your best judgement.
 * New features that do not map to the team's high level goals remains in alpha (per 2013/2014 Q2 Retrospective)
 * If a card in 'ready for signoff' meets the acceptance criteria but has problem, it should be moved to 'accepted' and bugs filed for any issues. If card does NOT meet acceptance criteria, it is moved back to 'ready for development'. (per Retrospective_2014-01-21)
 * When we must conduct a lightning deployment, a regression test must be created to help us prevent the issue from getting into production again. (per Retrospective_2014-01-21)
 * If you are late to standup, you must put $1 into the 'late to standup' jar, maintained by the Product Owner (decided during standup on 16 July, 2014. see email to internal list subject '[web] late-to-standup jar')