I did many projects in my career. I had the role of developer, tester, manager and scrum master. During these years, I can even almost say during these decades (I am getting old…), I learned one thing: I do not like the people who at the end of the iteration, project, whatever, say “I already knew that for many months.” “Err… so why didn’t you speak up earlier?” “You didn’t ask.” Followed by a look from me like WTF-are-you-a-professional-or-not?
I learned about a simple practice, a really simple one to make sure the right information is flowing through the team when necessary. Let me explain, and I will do it based on an iteration.
At the start of the sprint, the product owner and scrum master decide on a sprint goal, the objective that will be their compass during the sprint. When I am involved in a team or when I am coaching a team, I ask them to perform a sprint confidence vote a few times a week. I ask them on a scale of 1 to 5 how confident they are that they are going to meet the sprint goal. Most often, we will vote on Tuesday and Thursday in the first week of the sprint, and on Monday, Wednesday and Thursday of the second week. Assuming a sprint of two weeks that ends on Friday of course.
You simply vote by using your hands. If you show your thumbs (up), you are 100% confident the team will realize the sprint goal. If you show five fingers, a full hand, it means stop! Hold it right there, we won’t make it. The score is on a scale of 1 to 5, where 1 is fully confident we will make it, and 5 is a no way we will make it. Everyone votes at the same time. So, someone counts 1-2-3, and the group cast their vote. Look at the hands, if everybody votes the same number, it is clear. Still, you maybe need to take action. If everyone votes a five, and you all then continue as if nothing happened, then again you will see my WTF-are-you-a-professional-or-not face?
Now the interesting scenario is when a few people vote a 1 or a 2, but some other people vote a 4 or 5… This then implies that some people have information about the progress towards the sprint goal that other people do not have. In such a case, you apply the practice of let’s talk about it. People need to explain why they voted for the number they gave. By talking about it, information will start flowing through the team. When information flows, things become transparent, and it will allow the team to inspect and adapt. I always keep track of the score in the sprint over time, just to see if things are getting worse or not. It sometimes is possible to discover trends in your sprints.
By explaining and using this practice, I got several questions and remarks.
Who is allowed to vote? Should the product owner or the manager who are in the room during the standup also be allowed to vote? I don’t know… what do you think? I personally feel that everyone in the room should vote. Everyone may hold a piece of information related to achieving the sprint goal. If you, as a product owner, think the team won’t make it, but the team is 100% confident, it would be a good idea for the team to update the product owner about the progress.
I also had many discussions about what exactly are we voting for? Are we voting for a great demo, are we voting for finishing all sprint backlog tasks, or are we voting for the sprint goal? Again… what do you think? I would say you are voting for achieving customer value. Who outside of the team would care whether you finished all sprint backlog tasks? Who cares about a great sprint demo if what you are showing is of totally no value to the customer? So, I would say you vote for the realization of the sprint goal. Moreover, I assume your sprint goal is adding value for a customer.
What happens when you work distributedly? Well, nothing special. Why do some people think working distributedly makes things hard or even impossible? Turn on your webcam, as always, and on the count of three, you show your score.
I worked with a team once, who voted the day after their sprint planning. They spent the whole previous afternoon together with their product owner on making a sprint plan and defining the sprint goals. The next morning, so approximately 16 hours later, they all voted and to our surprise, one team member voted a 5. He was totally not confident the team would make the sprint goal. Only 16 hours before, however, everyone committed to the sprint. Let’s call it at least remarkable. We had a good discussion with the team and looked for a root cause of this behavior. That became a different story altogether. The practice of confidence voting got us talking, however, and made things visible.
I said earlier that everyone should vote. What happens though, when someone just got back from holiday, or someone has their first day on the team. Well, I don’t care. IMO, you have your professional experience. You listen to what is being said in the standup and based on that information you vote. Should you vote something completely different than the rest of the team, you talk about it, because someone is missing some information. If you vote the same as the team, it seems you have a good understanding of the progress (or you were just lucky ;)).
We already have so many meetings, is this again an extra meeting? Err, no. I would say you just vote at the end of your daily standup. It will take you just a couple of minutes. Yes, when the voting is done, and the votes are all over the place you need to talk about it. However, I think this is valuable time because for some reason people are not aligned.
Where should we put the flipchart with the score? Somewhere where management can’t see it I assume? Why? I always believe that everyone in the team is a professional, and committed to doing everything (what is legal and possible) to accomplish the sprint goal. I also believe that most projects are empirical projects, that we live in a complex world. Therefore, things will not always go as expected. You can do two things, just ignore it and assume everything goes according to plan or open up so you can inspect and adapt. As you can understand, I prefer the latter. Therefore, in my opinion, there is nothing wrong showing the outside world how you feel about the sprint goal.
Does this practice solve a problem? Nope. Just like itself, Scrum doesn’t solve any of your problems. However, it can help you become more transparent, and with that, you can start addressing your problems.