Background to SCRUM
SCRUM is an Agile Method(1) usually employed to manage iterative software projects. The method is based on the work of Takeuchi and Nonaka(2) who described a product development approach that employed cross-functional teams across the phases of development. They compared the approach to rugby, where the team “tries to go the distance as a unit, passing the ball back and forth”. This approach became known as Scrum, from the analogy to rugby.
The method was taken up by a number of individuals, notably Ken Schwaber and Jeff Sutherland. Schwaber and Sutherland combined their experience to present a paper at OOPSLA ’95, and over the next few years used their experience and industry best-practice to develop the SCRUM(3) method used today. Unlike other agile methods, SCRUM is not an acronym but companies that implement the method often use uppercase when referring to it.
In a SCRUM project, an iteration is known as a Sprint. Usually a Sprint lasts four weeks, though some organisations use shorter durations, such as two weeks. During a Sprint, a Daily SCRUM meeting is held to determine progress and remove any obstacles that are hampering the project team. These meetings are short, typically no longer than fifteen minutes. The ScrumMaster (see below) asks each team member the following three questions:
The Daily SCRUM Meeting can be a “Stand-up Meeting” where all participants remain standing up for around a table for the duration of the meeting, the aim of which is to keep the meeting brief. Alternatively, participants can be seated.
At the start of a Sprint, the team has a Sprint Planning Meeting. The objective of this meeting is to decide what work is to be done in that Sprint – the set of tasks and their estimated duration is recorded and stored in the Sprint Backlog.
On the last day of a Sprint the team holds a Sprint Review Meeting that allows the team to show what has, and what hasn’t, been achieved during the Sprint to the stakeholders of the project. The team also presents the completed work ie demo / prototype to the stakeholders. The meeting has a four hour time limit.(1)See previous article http://www.cse.dcu.ie/our_services/pm/agile_methods.html
(2)Takeuchi, Hirotaka; Nonaka, Ikujiro (January-February 1986). "The New New Product Development Game". Harvard Business Review.
(3) Schwaber K., Beedle M. “Agile Software Development with Scrum” (Prentice-Hall, 2002)
After a Sprint has been completed, the team will perform a Sprint Retrospective that allows the team to ask questions such as:
“What went well during the Sprint?”
“What could be improved before the next Sprint?”
The objective of the Sprint Retrospective is to embed continuous improvement into the approach. The meeting has a time limit of three hours.
SCRUM Project RolesThere are several key roles in a SCRUM project –
The above roles are known in SCRUM as Pig roles from the joke:
A chicken and a pig are together when the chicken says “Let’s start a restaurant!” The pig thinks it over and says, “What could we call this restaurant?” The chicken says, “Ham ‘n Eggs!” The pig says “No, thanks. I’d be committed but you’d only be involved!”
Pigs are thus roles directly involved in the SCRUM project. Chickens are not directly involved in the project but their interests need to be taken into account. These roles would include people such as senior management, users, customers and stakeholders.
Chickens can attend a Daily SCRUM meeting, but only Pigs are allowed to speak. They will typically attend to observe how the project is proceeding or to increase their knowledge of the project. Chicken roles include people such as customers, users and senior management.
Several templates are typically used to control a SCRUM project. These templates include the following: