Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 1.94 KB

CONTRIBUTING.md

File metadata and controls

32 lines (24 loc) · 1.94 KB

Team norms

Team values

  • We will all work separately on assigned tasks and reconvene on roadblocks in our weekly Wednesday 9 p.m. meetings
  • Members who need help will reach out to the group on the Discord channel and if necessary ask for help from the tutor or professor
  • In case there are disagreements we will each listen to others' opinions and then do a majority vote
  • If a member is failing to deliver on their obligations we will contact them to check in and see what the issues are and if deemed necessary involve the professor
  • Members are expected to respond to messages within a day of receiving them

Sprint cadence

  • Each sprint will take about 2 weeks

Daily standups

  • Standups will occur every Wednesday at 9 pm and last for 1 hour in addition to the ones we do during class time
  • All members are expected to come to Wednesday meetings and present synchronously unless they are excused at least 24 hours in advance
  • Members will not cover the responsibilities for each other, each is responsible for their own tasks and deliverables
  • If a member is making no progress on a task for two standups or more in a row will be reported to the professor

Coding standards

  • All members will use Visual Studio Code to ensure standardized code formatting.
  • Do not over-engineer; write minimum code to get things working end to end, only then iterate to improve.
  • Code for each task and spike must be peer-reviewed and pass tests before merging into the main branch of code.
  • Always push working code, if you break the pipeline/build then fix it.
  • Make granular and small commits, per feature or per bug fix.
  • Provide descriptive commit messages.
  • Write self documenting code. Use descriptive variable and function names. Avoid unnecessary name shortening.
  • Don't leave dead/commented out code behind. If you see such code, delete it.
  • Write automated tests to cover critical integration points and functionality (once we learn how to do that).