The most engaged discussions happened when we had a huge wall that the team (devs+PO) had filled over time with many post-its to concretize the user story map. We would sit together on couch and look at the story map and update it together, noting where we find new unknown requirements, where we did not finish a feature, where bugs were found, etcs.
In terms of estimation we ran fast-estinmation games. Time boxed to 15min we meet after lunch break and do the following:
We have post-its on the wall indicating columns for the story points. We have a stack of print outs of the tickets to estimate. (Sometimes we spend 10min in the beginning and read all tickets) The game goes like this:
1. First dev picks a ticket, reads out the short summary of the issue and files it under one SP column.
2. Next dev can either pick a new ticket of the stack and place it on the wall OR can move an existing ticket into another column.
3. Rinse repeat until the stack is empty and no more tickets are moved between the columns.
If a ticket has been moved more than three times it gets flagged and set a side to be discussed in more detail in a separate session.
This is really a fast way to get rough estimate (which is really all you need) and it keeps every dev active.
AVOID meetings where everybody sits around the table and the scrum master has an excel sheet or JIRA open on the screen and tries to fill out fields with the estimates.
AVOID discussions if a ticket is a 2 or 3 or 5 or 8. Pick one and move on. Do discuss when one is 2 and the other is 8.
AVOID having long meetings where you do all things together (prio, clarify, estimate). Instead do a fast estimation first, even with some details missing, but with a rough understanding what is wanted in the tickets. With these estimates the PO can do the Prio (business value vs effort). Then you know what to work on next. For those tickets do the clarification and technical detail discussions inside small groups of the dev team.
AVOID forcing every team member into these meetings. Not all have to be present to do a fast estimation session or any other SCRUM artifact. Some people feel more owner ship for a feature/product other just want to know which tickets they can crush next.
I always tell my team, if anyone feels
- he cannot contribute to a meeting,
- the agenda is not relevant/interesting for her/his current work
- he/her trusts the group to come to a sensible decision without her input.
- other urgent work needs to be done
- is in a state of coding flow
Then don't join the meeting. It is also totally fine to leave in the middle of a meeting when you do not get sometime out of it. Encourage your team to do that. It reduces frustrations a lot.