Thursday, December 18, 2008

Daily Scrums

I suggest that work teams establish a daily time to do a quick technical interchange and see where we're at. In "Agile Scrum" these are called the "Daily Scrum". They should NEVER last longer than 15 minutes. And we'd like to rotate weeks on taking on duties of being the "Scrum Master". If going longer its because we're going in-depth on some technical collaborative work, having a code review or something of that sort.
During the daily scrum each team member provides answers to the following three questions:
  1. What did you do yesterday?
  2. What will you do today?
  3. Are there any impediments in your way?

We'd limit the role of "Scrum Master" to really be the meeting facilitator and the person who records that the answers to these 3 questions were reflected in the TFS work items' changes and if not to follow up and do it themselves or ask the other team member to do so. See http://www.mountaingoatsoftware.com/daily-scrum and http://www.mountaingoatsoftware.com/scrummaster for some info.

Ultimately its an effective way to work as a team of peers using TFS out-of-the-box, to deliver in accordance to the project plan and methodology guidelines that the project manager has committed the team and to empower the leadership/customer to have full project vision and management capabilities as they wish.

1 comment:

  1. Here are some more daily scrum guidelines I'd like to suggest.

    (1) Scrums are not meant to take away from any existing process or methodology. They are meant to just tie in all the loose ends with flexibility and quick, routine daily follow up.

    (2) A Scrum should last about 15-20 minutes max at the same set time every day with a goal of having them every day but a realistic target of actually holding them at least 60% of the time.

    (3) The same 3 questions should be answered by each person in the meeting: (a) what have I accomplished since the last Scrum? (b) what do I plan on accomplishing by the next day? (c) what risks are keeping me from making progress or being successful?

    (4) Any questions/answers or discussions that lead to tangents or large scope should be taken offline by the faciliator noting down a volunteer to lead the follow up. A typical daily scrum should have about 5-10 of these.

    (5) No later than 30 minutes before the daily scrum each person should have already essentially documented the answers to these questions in the TFS work items. That way their answers to the 3 questions can be more oftentimes shorter in general by saying "see work items XXXX, XXXX, etc."

    (6) 10-20 minutes before the daily scrum the scrum master will print out a daily scrum agenda template and copies of the Daily Scrum query results for each participant and have them ready for when the meeting starts.

    (7) Each participant should update the TFS work items to reflect their answers within an hour of the end of the daily scrum.

    (8) After the daily scrum has been over for at least an hour the scrum master will review the TFS work items to make sure as best as possible that nothing was missed.

    (9) While updating the TFS work items the scrum master will complete the daily scrum report to tie together any loose ends as needed. Whenever possible its best to refer to the work item numbers rather than go into lengthy detail on any topic in the daily scrum report.

    (10) The scrum master role should be rotated and assigned on a weekly basis. I suggest this role would require about half an hour right before the scrum to get prepared and half an hour sometime at least an hour after the scrum to make sure all the follow up is done.

    (11) The scrum master faciliates the meeting. The 6 important things to remember are: (a) keep the meeting on track by limiting each person to just a minute or two for their answers, (b) immediately inviting anyone with lengthy comments or follow up questions to make it an offline topic, (c) shorthand recording of any answers that vary from the work items query results, (d) keep moving from person to person in a predetermined order, (e) immediately after the last person finishes you quickly the list of topics with assignees to go offline, (f) immediately declare the meeting finished once everyone has had a chance to hear your list as they can approach you afterwards or insert a comment into the daily scrum report and/or work items later if something was missed.

    (12) I'd like to suggest that the previous 11 steps be put into a Wiki page that will evolve over time to be our general guidelines for our daily scrums in accordance to John's direction/oversight.


    I'd like to suggest the following links for reading material:

    http://www.controlchaos.com/old-site/implem.htm

    http://martinfowler.com/articles/itsNotJustStandingUp.html

    http://agilesoftwaredevelopment.com/blog/artem/7-tips-daily-scrum

    http://jeffsutherland.com/scrum/2006/06/why-three-questions-in-daily-scrum.html

    http://chrissterling.gettingagile.com/2007/02/24/if-your-daily-scrum-is-not-fulfilling/

    http://www.effectivemeetings.com/teams/teamwork/scrum.asp

    http://aptoma.com/select.star/2008/08/15/the-sprint-part-22-the-daily-scrum/

    ReplyDelete