Software Engineering

Scrum

Michael L. Collard, Ph.D.

Department of Computer Science, The University of Akron

Scrum

Iterative agile software development framework

  • Holistic: one team performs multiple functions across overlapping phases
  • Common team responsibilities do not mean that developers don't specialize in technology, e.g., database, UI

Roles

  • Product Owner
  • Business owner, the voice of the customer
  • Development Team
  • Self-organizing team of 3 - 9 members
  • Scrum Master
  • Ensures that the scrum process is followed, but not the team leader

Sprint

Scrum unit of development

  • Fixed duration of 1 week to 1 month
  • Always ends on time, but which features the team completes may have changed
  • timebox fixed amount of time allocated, and when done, the activity is finished

Backlog

Set of requirements in user story format

  • product backlog list of requirements ordered by business values and needs
  • sprint backlog list of work the development team attempts in the next sprint
  • Sprint begins with selecting sprint backlog from the product backlog

Sprint Planning Meeting

  • At the start of a sprint
  • Select what work the team does
  • Put together the sprint backlog
  • The entire team works on prioritizing the product backlog (4 hours)
  • The development team creates a plan for the sprint (4 hours)

Story Time

Estimation for backlog using planning poker or other methods

  • Should not be longer than an hour
  • Does not include breaking stories into tasks
  • The team decides the number of meetings per week

Daily Scrum Meeting

  • Everyone on the development team has an update
  • Limited to 15 minutes at the same location and time every day
  • The meeting always starts on time, even if some are missing
  • Convenient location so people can get started right away on work

Daily Scrum Meeting Questions

  • What have you done since yesterday?
  • What are you planning to do today?
  • What obstacles are in your way?

Burn Down Chart

Remaining work in the sprint backlog

  • Typically readable by all members (not just the development team)

Burn Down Chart

Documents/Artifacts

  • product backlog - ordered list of requirements, typically in a user story format: title, description, estimate, priority
  • sprint backlog - requirements to be implemented in a sprint
  • increment - all the product backlog completed during a sprint
  • burn-down chart - the status of work on the sprint backlog

Sprint Review Meeting

Review user stories completed and uncompleted during the sprint

  • Demo the completed user stories
  • 4-hour time limit

Sprint Retrospective

  • What went well?
  • What could be improved?
  • The entire team reflects on the past sprint
  • Time for making continuous process improvements
  • 3-hour time limit