How to run a sprint as the scrum master

If you are the designated scrum master for a sprint, here is how you run the sprint.

Week before meeting:

  • Discuss plans for next sprint with Manager and Product Manager (this is a scheduled meeting).
  • Determine status of current sprint.
  • Get a feel of work needed by looking at NextSprintProposed and New Tasks.

Send out estimate requests (in general, sent out on Thursday/Friday? before the planning meeting):

  • Get all unestimated tasks from Next-Sprint-Proposed and New Tasks.
  • Email the CSV from this report (link at the bottom) to the bind10-dev@ mailing list, asking developers to estimate fibonacci points for each (1, 2, 3, 5, 8, 13). Normally, if any developer wants to assign more than 8 to 13 points to a ticket, the ticket is too big and has to be discussed.

On the Monday before the meeting:

  • Collect all developer estimated results, and make one spreadsheet with it, putting each developer's results into a column. Anonymize the developer names.
  • Make a average column. Use =ROUND(SUM(C2:G2)/(SUMPRODUCT((C2:G2<>0)*1))) (adjust column G here to the last column with estimates, depending on how many were returned).
  • Make a stddev column. Use =STDEVA(C2:G2) (adjust column G here to the last column with estimates, depending on how many were returned).
  • Put comments in one more more columns after the above.
  • Send resulting spreadsheet to the bind10-dev@ mailing list. Ask discussion for each of the tickets that do not have many estimates, or those tickets which have a stddev greater than 2.0.
  • Update the various unestimated tickets, setting the estimated points to the average.

On Tuesday, a few hours before the meeting:

  • Setup an Etherpad page at (where the date is when the new sprint ends) with the attached etherpad-template.txt. Fill in plans, summary and agenda. Fill in most of the bits marked with ??s.
  • Gather last sprint's statistics (the number of points we closed, etc.) and update the Etherpad page.
  • Update the Burndown page with it, so we have an estimate of our velocity to plan points for the next sprint
  • Put goal tickets, Next-Sprint-Proposed tickets and New Tasks tickets on the Etherpad page in the corresponding sections
    • for ease of use, use the attached (actually a Python script) that converts the CSV from this report (link at the bottom) into a formatted-by-spaces output, which looks nicer in a (monospaced) Etherpad page.

After the meeting:

  • Create a Trac milestone for the new sprint, named as Sprint-YYYYMMDD, where the date is when the new sprint ends. Set the ending date in the milestone.
  • Change milestone of any new/assigned/open tickets that we don't want to work on from last sprint to the backlog.
  • Close the previous sprint as done, moving other new/assigned/open tickets that we want in the new sprint to the milestone that we just created. Use the right page to close the sprint, i.e. NOT the admin page, but the direct milestone page reachable by clicking the milestone name on the roadmap). There, select the last sprint, click 'edit milestone', then 'completed' and 'retarget' tickets to the new sprint.
  • Move all chosen tickets to the new sprint milestone.
  • Clear Previous-Sprint-Proposed milestone, moving all tickets to the backlog. This can easily be done by 'closing' the Previous-Sprint-Proposed milestone, retargeting the tickets to nothing, then opening the milestone again.
  • Move all remaining tickets from Next-Sprint-Proposed milestone to Previous-Sprint-Proposed. This can easily be done by 'closing' the Next-Sprint-Proposed milestone, retargeting the tickets to Previous-Sprint-Proposed, then opening the milestone again.
  • Add the meeting notes to the SprintPlanning page.
Last modified 5 years ago Last modified on Aug 15, 2013, 12:51:15 AM

Attachments (3)

Download all attachments as: .zip