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.
Background of the Term
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.”
What’s a Spike, Who should enter it, and how to word it? by Andrew Fuqua (a short article)
The uninterrupted period of time during which a Scrum development team performs work. This segment of time is most commonly time boxed for two weeks but can be shorter. At the end of this segment of work the team delivers “potentially shippable” product in the form of either improvement upon existing functionality, or an increment or increments of new functionality. This deliverable can be a new feature or feature set, or the improvement or expansion of an existing feature that was completed in an earlier iteration. In Scrum, sprints begin with a planning meeting, and end with a retrospective.
In SAFe, the sprint is referred to as an iteration. Extreme Programming refers to sprints as “small releases,” using this term interchangeably with the term iteration. Dynamic Systems Development Method (DSDM) refers to the sprint as a timebox.
The retrospective is a time-boxed meeting held at the end of a sprint or iteration. The team examines its processes to determine what succeeded and what can be improved. The retrospective is key to an agile team’s ability to “inspect and adapt” in the pursuit of “continuous improvement.”
The meeting’s goal is to have a positive outcome and identify one or two impactful items that will increase quality and effectiveness. The team then creates a plan to implement them in the next sprint. The emphasis is on actionable items, not a comprehensive analysis.
The agile retrospective differs from other methodologies such as “Lessons Learned” exercises, which usually aim to generate a list of what went wrong.
Retrospective facilitation is a distinct skill set. Retrospectives may take many forms, but there is usually a facilitator who may or may not be a team member. The process is generally broken down into three phases: data gathering, data analysis, and action items. Formal tools and exercises can be used to gather and analyze the team’s data. The team often has fun during the retrospective and utilizes different tolls and games to gather the data. The resource list below lists some suggestions for tools and games that can be used during the meeting.
Background Of The Term
The term retrospective was first applied to this meeting by Norman Kerth, who describes its origins in his 2001 book Project Retrospectives: A Handbook for Team Reviews: “Wayne and Eileen Strider, two fellow facilitators, suggested that we call what we do a retrospective. The word seemed appropriate; it didn’t carry any loaded meanings and could be applied to projects without the implication of success or failure.”
Agile Retrospectives: Making Good Teams Great – Book by Esther Derby and Diana Larson
Dixit Sprint Retrospective Game – Agile Learning Labs Blog
Agile Retrospective Resource Wiki – Agile Retrospectives Organization Site
Agile Retrospectives Done Right – Atlassian Agile Coach – YouTube – 5 Minutes
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.