“Mike. Are you kidding me? How hard can this really be?”
Here is an example I use when teaching a CSM (Certified ScrumMaster) Workshop:
I go around the room and ask each participant how long it will take them to read the latest Harry Potter book. Usually this is universal enough for people to use as an example.
The answers I get range from two or three hours to six or seven days to six months or more. Others — only a few — say, “Harry who?”
The round of answers (remember… this is a relatively “simple” answer) range from “Gasp… are you kidding me?” to actually opening a great facilitated discussion.
This simple exercise show the people in the workshop that such an easy task can have relatively different views of results.
Some people are speed readers, some people have kids to read it to, others pick it up once in a while, and others just don’t like reading.
Now, apply this to an agile software project using Scrum.
When a team is just starting out (let’s use an example of ex-waterfall-specialists). There are testers, developers, analysts, architects, and other roles on “the team.” At this point, they all associate themselves in that role (OK, not all, but most). At some point in the discussion, I send people to an article by Scott Ambler about Generalizing Specialists. Good stuff there. Read it if you are not familiar with this concept.
While facilitating the discussion about “done”, people usually get one of their first uncomfortable experiences using Agile. That is, having to commit to something. Ouch. This is hard, especially if some Chicken in the past has held their cajones over the fire about past dates being missed.
This is hard for teams to figure out. Really. And, the first time a team attempts to define “done” it will probably suck. And that is OK. Get enough of a definition of the word for the team to agree, and get started with the Sprint. Accept the fact that the definition will change from Sprint to Sprint. And that is OK. Inspect and adapt. Rinse and repeat as needed.
In reality, the team will soon figure out that the Product Owner has the final say as to what “done” really means. Using various tools like User Stories (by Mike Cohn), the team gets to negotiate the acceptance criteria of a story with the Product Owner. Notice this is not with the Chickens. If Chickens want to have a say as to the acceptance criteria of a story, they can hash it out (negotiate it) with the Product Owner outside of the team room.
The one voice the team turns to for the definition — and acceptance — of “done” for a Sprint is the role of the Product Owner.
End of story. For now, I am done.