Are Standups The Answer?
Standup! - Ludicrous
As a software engineer working during the ‘Agile Renaissance’, you’ve no doubt participated in or at least heard about the practice of standups. For the uninitiated, standups are a simple practice in which developers and stakeholders get together on a regular, usually daily, basis to report on their individual statuses.
Each team member gets a small sliver of time to report three things:
- What did you do yesterday
- What do you plan to do today
- What, if anything, is blocking your progress
The idea is that this practice helps improve team communication, gives stakeholders an up to date progress report on how the project is going and can also spark offline discussions on better ways to do something or help prevent duplication of effort. This also has the added benefit of allowing the stakeholders and team/project leads to have a pulse on the project and to help remove blockers for their teammates.
Having either run or been a part of hundreds of these standups during my time as a software engineer, I’ve come to notice a few pros as well as cons with this technique.
Standups have no doubt been beneficial to the team I’ve been a part of for the last year or so. They absolutely help enable communication between the teammates themselves and I can recall several times in which hours if not days of unnecessary work was avoided just by having a simple 10 minute discussion about something brought up during a standup. As a team lead, they also help give me a birds eye view of what my team is working on, allowing me to quickly get up to speed on the information that I need to know regarding their progress and also quickly respond to any issues as they arise.
That all being said, I’ve also noticed a few negative effects that have emerged from standups and I have started to wonder if there is a better way.
My main gripe with standups is the sheer repetitiveness of them. Perhaps this can be remedied by changing the cadence from daily to bi-weekly, however I’m not sure how this would affect the positive output that standups produce.
Lets also not forget that the word standup is simply a nice synonym for meeting, albeit a short one. I personally dislike unnecessary meetings and believe that most meetings are toxic. I want to make sure that I am not contributing to the problem, which is what got me started on the usefulness of standups in modern engineering organizations in the first place.
Perhaps related to the repetitive nature of standups, I’ve also noticed that over time team members (including myself) start to lose interest in what is said and in the standup process as a whole. The typical signs of waning interest begin to appear:
- People simply ‘zoning out’ until it’s their time to speak
- Stakeholders and team members start to show up a few minutes late, or sometimes not even at all
- Questions and answers are repeated throughout the day that have already been covered in the daily morning standup
I understand that people are busy. Life happens and trying to stick to a rigid daily schedule becomes almost impossible. Some days there are a million other things that I would rather be doing than giving a minute long recap of my previous day and goals for today (especially when I know I won’t have time to accomplish them). I’d rather be implementing that new feature, fixing that bug found yesterday or even writing (gasp) more tests. I get it.
I also don’t think that most people’s lack of enthusiasm around standups is intentional. I think it’s just something that naturally happens over time as we become more familiar with our team and project. I believe that most of us truly do want to create great software and want to be part of an organization that values this as well.
So what’s the answer? Do we vary the times/days of our standups to introduce some variety and hopefully keep boredom at bay? Should we simply accept it as a part of the job and deal with it? “Quit your whining, some unlucky developers are still stuck doing Waterfall!”, you might say.
One possible solution I’ve come across is taking the whole idea of standups online and making it more async. Applications like iDoneThis bring the standup into 2013 and “to the cloud”. People can respond when they have time and those responses are aggregated and can be consumed at leisure.
I wonder if while more convenient to the individuals, if this solution negates the benefits by making it even easier for people to simply ignore the responses from their team members. After all, it’s much easier to archive that daily email or setup an inbox filter than to blatantly tune out your teammate to his/her face.
Also how would a more decentralized approach affect the organic side conversations that usually flow from a face to face meeting?
I think there may exist a happy medium that leverages technology while still allowing for these natural conversations to happen frequently. I just don’t know what that looks like yet.
Having only been a part of one organization that even tries to do standups ‘right’, I wonder if others have experienced some of these same issues and if they have come up with any possible solutions.
If you have, or find this topic of developer productivity interesting, please drop me a line or let me know in the comments below.