What is Scrum? ==============
What is Scrum? Like Agile it depends on who you ask, which means that no matter
what I say in this video, someone is going to disagree. So feel free to let me
have it in the comments.
Scrum.org says that Scrum is a simple framework for effective team collaboration
on complex products. It goes on to say that Scrum is not a methodology because
it is flexible, but that you aren’t doing Scrum if you modify it in anyway. Of
course this sounds suspiciously like a methodology. I’m not pointing this out to
try to criticize Scrum, but it is important to recognize that Scrum means very
different things to different people and the words framework and methodology
also get used in a variety of ways, so expect some ambiguity in what labels
apply to Scrum even if you are meticulous about defining your terms.
Fortunately looking at what Scrum actual is, tends to be a lot easier than
classifying it, so let's start there.
First it is important to note that Scrum rests on 3 pillars: Transparency,
Inspection, and Adaptation. These are important because they help provide much
greater context to the other parts of Scrum. You’ll see them present as we look
at Scrum’s primary components: roles, events and artifacts. (More recently,
Scrum has added values as well, but those aren’t part of this video.)
Scrum defines specific roles. There is a Product Owner, a Scrum Master, and a
Development team. Each role has different responsibilities, but at a high level
the Product Owner is responsible for defining and sequencing the work that is to
be done. The Scrum Master keeps things organized and helps remove impediments
that could slow down the development team. The development team does the work.
This could be developing software or other types of work.
Scrum also defines a number of events. First there is the Sprint. The Sprint is
a time-boxed fixed length iteration, typically 2 weeks in length, but no more
than 4 weeks. What ever length of iteration is chosen, the team sticks with
it—it doesn’t vary from iteration to iteration. The whole team collaboratively
defines a scope of work to achieve a goal or business objective that is valuable
to the Product Owner and then makes their best effort to complete that body of
work during the Sprint. They may succeed or fail to complete all the work, but
the Sprint cadence remains the same either way. Unfinished work can be assigned
to the next Sprint if it is still valuable to the product owner. In some teams
the Sprint may be referred to as an “increment.” For example a consultant
working with Verizon quickly discovered that using the term “Sprint” didn’t go
over very well. I doubt if a Scrum trainer would last very long trying to get
everyone at Sprint to refer to iterations as “Verizons.”
Sprint planning (and I’m back to talking about the iteration, not the
telecommunications company) so Sprint iteration planning is where the team
defines the work and the goal they want to achieve in the the upcoming Sprint.
This is a collaborative effort and involves the whole team having discussions
about what has a valuable return on investment and what is possible to actually
accomplish within the bounds of the Sprint.
Now let's look at the daily Scrum. This is a daily 15 minute time-boxed meeting
for the team to coordinate their work toward achieving the Sprint goal. This is
often called the daily standup as many teams have found standing helps achieve
the time box of 15 minutes, keep everyone from falling asleep and off their
phones and computers. Some teams go around and have each person say what they
did yesterday, what they plan to do today, and if they have any impediments.
Regardless of what method is used, the Scrum provides a daily touchpoint to
achieve transparency and to quickly adapt to changes and new information. I
usually recommend that teams trying to follow Agile principles refer to this
meeting as the daily face-to-face meeting because it helps keep everyone focused
on the Agile principle of face-to-face communication.
This is probably a good point to talk about where the term Scrum comes from. In
Rugby a Scrummage is a way to restart play where players pack tightly together
and lock heads with the opposing team forming a tunnel between the two sides.
They then attempt to gain possession of the football as it is thrown through the
tunnel. It is somewhat analogous to a jump ball in basketball. The Scrum meeting
is where everyone comes together in order to start things up again, but without
the Rugby aspect of locking heads and then trying to tackle the competition.
But enough about sports. Scrum also has an event called the Sprint review. This
is a collaborative meeting to show what was accomplished during the sprint and
get feedback on the work shown to stakeholders. With software, this includes
some type of demo, but this isn’t a polished Steve Jobs style presentation. The
goal is to provide true transparency on what has been done. As people inspect
what was accomplished they provide feedback that can be used to adapt the way
work is done in the next sprint to provide the best return on investment
possible.
The last event to discuss is the Sprint Retrospective. This meeting is a chance
for the team to reflect on how things have gone and how they can improved. This
event is based on the Inspection and Adaption pillars mentioned earlier. For
teams following Agile, this event is one of the ways teams follow the principle
that says they should reflect on how to become more effective and adjust
accordingly.
So that is the five events: The Sprint, Sprint Planning, Daily Scrum, Sprint
Review, and Sprint Retrospective.
Now lets look at the artifacts from Scrum. These are the Product Backlog, the
Sprint Backlog, and the Increment. The Product Backlog is a list of things that
the Product Owner wants or thinks they may want. In Software, this usually an
ordered list of features with the things the Product Owner sees as producing
greater Return on Investment at the top of the list.
The Product Backlog is the source for the Sprint Backlog which is the set of
items that have been selected for the Sprint. The Sprint Backlog is populated at
Sprint Planning and it helps keep the team focused on just what is needed for
the current Sprint without the added noise of everything in the full Product
Backlog. The Sprint Backlog provides a great deal of transparency in
understanding the progress being made toward the current sprint goal.
The last artifact is the Increment. The Increment is the thing that is actually
delivered. For example, it might be a new release of software with all the new
features that were completed in the Sprint. This increment should be something
that is potentially shippable or deployable. This means it needs to fully meet
the definition of done with all the proper testing and cleanup that would be
necessary to start getting a return on investment from it.
So what does this look like all together? The simplest way is to think of Scrum
as two loops. The outer loop is the two-week iteration with the planning, review
(or demo), and retrospective occurring on a cadence of every two weeks. Each
iteration is inspected and the next one is adapted to try to make it just a
little bit better. Within this two week loops is a 24 hour loop that starts with
the daily Scrum meeting and is also focused on providing transparency so the
work done tomorrow is adapted to make improvements based on what we’ve learned
today.
So there you have a good, high-level overview of Scrum. A subsequent video will
answer frequently asked questions about Scrum, so look for that if you are
interested. I hope you’ve found it useful. Please let me know in the comments
what you liked and if there is anything I can do better in the next version.
Each video I make is has it’s own cycle where I take the feedback and try to
improve for next time, so comments are very appreciated.
Also I have a book available called Starting Agile. If you follow the link in
the description you an get instructions to get the book in whatever electronic
format you prefer.