Skip to content

Latest commit

 

History

History
64 lines (48 loc) · 2.54 KB

group_contract.md

File metadata and controls

64 lines (48 loc) · 2.54 KB

GROUP CONTRACT

  • NOTE: This was agreed upon on 01/10/22

Roles

Taskmaster

  • Keeps track of todos/issues.
  • Assigns pairs/tasks each day
  • Facilitate communication and minimize double work.
  • Make sure everyboyd knows what everybody else is doing

Gitmaster

  • Makes sure people are commiting responsibly
  • Makes sure branches are accurate and people are making pull requests
  • Makes sure people are reviewing pull requests

Testmaster

  • Makes sure tests are being written
  • Adds tests where needed
  • Makes sure tests are passing and if not, discussing with team or whoever created feature
  • Ensure members write a max of 1-3 tests per feature, covering the base case and any potential edge cases

Daily process

  • Morning standup started by yesterday's Taskmaster
  • New roles assigned (by yesterday’s Taskmaster)
  • Yesterday? Today? Obstacles? (by today’s Taskmaster)
  • Pair program on assigned tasks
  • Record issues that are non-blocking and discuss right after lunch at re-group meeting
  • Bring up any blocking issues after 15 minutes of spinning your wheels
  • At 2:30pm have re-group meeting where you check-in with blockers, status updates and plan for EOD merge
  • Immediately prior to end of day make applicable PRs, review each other’s code and merge into master (can do on the fly over the course of the day)

Team expectations

  • Each of us reserves the rights to our nights and weekends, and we have all been straightforward about when and how we can commit to working on the project
  • If you have a blocking issue, slack before interrupting another’s train of coding-thought
  • We will assign tasks vertically (instead of horizontally)
  • None of us will specialize in terms of front-end and back-end code
  • Don’t interrupt - raise your hand
  • Share the mic
  • Disagree often and discuss -- debate infrequently
  • At least message the group when you change what you are working on

Issues

  • If the group is divided on a certain decision we will take the following steps:
  • Take 10-15 minute break
  • List out the pros / cons
  • Vote on it (last case scenario)
  • If the vote is split, escalate to a fellow or instructor
  • If you are frustrated
  • Take a walk or get some water
  • Talk constructively about actionable items (e.g. raise your hand instead of interrupting, let me learn and struggle until I ask you for help, etc.)
  • Bring in a 3rd party (e.g. fellow, instructor) to mediate if you feel too frustrated

Best Practices

  • Clear comments, particulary for complicated algos/code
  • Assume Hooks for React Components (can revisit if necessecary)