In this piece of writing, we’ll talk about standups and how each team member can give the most effective information they can, so the sprintly goals are achieved. First we’ll discuss what a standup is, what’s in a standup, and what I generally say during a standup
What is a standup and why we do it?
In sports such as American football and rugby, the team does a huddle before each play. This huddle is a key component to keep the team:
- Informed - The situation of the sprint and how the team is progressing with what they’ve committed to
- Connected - To see and understand what each team member is doing and how they’re contributing to the goals
- Calibrated - Ensure the team is moving towards the same direction
In a similar manner, software teams do a daily meeting that involves the whole team (including but not limited to):
- Product Owners
- Project Managers
What’s in a standup?
Different teams have certain ways in how they structure their standups, but in my team we use four simple questions to generate the structure
- What did I work on yesterday?
- What issues have blocked me yesterday?
- What issues are blocking me today?
- What am I working on today?
By focusing on what each person has accomplished yesterday and what they’re going to achieve today, the whole team gets a better understanding of what work has been done and what work remains.
The Happy Path
Take this scenario, programmer X says “Yesterday, I finished writing the migration scripts and testing out the deployment strategy. Today, I will complete testing the deployment strategy and hopefully start working on the next ticket on my to-do list”. This is powerful as the programmer has just made a commitment to the team and will work towards achieving this goal.
Here’s another scenario “Yesterday, I finished my ticket on Feature X and today I would like to have the staging server to test out the deployment strategy”. Now the person who has the responsibility of what gets released will have to make a decision on what things can get done today based on resources. In an ideal world, we’d be able to get all the stuff done without any resource constraints. Reality is not so straightforward so some things just get postponed to another time. In this case, the staging server was not free to practice deployment so the programmer had to move on to a different task rather than test out the deployment
Here are some impediments that you may have encountered:
- My linux stopped working so I have to reinstall it
- My ____ broke and I need to get a new one today
- I need another programmer to explain to me how system X works
- I need to meet with ____ team to discuss this feature with them but they had something more urgent to do
- The sales team have asked me to work on ____ so I could not get it done
- I need to talk to ____ to discuss an approach on how to test Feature X
In cases where there are blockers the facilitator will aid in removing these blockers so the team can get to do their work. When a project is going to be delayed, the most important thing is that the whole team is aware.
How we do it
- A time that works for everyone - The team usually get in by 9.00am but sometimes there will be some underground delays or any unforeseen circumstances and for the most part everyone is in by 9.30am. So for around half an hour to an hour, the team members have time to be more awake and more in tune for the day at hand for the standup at 10.00am
- JIRA - We use a JIRA board so we can see an overview of what each person is doing. This includes things like comments on tickets
- Keep it Short - When a discussion will take more than 1 minute, it is taken offline to ensure that only the most important messages are said
What I normally say in a standup
Keeping with the format, here are a few examples of what I say in a standup
- A Happy Standup - “Yesterday, I completed testing Feature X and have moved it to UAT. Today I will be testing out Feature Y which will take 2 days and will be doing some post-release testing for Feature Z sometime this afternoon”
- A normal standup - “Yesterday, I have started testing feature A and there are some issues and these issues have blocked me from testing for the rest of the day so feature A will be delayed. Programmer X is already looking into a solution so in the meantime I will be looking into tickets for the next sprint so I can start preparing some test scenarios”
- A preholiday standup - “Yesterday I tested Feature B, the UAT was done by the product manager. Today, I will be looking into features for the next sprint to give me a better idea on how to manage my workload as I will have time off for half of the next sprint”
What I'm reading now - 12 Rules for Life: An Antidote to Chaos