Do you like your team standups? What about your team, do they like their standups? Are they useful? You might think they are, but you might also be missing the point.
What’s wrong?
I don’t want to sound harsh (dammit, I did it again), but… I bet your team is doing things wrong. It’s not hard at all to mess things up and continuously thinking that everything is fine. It happens a lot with shy teams; they might talk to each other about these things, but they avoid raising the flag.
So, my advice here is, don’t trust your feelings; pause and observe their mood and interactions during the meeting (take this advice to the next level and apply it to every other meeting, you might see the same patterns) and ask yourself a simple question: are they worth it?
How they really are (most of the times)
- Waste of time;
- Unnecessary pressure;
- Live status report.
If your standup looks like a status report (you might have to pause and observe first), you landed the right post, I guess. It’s not cool to have status reports, not cool at all. It’s stressful and depressing. Not the right way to start the day, if it’s your case.
You don’t need another status report
There’s a common practice of using standups to ask developers how long it takes to finish a given feature. “Are you done yet?”, “And now, it’s finished?”, “How long it will take?”.
I don’t like these types of questions. It triggers feelings of pressure, insecurity, doubt, you name it; I can’t find any valid reason to ask these kinds of questions during a standup.
A lot of people fear the spotlight, and it’s fine. A lot of people fear missing behind, and again, it’s fine. It might be stressful to watch your teammates delivering multiple features while you’re struggling with something complex. What if you struggle for two days or more?
In a standard status report, you either say that you finished something yesterday, or that you’ll try to finish it today; you don’t say you’re struggling, you don’t ask for help, but you should, and your teammates should offer their help.
Yesterday, yesterday, yesterday
There’s another common practice of just telling what you did yesterday. Do you really need to tell your teammates what you did yesterday? Unless you’re not making any kind of progress, or you’re doing solo work (which you shouldn’t, if you work on a team), your teammates should know already what you did yesterday.
We live in a world where every single line of code you do, is probably linked up to the related feature. There are issues, commits, pull-requests, merges, validations, deploys, releases. There are notifications and logs for each of these actions, and all of them are linked, all of them should involve multiple people (if you work in a small team, ideally it should involve all of your team), so the question is, why should you repeat yourself every single day?
The answer is: you shouldn’t; everyone in your team should know already what you did yesterday. You did your work, you were able to communicate with your teammates, you even shipped the feature into production, everyone at the company should know by now what you’ve been doing!
What about writing instead of speaking?
I like to write things down:
- It helps me formalize my thoughts
- It serves as a personal diary
- Tends to improve my writing skills
- I can share them in multiple mediums
- I can look back and see what I wrote a few weeks ago.
What if you wrote down your daily/weekly/monthly progress, instead of giving a live status report every single day? If you value outstanding documentation, you’re probably surrounded by people with outstanding writing skills. Writing should not be a problem for these kinds of individuals.
Everything you need for a status report like standup is already available on your digital collaboration platform. You have multiple features, multiple work items, multiple states (todo, in-progress, done) for each work item, multiple assignees for each work item, plus their corresponding commits, pull-requests, deploys…
Tracking disperse (but valuable) information
You can make use of this valuable (but disperse) information and track it on your team channel. At the end of the day, everyone in the team should know that Pedro took an item from todo, had a discussion with another two teammates in the issue itself before merging three detailed commits into master that were deployed into production a few minutes later.
If you want to give daily detailed updates, you can still write a compacted version of the activity log. Give the activity log a try, and go with weekly updates; encourage your team to write their macro accomplishments of the week; bundle those together and give a nice presentation to the whole company. There are so many companies and open-source projects out there that deliver amazing products without syncing every single day, why should you?
I need human contact
If you want to have some kind of human contact, write down your status and use those standups for things that really matter: collaboration, collaboration, and collaboration. Check for dependencies, ask for help, offer help, unblock the blockers, discuss and plan your day (especially if you’re pairing/mobbing), and for f*cks sake, say hi to your teammates…
Is there any action point?
Optimize your daily team routine, drop those f*cking status reports and use that slot to start the day (or week) in the right mood!