Professional Documents
Culture Documents
Sam Hwang
Sep 2009
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
Outline 1 of 2
• Overview
• Defined vs Adaptive Process
• Origins of Agile
• Scrum Process Diagram
• Scrum Team Roles
• Product Backlog
• Sprint Planning Meeting
• Sprint Tracking
Outline 2 of 2
• Sprint Planning Meeting Simulation
• Sprint Rules!
• Potentially Shippable
• Done (Again)
• Changes / Termination
• Sprint Length
• Stand-up
• Dysfunctional Standup Exercise
• Sprint Review
• Sprint Retrospective
A defined process
A defined
process
• Extreme Programming
• Kent Beck, Ward Cunningham, Ron Jeffries, 1999
• Others
• Lean
• Feature-Driven Development
The Agile Manifesto
• February 2001
• 17 advocates of “lightweight methodologies”
got together to see what they had in common
• Result was a manifesto of four value
statements
The Agile Manifesto
Individuals
Individuals and
and over Process
Process and
and tools
tools
interactions
interactions
Comprehensive
Comprehensive
Working
Working software
software over
documentation
documentation
Customer
Customer over Contract
Contract negotiation
negotiation
collaboration
collaboration
Responding
Responding to
to change
change over Following
Following aa plan
plan
Agile
Adapt Collaborate
Embrace change. Give up on Whole team thinking, owning
“managing” and “controlling” it and solving problems with the
customer.
Get Feedback Communicate
Show work early and often, Big visible charts, information
make it visible and get constant radiators, daily meetings.
customer involvement Regular planning sessions.
Deliver Value …Continuously
Work on highest value and Short timeboxed iterations.
riskiest features first. Release
frequently. Reduce waste.
This is NOT Agile
• Compress the schedule
• No documentation
• Hack code
• No design or planning
The organization may gain short term
speed at the cost of long term gain.
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
The Scrum Process
The Scrum Team
Scrum Master
Product Owner
The Stakeholders
Product Owner
• Product visionary
• Plan Deliver
• Prioritize Value
• Collaborate
Product Owner
• Defines the features of the product, decides
on release date and content
• Is responsible for the profitability of the
product (ROI)
• Prioritizes features according to market
value
• Can change features and priority in the
product backlog
• Accepts or rejects work results
• Communicates with the business
Scrum Master
Work
Sprint
Tasks Produce product
increment
The Team
• Cross-functional
• Self-Organizing
Stakeholders
• Prioritize Review
• Collaborate
• Serve
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
Product backlog
Ideal Time
Calendar Time
Ideal Time -or- Calendar Time
Ideal time
• The amount of time something is likely to take one
person if they aren’t disrupted or distracted
• If two people will work on it, their time is added
• Often expressed in days (including ½ day, etc.)
Calendar Time
• Just old-fashioned guessing at the hours or days
something will take
Estimating the Product Backlog
• Use coarse-grained estimates for the
Product Backlog
• Think: “Days” or “Weeks”
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
The Scrum Process
Victory Conditions
They’ve defined a clear goals for the sprint
They’ve come up with a task-driven plan for achieving it
They can make a commitment to completing that plan
Sprint Planning
Equipment
Sprint Planning
Sprint Planning
Sprint Planning
Sprint Planning
Sprint Planning
Sprint Planning
• Humane work
• Estimate: Requirement/Value
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
1,000
800
600
400
Tracking Progress
200
0
4/29
5/13
Tracking Progress
Description
In Task Tracking, the Builders provide incremental
information about their progress, which is then
converted into a global picture of how well the team
is progressing.
Victory Conditions:
They know whether or not they can fulfill their sprint
commitments
A sprint burndown chart
Hours
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
Sprints
Sprints
• High quality
• Tested
• “Done”
Potentially shippable ≠ shippable
The scope of “done”
Planning
!
Planning Extend the scope of
Analysis
Analysis “Done” as far as possible
Design
Design
Coding
Coding
Testing
Testing
Performance
Performance
User
User Acceptance
Acceptance
Pilot
Pilot
Live
Live
Defining “Done”
Pair with someone you don’t know.
Turn to each other and share short
answers to the following for 5 minutes:
1
What does ““Done”
Done” mean in your current project?
2
What issues do you see with this definition of done?
How would you address them?
3
What engineering problems do you see with this
approach?
How would you rectify them?
Sequential vs. overlapping
development
40
Large Batches
Cycle Time (hours)
35
Medium Batches
30 Small Batches
25
20
15
10
0
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Sprint 1 Sprint 2
• Promote regularity
• Establish a heartbeat
Intensity varies over time
Waterfall
Intensity
Scrum
Months
Sprints
1 Is there such a thing as an ““analysis
analysis sprint
sprint”” where
requirements are pulled together?
0
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
Tuesday
Wednesday
Thursday
Will this sprint finish on time?
Friday
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
Stand-Up
Stand-Up
The stand-up is..
• A 15 minute meeting
• A forum for team members to
answer
• What I did
• What I plan to do today
• What is blocking me
Why Stand-ups?
• Understand what is in play
• Increase Collaboration
Good Stand-ups:
• Allows for efficient collaboration
• Demonstrate respect
Sprint Review
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
Sprint Review
Description
In the Sprint Review, the team demos the completed
features (and other products of the sprint) to all
interested parties.
Victory Conditions
• Everyone understands where the product is and
what it can do at this point in time
• Valuable feedback is acquired from Stakeholders
• Everyone has fun
Sprint Review
Equipment
• A functional product that was finished at the end of
the sprint
• Demonstrable on a staging server
• Other work artifacts to demonstrate
Sprint Review
Players
• The Whole Team
• Developers, Testers, UED, etc
• Product Owner
• Any Stakeholder who is interested
Sprint Review
Rules
• Hold a 30 minute informal presentation
• Limit the prep time to 2 hours total
• Be careful not to do additional work just
for the review!
Course agenda
Today
• Overview of Agile and Scrum
• Roles on a Scrum Team
• Product Backlog
• Sprint Planning
• Sprint Tracking
• Rules of Scrum
• Stand-up
• Sprint Review
• Sprint Retrospective
Sprint Retrospective
Sprint Retrospective
Description
In the Sprint Retrospective, the Team takes
stock of what did and didn’t work during the
last sprint, and comes up with strategies to
improve their processes and development
methods.
Victory Conditions
Inspect & Adapt
Sprint Retrospective
Players
• Team Members
• Builders
• Product Owner
• No Other Stakeholders!
Sprint Retrospective
Rules
• Typically 30-60 minutes
• Done after every sprint
Sprint Retrospective
• Whole team gathers to discuss:
Progress
What ’s working
What’s
Improvements
Sprint Retrospective
Start
• Showing the software to customers early
• Specifying acceptance tests early and with
customers
• Doing code inspections
• Getting FitNesse into the nightly builds
• Trying to finish one story before moving to the
next
Stop
• Being disrespectful of QA
Continue
• Making progress with the canonical database
• Emphasizing test automation
Thank You!