About The Agile Dictionary
Welcome to iteration zero of The Agile Dictionary! Our goal with this project is to provide broad, authoritative definitions of common Agile terms. You will note that each definition also includes a section titled “etymology,” where we capture the origins of the term wherever possible.
Visit the definitions by clicking on the letters in the navigation bar, or you can search for a term, above.
s is for...
A framework for the iterative development of complex products, particularly software. Scrum is the most widely recognized Agile framework, and is compatible with other agile practices like Extreme Programming and test driven development.
Scrum is comprised of a series of short iterations–called sprints–each of which ends with the delivery of an increment of working software. The framework is further characterized by a set of roles (scrum master, product owner, development team), time-boxed ceremonies (daily scrum, sprint planning, sprint review and sprint retrospective), and artifacts (product backlog, sprint backlog, and product increment). Usage: We’ve chosen to develop our new product using scrum.
A “scrum” or “daily scrum” is a 15 minute-long status meeting, one of the ceremonies of scrum. Usage: Floyd, the new project manager, was invited to observe our daily scrum.
Tip: You will sometimes hear the term scrum used interchangeably with the term agile, but this is incorrect. Agile is not a framework, but a broader set of values and practices, while scrum is a specific framework that fits comfortably under the agile umbrella.
The term “scrum,” as it is commonly applied to software development, began its life as a sports metaphor. The term “scrum” derives from the game of rugby, where it refers to a team that moves down the field as one body. Scrum was first introduced as a metaphor for industrial processes in 1986 by Hirotaka Takeuchi and Ikujiro Nonaka, two Japanese academics who used it to describe a new, flexible approach in a paper titled “The New New Product Development Game.”
In the early 90’s, several complimentary events conspired to bring the term “scrum” into use within agile development community. In 1990 Peter DeGrace and Leslie Hulet Stahl published a book called “Wicked Problems, Righteous Solutions: A Catalog of Modern Engineering Paradigms,” which contained a blistering critique of the commonly accepted “waterfall” method for software development. DeGrace and Hulet Stahl quoted Takeuchi and Nonaka’s paper as a possible remedy. Influenced by this popular work, a team of software developers, Jeff Sutherland, John Scumniotales and Jeff McKenna, used the term scrum to describe a new framework they had begun to develop in accordance with the values and principles of the Agile Manifesto. In parallel, Ken Schwaber was developing a similar framework at his company, Advanced Development Methods.
The two teams were aware of each other’s work, and in 1995, Schwaber and Sutherland jointly authored a paper that laid out the basics of a framework they dubbed scrum. Schwaber later collaborated with Mike Beedle on the book Agile Software Development with Scrum. Schwaber went on to found the Scrum Alliance, which is now the certifying body for scrum trainers and practitioners of all levels, and the primary source of authoritative information on the state of scrum as practiced today.
A task aimed at answering a question or gathering information, rather than at producing shippable product. Sometimes a user story is generated that cannot be well estimated until the development team does some actual work to resolve a technical question or a design problem. The solution is to create a “spike,” which is some work whose purpose is to provide the answer or solution.
The term spike comes from Extreme Programming (XP), where “A spike solution is a very simple program to explore potential solutions.” XP guru Ward Cunningham describes how the term was coined on the C2.com wiki: “I would often ask Kent [Beck], ‘What is the simplest thing we can program that will convince us we are on the right track?’ Such stepping outside the difficulties at hand often led us to simpler and more compelling solutions. Kent dubbed this a Spike. I found the practice particularly useful while maintaining large frameworks.”
Also: Daily Scrum, Scrum
A short, daily all-hands meeting in which members of an Agile team address three key questions:
What did you get done since the last stand-up?
What will you do before the next stand-up?
What impediments stand in your way?
The meeting is held at the same time and in the same place every day, with team members standing in a small circle. The point of standing up is to discourage the kinds of tangents and discursions that make for meeting hell, and the meeting is usually time boxed to no more than 15 minutes. The stand-up focuses on peer-to peer coordination through information exchange, and the meeting serves to raise the visibility of each person’s work and to ensure work integration. Only members of the development team participate, as many people as can comfortably stand in a small circle.
The concept of the Daily Stand Up meeting originated with Extreme Programming. It was adapted to Scrum, where it is known as the Daily Scrum or Scrum.