Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 1.13 KB

lecture17-teams.md

File metadata and controls

40 lines (32 loc) · 1.13 KB

Lecture 17 Teams, and software engineering in practice

Challenges of working as a team

  • How does the team make decisions?
  • How do you divide the work?
  • Does the team share the same goals and incentives?
  • What happens when work isn't completed as expected?
  • When do team members likes to work?
  • What other commitments do your team members have?
  • Where will you get the work done?

Decide what to build, the design the API

  • Basic Process:
    • Determine minimal feature set
    • Draw UML on the whiteboard
    • Sketch out your API on paper
    • Write example code
    • Review
    • Repeat

Break up tasks into Github Issues

  • Issues can represent both tasks and bugs theat need to be fixed
  • Issues should be:
    • A reasonable chunk of work
    • focused and cohesive
  • Use labels to represent priority
  • Consider using milestones
  • Use a simple Kanban board to measure progress

Branch-based development

  • Single-branch development doesn't scale to teams
  • Create a new branch for each feature
    • allows parallel development
    • no dealing with half-finished code
    • no merge conflicts
  • Every commit to "master" should pass CI checks