We have a team of around 25 people and all are divided into sub-streams based on their technical domains. How should I structure the stand-up meeting so that everyone knows what other stream members are doing?
How should I structure the stand-up meeting so that 25 people knows what every other is doing?
The amount of communication channels is just not sustainable:
The reasons why you want to have everyone aware of everything might be a combination of the below:
- Everyone touching the same code/components
- Parallel builds
- Monolithic application
- Overly complex technology stack
- Mix of development / maintenance
- Time to market too high (from weeks to months even for simple changes)
If any of the above rings a bell, you're not alone. You might even apply Robert's suggestion, but consider this as a tactical solution. You definitely need to address the root cause, as the daily standup complexity will be only one of the several challenges you'll have.
If you really, really, REALLY only want to address the communication problem, the quickest way to address it would be:
- Restructure your team, breaking down by teams capable of deliver work independently
- Set sync meetings (similar to Scrum of Scrums)
- Set Communities of Practice to ensure communication keeps flowing within each specific domain
Still, other problems will still appear. You'll have to do a step back before the next two steps forward. And everyone needs to be quite aware of it.
A 25-person team is big and I bet your stand-up takes forever. I assume you feel there is a need to have "one stand-up" otherwise you would have already split into smaller stand-ups for each sub-team. If you are a team of 25 because you've grown over time, you may want to consider restructuring into smaller teams.
Small (and close) Stand-ups
Assuming it's important to have "one stand-up", I would still do sub-team stand-ups but do it in one (big) room and at the same time. This makes it easy to bring in someone from another sub-team or instantly address the group as needed.
If you cannot do it in the same room (due to space or separating remote members) you should at least do it at the same time and in close proximity. This way you can easily pull in a representative from another sub-team. Scheduling a meeting takes time, effort and coordination. By having all sub-group stand-ups at the same time/location, you know when & where you have instant access to the whole team.
Optionally, at the end of the smaller stand-ups, you can then have a representative from each sub-team talk to the full group.
If you want everyone to have a general idea of what the full team is doing, then you can have a sub-team representative summarize what that sub-team is doing. Maybe the UX team is "working on the shopping cart" and the Database team is "working on the product search".
Everyone Needing to Know Everything
You also included the question of how does every team member know what every other team member is working on. There's no way I could keep all 24 bits of this information in my head. I bet even your Team Lead/PM even doesn't know exactly what everybody is doing.
If everyone needs exact details of all active tasks, then your board is the best way to know exactly who is doing what. Anybody can reference it at any time.