Sprint Guide
Welcome to your Weekly Sprint! Adopting a weekly sprint cycle is a common practice in the industry and helps keep teams on track. Here’s your guide to navigate through each week, complete with specific events. Note that you will be submitting Sprint Reports (as a team) and Personal Reflections (individually) on alternating weeks of the term, though we recommend that you follow a weekly sprint schedule, going through each of the below items once per week.
Each week, you will determine a person on the team who will sere as a Sprint Lead (your plan for Sprint Leads will be documented in the Team Charter). The responsibilities of the Sprint Lead are as follows:
- Taking and sharing meeting notes.
- Tracking team's action items in the project management tool.
- Following up on teammates' task progress.
- Writing and submitting the Sprint Report.
Sprint Schedule
1. Sprint Planning
- When: Monday or early in the week
- How: Synchronously (e.g. via Zoom or Google Teams)
- Purpose: To outline the week's objectives and break down features into manageable tasks. If efficient, can be done in about 30 minutes.
- Process:
- Identify and discuss tasks based on your project plan.
- Assign clear, small tasks to each team member. All assigned tasks should be achievable in a single sprint and the team's goal should be that all tasks pulled into the sprint are completed before the end of the sprint.
- Use a project management tool (like GitHub Project) to add and assign tasks.
2. Daily Standup Updates
- When: Every day, at a fixed time
- How: In industry, these would often be performed in-person; however, for this course, we recommend posting a standup update asynchronously via a group collaboration platform (e.g., Slack, Discord, WhatsApp, etc.)
- Purpose: To quickly share progress, address obstacles, and plan for the day.
- Process:
- Each member shares what they did yesterday, what they plan to do today, and any blockers they face.
- Keep it brief and focused.
3. Sprint Review and Retro
- When: Friday or towards the end of the week
- How: Synchronously (e.g. via Zoom or Google Teams)
- Purpose: To review completed work and discuss what went well and what could be improved. Should take only about 30 minutes.
- Process:
- Team gathers to present/demo their work and achievements.
- Discuss challenges and learnings.
- Sprint Lead collects feedback for the Sprint Report.
- The Sprint Lead will submit the report in Gradescope and Anchor approximately every other week.
4. Individual Reflection
- When: End of the week.
- Process:
- Use the Individual Reflection Template.
- Reflect on the week’s experiences and peer contributions.
- Each teammate submits their reflection in Gradescope and Anchor approximately every other week.
Remember, this is not just an academic exercise. It mirrors the industry norms, equipping you with practical skills and experience for your future career in tech.
A Note on Standup Updates
Standup updates are meant to be brief, focused, and informative. They typically cover what was done since the last meeting, what will be done next, and any blockers. Poor standup updates often miss these points, are too vague, overly detailed, or off-topic. Here are three examples of bad standup updates:
Bad Example 1 "Yesterday, I worked on some stuff, and today, I guess I'll continue with that. I might need some help, but I'm not sure yet. Also, I spent a lot of time reading documentation."
Problems:
- Lacks specifics about what was worked on.
- No clear plan for today.
Bad Example 2 "Yesterday, I started by reading through the documentation for the new API for about two hours. After that, I wrote some code, but then I had to help a friend with their project. I also spent a lot of time debugging this one issue, which turned out to be just a typo. Today, I think I'll maybe do some coding in the afternoon."
Problems:
- Unnecessary detail on unimportant aspects (like helping a friend).
- Lacks clarity on specific tasks for the day and planned work items (e.g., what issue was being debugged?)
Bad Example 3 "Yesterday was a disaster. I got nothing done because the system kept crashing, and it's just so frustrating. Today probably won't be any better. I'm really not sure what I'm doing with this project. Oh, and I think our deadlines are unrealistic."
Problems:
- Focuses on negatives without offering solutions or seeking help.
- Lacks specific information about tasks or progress.
- Introduces unrelated issues (like concerns about deadlines) without constructive discussion.
Good quality standup updates are concise, clear, and focused on the key aspects of progress, plans, and problems. Here are three strong example standup updates:
Good Example 1 "Yesterday, I completed the user authentication module and pushed the code to our Git repository. Today, I'm planning to start working on the database integration for the user profiles. I might need some assistance later with the SQL queries, as I'm encountering some complex joins."
Key Aspects:
- Clearly states what was completed yesterday.
- Specifies the plan for today.
- Identifies a potential blocker and seeks help.
Good Example 2 "In yesterday's session, I successfully debugged the payment processing issue and updated the documentation accordingly. For today, my focus is on implementing the new checkout feature. I've scheduled a brief meeting with the Josh about the front-end at 2 PM to align our work."
Key Aspects:
- Provides a specific update on the task completed.
- Outlines the task for the day with a clear focus.
- Mentions collaboration with another team member, indicating coordinated efforts.
Good Example 3 "I finalized the design mockups for the landing page yesterday and shared them with the team for feedback. Today, I'll be addressing the feedback and aim to have the final version ready by end of day. Also, I resolved the image loading issue we discussed; I'll share the fix in our group chat in case anyone faces a similar problem."
Key Aspects:
- Updates on a key deliverable and plans for improvement.
- Sets a clear goal for the day.
- Offers help to the team by sharing a solution to a common problem.
These examples demonstrate how effective standup updates provide clarity on progress, plan action steps, and address any obstacles.