Home > Articles > Programming > C/C++

  • Print
  • + Share This
This chapter is from the book

Scrum

Scrum focuses on the management of a project.

Scrum23 was introduced in 1996 by Ken Schwaber and Jeff Sutherland.24 The term scrum is derived from rugby, in which it refers to restarting play after the game is stuck in a so-called maul. Scrum focuses on the management of a project without describing the specifics of how to undertake design, implementation, or testing. Consequently, it can be combined with a number of different processes, such as XP or RUP.

Each iteration is 30 days long and is referred to as a sprint. The sprint starts with a half-day planning meeting to determine what should be done within the sprint. During the planning meeting, the Product Owner provides a prioritized Product Backlog, which is an evolving list containing all requirements, defects, tasks, and change requests. The development team will then determine how many of the high-priority items they can take on within that sprint, which constitutes the Sprint Backlog, and a sprint goal is crafted. The sprint goal provides the team with a clear focus by establishing an objective that will be met by implementing the backlog.

After the planning meeting, the team spends 29 days developing an executable that delivers incremental functionality. The sprint ends with a half-day Sprint Review Meeting, at which the team and management inspect the product increment together and capture lessons learned. The team will then start the next sprint, delivering an executable every 30 days that is one step closer to the final product.

During a sprint the team will get together for a daily 15-minute meeting, also called scrum. During the scrum, each team member will briefly answer three (and only three) questions:

  1. What have you done since last meeting?
  2. What will you do between now and next meeting?
  3. What obstacles stood in the way of doing work?

The "scrum master" makes sure that the meeting is kept on track, makes decisions as appropriate, and is also responsible for ensuring that identified obstacles are addressed as soon as possible. As issues arise that need further discussion, the scrum master sets up additional meetings with involved parties to continue the discussion, to ensure that the daily scrum is kept to 15 minutes. The scrum master also makes sure that no outside changes are imposed on the plan during a sprint, so that the team can focus on executing the plan without any distracting interruptions.

The team in scrum should have seven (give or take two) members. If your team has more, split the team into several teams and divide their work so that they can operate semi-independently. Scrum teams should be cross-functional so that each team can do the necessary analysis, design, implementation, testing, and documentation.

Scrum teams are self-organized, meaning that the team is left loose during the sprint to use whatever approach is considered appropriate to convert the Sprint Backlog to a product increment. Management should not intervene. At the end of the sprint, management can assess what was done and make changes as necessary.

Scrum focuses on collaboration. Each team member attends the daily scrum meeting.

Scrum focuses on collaboration. Open workspaces are preferred, and each team member should attend the daily scrum meeting in person. No titles or job descriptions are used, and people are asked to leave their egos at home.

  • + Share This
  • 🔖 Save To Your Account