|This series is about practices we do, without understanding why we do them, and therefore may not get the value we want from them. If you too don't benefit from them, you might be doing it wrong.|
|Iteration planning, Pt. 1||Iteration planning, Pt. 2||Definition of done||Demo|
|Done-Done||Daily stand-ups||Retrospectives||Continuous integration|
“Everybody, please, stand up”, I remember encouraging everyone to rise to the occasion of another daily stand-up “meeting”. Even with a room full of people who knew the drill, I still felt I had to ask them.
With every practice we do, we anchor around one or two basic assumptions, we believe will help us achieve the value of that practice.
Standing up is a way to fight long meetings. The assumption is that people who get tired from standing up, will speak quickly and to the point, working towards shortening the meeting. The thing is, if the meeting is kept short, you don’t need to stand up. In fact, sometimes we get what we want – a short meeting – because people keep quiet, instead of talking about important issues.
People may do that for all kinds of reasons: They are introverts, or new on the team, or they like to know more about subjects before they report on it, or they don’t feel safe to talk, or maybe coffee didn’t kick in yet, and they just don’t feel like talking.
So, if your meetings all finish all time, but somehow you get the feeling that the value is not there, that maybe it.
And what is that value?
Yet that’s just one of the issues. I’ve already written about the 3 magic questions we’re trained to ask in a daily meeting. But the subject needs reiterating (pardon the pun).
The daily stand-up meeting is not a status reporting meeting. All status updates in terms of the standard reporting tools you use, should already be updated before the meeting. We don’t want to waste time for everyone else while they wait, while we mark tasks as done.
While we’re on the subject -we tend to use what the tools give us, rather than to think of what we really need. For example, most tools show the status of stories or tasks, and of course, let us fill them in some way (remaining time, status, blocked). But they are lacking the ability to show more interesting information.
A team I worked with had a drop-plan on top of the regular iteration plan. The drop-plan described which stories would be ready to be tested together (“drops”), so the testers can plan their work. The drop-plan helped see if stories can be completed withing the iteration. While the tool they used, supported the status reporting, the drop plan wasn’t supported.
The result was that it got a lot less focus, and was discussed a lot less, just because it wasn’t supported by the tool, although the value of that discussion (“what can be actually completed within the iteration”) was high. Maybe we’ll need a separate post on radiators.
Back to the value…
Now, since everything is already set up to show the current status, we need to use the meeting for its real purpose: re-planning. After all, just having the data alone doesn’t help if we don’t act on it. Sometimes, I see teams just continue with the plan as if nothing new has happened – they didn’t learn anything new, didn’t stumble onto new issues, or just didn’t want to help others to make progress.
This is why this meeting is so important. Since the last meeting we know more, and this feedback on our work can serve us to make our way towards our goal.
Our goal is to deliver working software according to the prioritization that was laid out by the product people, by the way. Our goal is not sticking to the iteration plan. The decisions we make should align with this goal. If new information arrived, we can change the goal, the prioritization, or start working on something completely new.
If the team members cannot help work towards this goal, because of lack of skill, or technological issues, or anything else, they can turn to a secondary goal, often not talked about in daily stand-ups – improvement. They can learn a new skill or technology, or automate a process, or build a tool. Anything that can help the team improve. They can even help other teams. Imagine that.
If you feel the daily meeting is just another type of a status meeting, it’s time for a change. This is where the team can make decisions, with everyone in place so everyone knows what these decisions are.
It’s like someone has noticed there’s a need for such an event…