Software Development Processes — Daily Stand-up
Over the years people have been using Scrum or Agile interchangeably for whatever the process they use for project management. This not only applies to software development types of projects but let’s keep that in focus; as if you are reading this, you are likely connected to some software project.
I will not explain what is Scrum and what is Agile here — if you have opinion, let’s just say you are right about it :)
I used to attend EO — Entrepreneurs’ Organization (https://www.eonetwork.org) accelerator meetings during 2016–2018. Few Coaches always started with Daily Huddle. Every member spoke about what they were proud of (or happy about) doing in last 3 months and what they want to accomplish in next 3 months. No one asked if you did that or not, but a huddle made everyone think about their goals. It reinforced self-commitment into members that you only get when you are speaking it out loud in front of a non-judgmental crowd.
I could see now, how daily stand-ups in projects really need to work and what their real purpose is.
What Daily Stand-up is NOT:
- It is not about giving a report of what you did during 8 hours of job
- It is not a manager taking report from every sub-ordinates
- It is not one-to-one
What Daily Stand-up is:
- It is to say out loud your commitments
- It is to ask what you need to complete your commitments
- It is to find out road-blocks early enough
Goal: The whole team should know that the goal is to complete all the features and bugs that we have committed as a team.
What to mention in stand-up:
- Is your JIRA/TFS/DevOps up-to-date?
- What is in progress and when will you complete?
- Any road-blocks?
- You waiting for anyone to do anything, so that you can finish up what you have committed?
- Will you be able to finish what you have by end of sprint?
Scrum master should ask:
- Any tasks should be reassigned?
- Did we miss or overlook any items that we should add to backlog/current sprint?
- Did we create any technical debts? (loaded question but still people must discuss this every once a while.)
Scrum master should:
- Update capacity (any leaves, time offs, other project assignments)
- Verify if tasks have right status — TODO, In Progress, Done (this is what daily stand up is for)
- Verify if tasks have correct remaining hours (this is what daily stand up is for)
- Verify if Bug/Backlog items have right status- approved, committed, dev-complete, ready to test
- Verify if remaining capacity meets the remaining work (this is what daily stand up is for)
A well-disciplined team of 5 can finish up daily stand-up in 15 minutes.
Signs when the meetings are not going well:
- Team does not keep their DevOps/Jira up-to-date. Team has to be asked to do this more than 2 times a week.
- Someone has to always ask everyone whether they will finish their assigned tasks.
- A Team member starts with, “I did xyz yesterday and I am working on abc today” — and it ends there.
Every team develops certain patterns of conducting their own daily stand-ups. There cannot one standard way — because just ‘one way’ is autocratic and boring.
So keep the goal in mind that — we should all know what will be done by end of sprint and tools are there to record this so we spend less time in meetings and more time in actually getting things done.
Keep changing scrum master — no one person is qualified more than other to conduct daily stand up. This will bring the feeling that no one is reporting to no-one.