knowledge-kitchen / course-notes

Project Work Day Plan

For those class sessions where we have “Project Work” days, each team will follow the plan below to make active use of the time.

Join a Zoom Breakout Room With Your Team

  1. Jump into a Zoom breakout room with your teammates (pick your favorite room #)… the instructor will have created the rooms in advance.
  2. Turn on your cameras and microphones… Sitting in a team meeting in Zoom with your microphone and/or camera off is considered being impolite at best, or absent at worst.

Hold a Standup Meeting

  1. Hold an agile-style “standup” meeting, where each team member answers three simple quetsions:
    • What have you done since our last meeting?
    • What are you working on now?
    • Is there anything blocking your way?
  2. Have one member of the team document each team member’s answers to the three questions and post a standup report to team messenger app for all to see, using the appropriate writing style for documentation.

Take Stock of Your Project and Plan Next Steps

  1. One of you share your screen, load the code into the editor, launch the project (if you have it a runnable state).

  2. Open the project requirements and instructions so you have them to refer to as you discuss the status of the project. If you have a task board or other project progress tracking / project management tool, open that too for reference.

  3. Do a Code Review of the entire codebase as a group, looking for inconsistencies, errors, omissions, and areas for improvement. Implement changes on the spot, as necessary.

  4. Run through the instructions/requirements and task board, and discuss as a team the status of the project: what has been done and what needs to be done to get the project to completion; who should do what. Make sure everyone is synchronized in their understanding of the project, your progress towards the goal, and the next steps.

  5. Divide further labor as necessary.

Mob Programming

  1. Start Mob Programming: one team member shares their screen, opens the code in the editor, and starts working on the project. The others act as observers and advisers, talking with the person coding about the code and giving advice and recommendations and asking questions as that person writes the code.

  2. Switch it up so each team member takes 15 minutes or so writing the code while the others advise and interrogate.

  3. Ensure that everyone undestands the codebase, how to contribute to the code, and how to work on and run the project with the requisite tools and techniques. More advanced team members use these sessions to explain to less experienced members the codebase and the changes being made.