Working on a Scrum Team - Day 1
Download
Report
Transcript Working on a Scrum Team - Day 1
Working on a
Scrum Team
Making the case for Agile –
What we’ve been doing isn’t working
According to the 2006 report, 35 percent of
software projects started in 2006
completed on time and on budget. "The
primary reason is the projects have gotten
a lot smaller. Doing projects with iterative
processing as opposed to the waterfall
method, which called for all project
requirements to be defined up front, is a
major step forward."
article
Success
Source: Chaos Report from Standish Group
(2001).
2
On time
On budget
With all planned features
And what is delivered isn’t always used
Never
Percent of Software
Features Used
45%
19%
Rarely
7% Always
16%
13%
Frequently
Sometimes
Source: The Standish Group (2002).
3
Best known Agile methodologies
Scrum
XP – Extreme Programming
DSDM – Dynamic Systems Development
Method
Crystal
FDD – Feature Driven Development
4
Collaborative, whole team
Collaboration on activities
Communication-centric
Cross-functional
Co-location
5
Common shared vision and goals
Vision flows into the team
Clear focusing goals
Emphasis on delivering intent
Allow space for creative problem solving
6
Iterative and incremental
Time boxed development cycles
Process activities parallel and concurrent
Activities applied to smaller work units
Frequent delivery of completed product
New product increments built on existing
working product
Product kept continually up to standards
7
Agile and adaptive control
Incremental planning practices
Heavy emphasis on feedback and visibility
Frequent adaptation towards iteration
goals
Continuous reflection and improvement
Self-organizing, peer teams
Distributed, local, direct decision making
8
Emphasis on being lean
Traveling light
Deliverables developed based on concrete
need
Elimination of hand-off artifacts
Removal of waste in the process
Preference towards simplicity
Emergent development tactics
9
We have come to value:
10
Individuals and
interactions
over
Processes and tools
Working software
over
Comprehensive
documentation
Customer
collaboration
over
Contract negotiation
Responding to
change
over
Following a plan
Scrum
“The… ‘relay race’ approach to product
development…may conflict with the goals of
maximum speed and flexibility. Instead a holistic
or ‘rugby’ approach—where a team tries to go
the distance as a unit, passing the ball back and
forth—may better serve today’s competitive
requirements.”
Hirotaka Takeuchi and Ikujiro Nonaka, “The New
New Product Development Game”, Harvard
Business Review, January 1986.
11
Scrum origins
Wicked Problems, Righteous Solutions
by DeGrace and Stahl, 1990.
First mention of Scrum in a software
context
Jeff Sutherland
Initial Scrums at Easel Corp in 1993
IDX and 600 people doing Scrum
Not just for trivial projects
12
FDA-approved, life-critical software for x-rays
and MRIs
Ken Schwaber
ADM
Initial definitions of Scrum at
OOPSLA 96 with Jeff Sutherland
Scrum has been used in…
Independent Software
Vendors (ISVs)
Offshore development
Small to medium-sized
startups
Fortune 100 companies
13
Internal development
Contract development
Characteristics
14
One of the agile processes
Self-organizing teams
Product progresses in a series of month-long
sprints
Requirements are captured as items in a list of
product backlog
No specific engineering practices prescribed
Uses generative rules to create an agile
environment for delivering projects
Proven scalability
The waterfall process
1) What are the problems you see with the
waterfall approach?
2) What are some ways organizations deal with
them?
3) How would you solve them?
15
Overview
24 hours
Daily Scrum
Meeting
Sprint Backlog
Backlog tasks
expanded
by team
2-4 weeks
Product Backlog
As prioritized by Product Owner
16
Potentially Shippable
Product Increment
Why do this?
With Scrum, you can
Remove risks early
Cancel projects earlier
that aren’t going to
succeed
Change priorities without penalty between
sprints
Realize benefits sooner by releasing earlier
Increase the ROI of a project
Increase productivity at least 2x in the first year;
much more thereafter
Only deliver what’s truly needed
17
Scrum roles
ScrumMaster
Product Owner
The Team
18
Six guiding principles
Employ
iterative
feature
delivery
Deliver
customer
value
Champion
technical
excellence
Product delivery
Leadership-Collaboration
Build
adaptive
teams
Simplify
Encourage
exploration
Source: Agile Project Management by
Jim Highsmith.
19
Product delivery principles 1–2
Employ iterative
feature delivery
Ensure that a potentially
shippable product is delivered
each sprint
Keep the focus on delivering
features, not completing tasks
Deliver customer
value
Support the product owner by
working on the highest-valued
features first
20
Product delivery principle 3
Champion
technical
excellence
21
Products need to deliver value
today and tomorrow
So we need to focus on
adaptability and quality
Don’t become a champion of
just the schedule
Championing technical excellence
You want code you’re so proud of that you
hang it on your mom’s fridge
Keep the emphasis on
writing code well and the
speed will come
When something is done well, it’s
only a matter of time until it is
done quickly.
22
Leadership/collaboration principles
Build adaptive
teams
Encourage
exploration
Simplify
23
Teams need the mindset and
skills to respond to change
In an uncertain environment, we
need to explore rather than
conform to a plan
Do what is barely sufficient
Additional responsibilities
24
Responsible for enforcing the values and
practices of the process and the team
Remove impediments from the team
Remove barriers between team and others
Educate outside groups about how the team
is working
Improve the lives of team members
Improve productivity in any way possible
Keep an eye out for problems
Most organizations release software every
6–12 months
When we compress this cycle to 2-4
weeks, it puts stress in new places
The ScrumMaster watches for these
stress points
25
Scrum roles
ScrumMaster
Product Owner
The Team
26
The product owner
Represents (or is) the user or customer for
the project
One voice, even if not one person
Typically a Product Manager, someone
from Marketing, or similar
Main responsibility is knowing what to
build and in what sequence
Conveys expectations by participating in
test planning
27
Product owner responsibilities
Establish the vision
Calls for releases
Decides
when to call for an official release of a
potentially shippable product increment
Can shift a release forward or backward to maximize
ROI based on new knowledge
Manage the return on investment (ROI)
Establishes
baseline target ROI
Measures project against this baseline
Prioritizes product backlog to maximize ROI
28
Establishing a shared vision
Teams do best when they have a “clear,
elevating goal” and “unified commitment”†
It’s the product owner’s job to focus the
team and find this clear, elevating goal
Sources: †Teamwork by Carl Larson and
Frank LaFasto and ‡Agile Project
Management by Jim Highsmith.
29
A unified vision
Does everyone on your current project
share a unified vision?
How can you establish a vision?
30
Scrum roles
ScrumMaster
Product Owner
The Team
31
The Scrum team
Typically 5-10 people
Cross-functional
QA,
Members should be full-time
May
Programmers, UI Designers, etc.
be exceptions (e.g., Sys Admin, etc.)
Teams are self-organizing
Ideally
32
no titles but rarely possible
Membership can change only between
sprints
Teams are cross-functional
33
This is not a cross-functional team:
Sprint 1
Sprint 2
Sprint 3
Sprint 4
Sprint 5
Analysis
Coding
Testing
Analysis
Coding
Testing
Analysis
Coding
Testing
Sprint 4
Sprint 5
This is
Sprint 1
Sprint 2
Sprint 3
Analysis
Analysis
Analysis
Coding
Coding
Coding
Testing
Testing
Testing
Team commitment
The team picks the work they’ll do in a
sprint
Which
items
How many
The team commits to completing what
they select
It’s
a team commitment, not a set of
individual commitments
34
Has authority to do whatever is needed to
meet this commitment
Developing the right software
Improves return on
investment
Solves problems with
product owner
involvement
Reduces project
politics
35