Several agile software development methodologies prescribe the use of daily “stand-up” meetings (usually time-boxed for 15min) where each member of a development team can keep each other up-to-date by answering 3 questions:
- What did you do yesterday?
- What did you do today?
- Is there anything blocking you from moving forward?
Simple right? However, anyone thats been practicing agile development for a significant amount of time will agree… it can be a bit more involved. Stand-ups can go over time due to large team size or long-winded answers (i.e. tangents). They can be difficult to coordinate if people are working from home/offsite or in a different timezone. There’s no history of the discussion for new or existing team members to reference at a later time. Further, many organizations with several teams use a “scrum of scrums” (meeting about meetings) approach to propagate information to other interested parties.
Long story short, conducting consistently smooth synchronous stand-ups can be a challenge.
What are synchronous stand-ups?
Synchronous stand-ups are probably the type you’re most familiar with. At a specific time of the day, a project team will stop what they’re doing and get together so each person can answer the 3 questions mentioned above. If anyone has any “blockers” specified by answering the last question, a subsequent discussion may take place after the stand-up (or sometimes in the middle of stand-up 😬).
Agile development suggests that team sizes are no greater than 9 people (ideal size being 5–8). For large organizations stickin’ to the agile code, that means there may be multiple synchronous stand-ups happening throughout the day. But what happens when:
- One or more team member’s insight is needed in additional stand-ups?
- Someone has an interest in what another team is working on and wants to listen in on that team’s stand-up? Given the nature of synchronous stand-ups, attending more than one can easily take about an hour chunk out of one’s work day.
- How can knowledge be effectively transferred throughout teams and the organization as a whole with the synchronous approach?
With a few of these questions in mind… lets consider asynchronous stand-ups.
For those not familiar with the difference between asynchronous and synchronous, think about the difference between a face-to-face conversation and a sending an email. Moreover, consider the motivations for using either technique in the work place. If you have an urgent request and you’re in need of an immediate answer, which one would you choose? What would you choose if you’re okay with hearing a reply at some time later?
Synchronous is used to describe a sequence of events that happen one after another, with the beginning of each step dependent on the completion of the previous step. A face-to-face conversation is an example of synchronous communication. Person A speaks and Person B gets the message immediately.
Asynchronous (or async) is often used to describe a non-blocking sequence of events. Person A sends an email and Person B receives the email in their inbox, however, both parties are free to do other things in the meantime. When ready, Person B can check their email and see a message from Person A sitting in their inbox.
What are asynchronous stand-ups?
Asynchronous stand-ups are stand-ups that take place over time in a non-blocking manner. This is usually done with tools such as GeekBot for Slack. At a specific time of the day, team members are notified and prompted to answer those 3 stand-up questions via Slack. Thats pretty much it. However, there are several key benefits when compared to the synchronous version:
- Convenient for remote team members. Teams across multiple time zones don’t have to meet at weird or inconvenient times. Employees can provide the answers to the 3 questions at the start of their day. In addition, employees working from home/offsite don’t need to dial-in or log-in to video conference.
- Cross-team coordination. Teams, product owners, and anyone else with interest can stay abreast of the work being done by others by viewing the Slack channels of other teams. The need to know or plain ole’ curiosity can be satisfied simply by checking Slack—no need for “scrum of scrums”.
- Knowledge sharing. Slack maintains the history of all messages for each channel. Thus, current and new employees have a way to view updates from the all previous stand-ups. A bug was just found on a feature that was introduced 2 months ago, what were the items being worked on around that time? I’m new to this team, what have they been working on for the past few weeks/months?
- Focus! (less day-dreaming). Lets face it, day-dreaming is REAL. If you’re like me, you’ve already drifted off 2 or 3 times while reading this post. It also happens in stand-ups… especially the ones that last longer than 15min. With asynchronous stand-ups, drifting off still happens, but at least you don’t miss anything — you can go back a reread at anytime.
While there are several benefits to implementing asynchronous stand-ups, there are a few reasons to be cautious:
- Blockers may not be addressed right away. In face-to-face stand-ups, when a team member points out that they are currently blocked, there is often a live discussion that takes place after stand-up to address it. This can result in on-the-spot trouble shooting, or having the Scrum master seek for help/answers on the team member’s behalf. With asynchronous stand-ups, problems may not be addressed right away (recall the face-to-face convo vs email scenario). As a result, team members may need to be more diligent about bringing awareness to their blockers.
- Not great for building culture. One of the potentially overlooked benefits of synchronous stand-ups is that its provides an opportunity for teams to gel and show their personalities. In many stand-ups you’ll hear statuses mixed in a with humor, current events, and who knows what else 🙃. If your organization is already particularly light on meetings and/or teams aren’t co-located, it might be a good idea to stick with face-to-face synchronous stand-ups for the sake of building company culture.
One of the cool things about agile is that its designed to handle change and encourages experimenting with ways to improve process. Give asynchronous stand-ups a try for a sprint or 2 and see how it goes!