Scrum Framework
for Agile Methodology
as described by the "Scrum Guide" from www.scrum.org
(Free Web Tutorials)
by Michael Thomas
Agile Methodology Home Page
In this tutorial you will learn about the Scrum Framework as
described by www.Scrum.org and other Scrum
information.
Note: On the Agile Methodology Home page, you can download
the whole Agile Methodology site (all content, tutorials & examples) !!!
This tutorial covers: Scrum Framework as described by
www.Scrum.org
Prerequisites
- Read the Agile Methodology tutorial home page.
Objectives
- Learn the definition of Scrum
- Learn the history of Scrum
- Be exposed to Scrum as described by the "Scrum Guide" created by
www.scrum.org
- The Scrum Concepts
- Scrum Team
- Scrum Events
- Scrum Artifacts
Scrum Tutorial
Definition of Scrum
- Definition - www.scrum.org
- Scrum (n): A framework within which people can
address complex adaptive problems, while productively and creatively
delivering products of the highest possible value. (Source:
from PDF titled "The Scrum Guide")
- Scrum is a management and control process that cuts through
complexity to focus on building software that meets business needs.
Management and teams are able to get their hands around the requirements
and technologies, never let go, and deliver working software,
incrementally and empirically.
- Scrum itself is a simple framework for effective team collaboration
on complex software projects.
- Definition - Wikipedia.org
Scrum is an iterative and incremental agile software development methodology
for managing product development. (Source:
Wikipedia.org)
- Definition - in 1986 by Hirotaka Takeuchi and Ikujiro Nonaka
Scrum was first defined as "a flexible, holistic product development
strategy where a development team works as a unit to reach a common goal" as
opposed to a "traditional, sequential approach" in 1986 by Hirotaka Takeuchi
and Ikujiro Nonaka (Source:
Wikipedia.org)
- Where did the word "Scrum" come from?
In rugby football, a scrum refers to a tight-packed formation of players
with their heads down who attempt to gain possession of the ball. (Source:
Wikipedia.org) The scrum (or scrummage) formation in rugby is used
to restart the game after an event that causes play to stop, such as an
infringement.
History of Scrum
- In 1986 Scrum was first defined by Hirotaka Takeuchi and Ikujiro Nonaka
(see above definition).
- In 1995, first publication of the scrum methodology by Sutherland and
Schwaber at the OOPSLA '95 in Austin, Texas. (Source:
Wikipedia.org)
- Scrum was first tried and refined at Individual, Inc., Fidelity
Investments, and IDX (now GE Medical).
- In 2001, Jeff and Ken were amongst the 17 software development leaders
creating the Manifesto for Agile Software Development.
- In 2001, the book "Agile Software Development with Scrum" by Ken
Schwaber & Mike Beedle was published.
- In 2002, the Scrum Alliance was created. (Certified Scrum Master
programs, etc...)
- In 2006, Jeff Sutherland created his own company, Scrum.inc
- In 2009, Ken Schwaber founded Scrum.org
- In 2010, Scrum.org publishes the first version of the "Scrum Guide".
The "Scrum Guide" by www.Scrum.org
- www.scrumguides.org - you will
want to download (or view online) the official "Scrum Guide" by Jeff
Sutherland & Meet Ken Schwaber. As of 2015 the "Scrum Guide" has been
translated in over 30 different languages.
NOTE: The rest of the Scrum topics below
comes primarily from the "Scrum Guide".
Scrum Concepts (source: Scrum Guide)
- Scrum Process Framework (not a process or technique)
- Scrum is a process framework that has been used to manage complex
product development since the early 1990s.
- Scrum is not a process or a technique for building products.
- Scrum is a framework within which you can employ various processes
and techniques.
- Empirical knowledge
- Knowledge comes from experience and making decisions based on what
is known (aka empirical process).
- Empirical evidence (also empirical data, sense experience, empirical
knowledge, or the a posteriori) - is a source of knowledge acquired by
means of observation or experimentation. (Source: Wikipedia.org)
- Transparency and Common Language (understanding)
- Stake holders (those responsible for the outcome) need transparent
access to parts of the process key to them.
- A common language must be used among team members.
- The definition of "Done" needs to be understood between the
developers and those accepting the deliverables.
- Inspection & Adaptation
- Inspect the progress towards a sprint goal to identify deviations
that are not acceptable.
- The frequency of inspection should not hinder progress.
- Unacceptable deviations are adjusted.
- Inspection may find improved processes that create new levels of
acceptable deviations.
Scrum Team (source: Scrum Guide)
- Scrum Team
- Scrum Teams are self-organizing and cross-functional.
- Self-organizing teams choose how best to accomplish their work.
- Cross-functional teams have all competencies needed to accomplish
the work.
- Scrum Teams deliver working products iteratively and
incrementally, maximizing opportunities for feedback.
Scrum Team Members (source: Scrum Guide)
- Product Owner
- Is one person (not a committee) who is responsible for the final
product.
- Is accountable for the product backlog. They may perform the
tasks or delegate the tasks.
- Clearly expressing Product Backlog items;
- Ordering the items in the Product Backlog to best achieve goals
and missions;
- Optimizing the value of the work the Development Team performs;
- Ensuring that the Product Backlog is visible, transparent, and
clear to all, and shows what the Scrum Team will work on next; and,
- Ensuring the Development Team understands items in the Product
Backlog to the level needed.
- Decides what the Development Team works on.
- Scrum Master
- Is a servant-leader for the Scrum Team.
- Is responsible for ensuring Scrum theory, practices, and rules is
understood and enacted by the Scrum Team.
- The Scrum Master helps those outside the Scrum Team understand which
of their interactions with the Scrum Team are helpful and which aren’t.
- Service to Product Owner
- Finding techniques for effective Product Backlog management and
need for clear concise items
- Understanding product planning in an empirical environment.
- Facilitating Scrum events as requested or needed.
- Service to the Development Team
- Coaching the Development Team in: self-organization,
cross-functionality, create high-value products, Removing
impediments
- Facilitating Scrum events as requested or needed
- Service to the Organization
- Leading and coaching the organization in Scrum adoption
- Working with other Scrum Masters to increase Scrum adoption
- Development Team
- Consists of all the cross-functional professionals needed to
delivering a working product (functionality) at the end of each Sprint.
- Is empowered by the organization to manage their own work resulting
in efficiency and effectiveness.
- The team knows how to turn Product Backlog into Increments of
potentially releasable functionality (Sprints). No other person
including the Scrum Master is needed.
- Every member of the team has the title developer. No other titles
are used regardless of the specialized skill or work being performed.
There are no sub-teams. Everyone is called "developer" and is a member
of the team.
- The team size is 3 - 9 members. (Note: Less than 3 may not have the
skills needed. Greater than 9 is hard to coordinate.)
Scrum Events (source: Scrum Guide)
- The Sprint
- A time-box of one month or less during which a "Done", useable, and
potentially releasable product Increment is created.
A Sprint can be equated to a project.
- Each Sprint has a goal of what is to be built, a design and flexible
plan that will guide building it, the work, and the resultant
product Increment.
- Only the Product Owner can cancel a before a Sprint. Because of the
short duration of a Sprint this may rarely happen.
- Sprints contain and consist of:
- Sprint Planning
- Daily Scrums meetings
- Development Work
- Sprint Review
- Sprint Retrospective
- During a Sprint
- No changes are made that would endanger the Sprint Goal
- Maintain quality goals
- In an empirical environment, scope may change as more is
learned. Those changes are then re-negotiated between the Product
Owner and Development Team.
- Sprint Planning
- This is a collaborative work of the entire Scrum Team.
- For a one-month Sprint the time-box is a maximum of eight hours.
- The Scrum master makes sure the event takes place, time-box is
honored and the purpose is understood.
- Topic One: What can be done this Sprint? (What product increment can
be delivered.)
- Topic Two: How will the chosen work get done? (What work is needed
to deliver the product increment.)
- Sprint Goal
- Is an objective set for the Sprint that implements a
functionality within the product backlog.
- What functionality is implemented within the Sprint.
- Daily Scrum Meeting
- The Daily Scrum is a 15-minute time-boxed event for the Development
Team to synchronize activities and create a plan for the next 24 hours.
- You inspecting the work since the last Daily Scrum and forecasting
the work that could be done before the next Daily Scrum.
- What is covered in the meeting?
To meet the sprint goal....
- What did I do yesterday?
- What will I do today?
- Are there any obstacles or risks?
- This is a key inspect and adapt meeting
- Sprint Review
- A Sprint Review is held at the end of the Sprint to inspect the
Increment and adapt the Product Backlog if needed.
- Attendees include the Scrum Team and key stakeholders invited by the
Product Owner
- Time-box for 1 month Sprint is four hours.
- The Scrum Team and stakeholders collaborate about what was done in
the Sprint.
- Based on that and any changes to the Product Backlog during the
Sprint, attendees collaborate on the next things that could be done to
optimize value.
- This is an informal meeting, not a status meeting, and the
presentation of the Increment is intended to elicit feedback and foster
collaboration.
- Sprint Retrospective
- The Sprint Retrospective is an opportunity for the Scrum Team to
inspect itself and create a plan for improvements to be enacted during
the next Sprint.
- The Sprint Retrospective occurs after the Sprint Review and prior to
the next Sprint Planning.
- Time-box for a one-month Sprint is three hours.
Scrum Artifacts (source: Scrum Guide)
- Product Backlog - The Product Backlog is an ordered list of everything
that might be needed in the product and is the single source of requirements
for any changes to be made to the product.
- Sprint Backlog - The Sprint Backlog is the set of Product Backlog items
selected for the Sprint, plus a plan for delivering the product Increment
and realizing the Sprint Goal.
- Increment - The Increment is the sum of all the Product Backlog items
completed during a Sprint and the value of the increments of all previous
Sprints.
Resources
- www.scrum.org - Scrum.org was created
in 2009 by Ken Schwaber, one of the founders of Scrum.
- www.scrumguides.org -
download/read the official "Scrum Guide" written by Jeff Sutherland &
Ken Schwaber.
Books
- Agile Software Development with SCRUM - by Ken Schwaber, Mike Beedle