Learn The Truth About "Agile" Versus "Waterfall": Learn How To Get The Best of Both Worlds
Learn The Truth About "Agile" Versus "Waterfall": Learn How To Get The Best of Both Worlds
What is Scrum?
1
What is Scrum?
Scrum is so widely used as an agile process that many people are actually referring to
“Scrum” when they say “Agile”
Scrum is an iterative process that breaks up a project into 2-4 week intervals called “sprints”
Working Increment
Working Increment Working Increment
Of Software
Of Software Of Software
Short Sprint Short Sprint Short Sprint Short Sprint
(2-4 weeks) (2-4 weeks) (2-4 weeks) (2-4 weeks)
Review/Acceptance
Review/Acceptance Sprint Retrospective
Review/Acceptance
Sprint Retrospective
Sprint Retrospective
In this lesson, we’re going to talk about “What is Scrum?” Scrum is so widely used that
many people associate with Agile. It’s like people saying “Coke” as a general name for
soda pop.
The purpose of this discussion is not to further confuse Scrum with the word “Agile”, but
to show Scrum as an example of how an Agile development process works. Please keep
in mind that this is only an example and not the only way an Agile process can work.
This is only a very general high-level over-view of Scrum. For those who would like to
understand further detail about Scrum, some further detail is provided in another
lecture.
Scrum is an iterative process that breaks up a project into 2-4 week “Sprints”. The
important characteristics of a Scrum project are:
• Each 2-4 Week Sprint is like a mini-project.
• The goal is to produce a working increment of software that has been fully-tested at
the end of each sprint.
• At the end of each sprint the Product Owner reviews and accepts the working
software similar to a User Acceptance Test (or UAT) in a full scale project and the
team does a retrospective to evaluate how well the process worked in that sprint
(similar to a post-mortem in a full-scale project.
2
What is Scrum?
The word “Scrum comes from the team sport of Rugby
3
Because work is broken up into 2-4 week
sprints, feedback and learning is very
rapid
Because work is broken up into 2-4 week sprints, feedback and learning is very rapid
4
Defined Processes and Empirical Processes
There’s a popular stereotype that agile projects do not use any
process and are totally uncontrolled
There’s a popular stereotype that Agile projects do not use any process and are
uncontrolled. That stereotype is also not accurate - most Agile projects use Scrum which
is a very well-defined process. It’s a different kind of process – it is much more empirical
and adaptive rather than being rigid and prescriptive but it is a well-defined process. It’s
important to understand the distinction between a “defined process” and an “empirical
process”
5
Defined Process
Defined Process
The Waterfall process and a number of other plan-driven processes use well-defined
processes.
• The process doesn’t change significantly from one project to the next
• It’s similar to a manufacturing process where you’re producing the same product
over-and-over again – you want to control variation in the process to produce the
same product every time
6
Defined Process
Defined Process
• Predictability of results
Advantages: • Control over scope, schedule,
and costs
• Inflexible
Disadvantages:
• Emphasis on control
A defined process has the advantage of being predictable and providing control over
changes in scope, schedule and costs
But its weakness is that it is can be inflexible and not work well in environments where
the requirements are uncertain and likely to change. The emphasis on control can also
create some unnecessary overhead
7
Empirical Process
Scrum Is An Example of An Empirical Process
Empirical Process
An empirical process like Scrum is based on continuous improvement and uses what is
called an empirical process control model. The word “empirical” means based on
observation; and, in this context, it means that both the process and the result are
adjusted as needed based on observation throughout the process rather than remaining
fixed
Scrum provides a general process framework but it is a very general process framework
that can be easily adapted to different kinds of projects and within a given project it is
adaptive to projects with highly uncertain requirements.
8
Empirical Process
Scrum Is An Example of An Empirical Process (cont.)
Empirical Process
• Very Adaptive to Uncertain or
Changing Requirements
Advantages:
• Less Overhead
• Faster Time-to-Market
The advantage of an empirical process like Scrum is that it is very adaptive to uncertain
and changing requirements and it may also have less overhead and faster time-to-
market
The disadvantage is that because changes are encouraged rather than limited, there is
less predictability over the costs and schedule of the project
9
This is Not an “All-Or-Nothing” Decision
This is not necessarily a binary, mutually-exclusive choice
A very important point, however, is that this is not an all-or-nothing choice between:
• A process that is totally planned and defined with rigid control, and
10
This is Not an “All-Or-Nothing” Decision (cont.)
The right solution is generally between those extremes
It is possible to create a hybrid approach to achieve the best of both worlds and fit the
approach to the nature of the project
11
NEXT LECTURE:
HOW DOES SCRUM WORK?
In the next lecture, I’ve provided some more detailed background information on how
Scrum works. That lecture is optional and can be skipped by anyone who is already
familiar with how Scrum works.
12