Agile Software
Development
Campus Party 2009
with
SCRUM
Friday, January 30, 2009
ANTONIO CARLOS SILVEIRASenior Software Development Manager
Yahoo!
Blog: http://www.acarlos.com.br/blog/
Twitter: acarlos1000
e-mail: [email protected]
Friday, January 30, 2009
Origins and principles
Roles
Meetings
Artifacts
AGENDA
1
2
3
4
Friday, January 30, 2009
1
Friday, January 30, 2009
Origins and Principles
Friday, January 30, 2009
Conventional Process
Waterfall
Fonte: ROYCE 1970
Friday, January 30, 2009
Friday, January 30, 2009
Different reality
Different business needs and
dynamics
Friday, January 30, 2009
Waterfall
Friday, January 30, 2009
Continuous Improvement
There is nothing new here
Friday, January 30, 2009
The pioneers
Taylor Ford Sloan Deming Nonaka TakeuchiOhno
Friday, January 30, 2009
The Agilists
Jeff
Sutherland
Ken
Schwaber
Mike
Cohn
Alistair
Cockburn
Martin
Fowler
Ron
JeffriesKent Beck
Friday, January 30, 2009
Agile Manifesto
Process and toolsIndividuals and interactions
over
Following a planResponding to change over
Comprehensive documentation
Working software over
Contract negotiationCustomer collaboration over
Source: www.agilemanifesto.org
Agile Manifesto
Friday, January 30, 2009
! Extreme Programming (XP)
! Crystal Clear
! Adaptive Software Development (ASD)
! Scrum
! Feature Driven Development (FDD)
! Dynamic Systems Dev Method (DSDM)
Agile Methodologies
Friday, January 30, 2009
Friday, January 30, 2009
"Microsoft
"Yahoo
"Electronic Arts
"Lockheed Martin
"Philips
"Siemens
"Nokia
"BBC
"Nielsen Media
"SalesForce.com
"Oracle
"Time Warner
"Turner Broadcasting
"Toyota
"BMC Software
"CapitalOne
" Abril (Brazil)
"Globo (Brazil)
"UOL (Brazil)
SCRUM Who uses it?
Friday, January 30, 2009
Delivery Focus
Transparency
Short and fixed cycles (15 days)
Total Quality
Team Work
Constant Communication
Commitment
Self organization
Reveal the problems
Friday, January 30, 2009
Self-organizing teams
Enhanced Communication
Commitment
Product progresses in a series of 15 days “sprints”
Requirements and needs go to the “product backlog”
Working software always as the delivery
Trust and Transparency
Fast adaptation
Time box
Reveal the Problems
Key Characteristics
Friday, January 30, 2009
Balance towards adaptation
Adaptation
Anticipation
Traditional
Friday, January 30, 2009
Balance towards adaptation
Adaptation
AnticipationSCRUM
Friday, January 30, 2009
In the end its all about...
Friday, January 30, 2009
Clear Understanding
Clear Communication
Friday, January 30, 2009
Friday, January 30, 2009
AND ...
Friday, January 30, 2009
- - Updated: Jan 30, 2009Falando em Agile 2008
Trust
Friday, January 30, 2009
- - Updated: Jan 30, 2009Falando em Agile 2008
Trust
Friday, January 30, 2009
Origin and principles1
Friday, January 30, 2009
2
Friday, January 30, 2009
Roles
Friday, January 30, 2009
The Boss
Friday, January 30, 2009
The Boss
Friday, January 30, 2009
with ScrumThe focus is on Team Work
Friday, January 30, 2009
ScrumMaster
http://www.flickr.com/photos/digital_stability/61466858/
O Time
http://www.flickr.com/photos/roger_g1/317671375/
http
://ww
w.flick
r.com
/photo
s/toech
sner/2
864422157/
Product OwnerRoles
Friday, January 30, 2009
The Product Owner
Friday, January 30, 2009
Product owner
Define the features for the product
Decide on release dates and its contents
Responsible for the ROI, audience, etc.
Prioritize features according to market and strategic value
Interact with stakeholders and customers to define the
Product backlog
Adjust!features and prioritize every sprint, as needed!
Accept or reject work results during the Sprint Review
Friday, January 30, 2009
ScrumMaster
Friday, January 30, 2009
Protect values and principles
Removes impediments
Keep the team fully functional and productive
Enable cooperation
Shield the team from “dark forces”
Facilitates integration
He does NOT allocate tasks
Friday, January 30, 2009
The Team
Friday, January 30, 2009
The team
Typically 5-9 people
Cross-functional:
Programmers, testers, UED, etc.
Full-time allocated
Self-organized
Responsible for the quality
Estimates the complexity
Friday, January 30, 2009
Pigs X Chickens
Friday, January 30, 2009
Origem e princípios1
Roles2
Friday, January 30, 2009
3
Friday, January 30, 2009
Meetings
Friday, January 30, 2009
Scrum Flow
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrums
Meetings
Friday, January 30, 2009
Scrum Flow SCRUM Flow
Friday, January 30, 2009
Scrum Meetings
Time
Friday, January 30, 2009
1
2
Sprint Planning
What are we going to build?
How are going to build it?
Friday, January 30, 2009
PO explains the scope
Team estimates the complexity
Team chooses the Sprint backlog
Team writes the tasks for each story
A
B
C
Sprint Planning
D
Time Boxed
max 4h
Friday, January 30, 2009
PO
Friday, January 30, 2009
Friday, January 30, 2009
Better communication
To avoid things like this...
Friday, January 30, 2009
Friday, January 30, 2009
Sprint Review
Team demo what was accomplished during the sprint
Each developer demo a story
Informal, no slides
Whole team participates
Anyone is invited to participate (but only Pigs can talk)
Time Boxed
max 2h
Friday, January 30, 2009
Friday, January 30, 2009
Friday, January 30, 2009
Sprint Retrospectiva
What was cool?
What can we improve?
What the team can solve?
What the company needs to solve?
Only for PO, SM and TeamTime
Boxedmax 2h
Friday, January 30, 2009
What I did since the last meeting?
What I will do until the next meeting?
Any impediments?
1
2
3
Daily Scrum
Friday, January 30, 2009
Friday, January 30, 2009
Friday, January 30, 2009
1
Meetings3
Roles2
Origins and principles
Friday, January 30, 2009
4
Friday, January 30, 2009
Artifacts
Friday, January 30, 2009
http
://w
ww
.flic
kr.
com
/photo
s/a
ero
r/2312354037//74150717/Product Backlog
Friday, January 30, 2009
Sprint Backlog
The product requirements
Everything (ideas, features, epics)
Expressed in User Stories
PO keeps it organized
Always prioritized and estimated
Friday, January 30, 2009
A sample product backlog
Backlog item Estimate
Allow a guest to make a reservation 3
As a guest, I want to cancel a reservation. 5
As a guest, I want to change the dates of a reservation.
3
As a hotel employee, I can run RevPAR reports (revenue-per-available-room)
8
Improve exception handling 8
... 30
... 50
Friday, January 30, 2009
I as a<client>
want <feature>
because <ROI>
User Story
Friday, January 30, 2009
Acceptance Criteria
User Story
Friday, January 30, 2009
Barry Boehm
Uncertainty Cone
Friday, January 30, 2009
Uncertainty Cone
Friday, January 30, 2009
Uncertainty Cone
Friday, January 30, 2009
PB Iceberg
Friday, January 30, 2009
PB Iceberg Web 2.0r
Friday, January 30, 2009
http
://w
ww
.flic
kr.
com
/photo
s/a
ero
r/2312354037//74150717/Sprint Backlog
http://www.flickr.com/photos/x180/469281131/
Friday, January 30, 2009
Sprint Backlog
User Stories selected by the Team
Will be built in next 15 days
Fully Estimated
Divided in daily tasks
Friday, January 30, 2009
No changes during the Sprint
Friday, January 30, 2009
DONEDefinition of
Friday, January 30, 2009
DONE! “DONE” or “NOT DONE”
! Avoids de 90% Syndrome
! Code produced, commented,
checked in and run against current
version in source control and meeting
development standards
! Peer reviewed (or produced with pair
programming)
! Builds without errors (CI)
Friday, January 30, 2009
DONE! Unit tests written and passing (TDD)
! Deployed to system test environment and
passed system tests
! Passed UAT (User Acceptance Testing)
(Selenium)
! Any build/deployment/configuration changes
implemented/documented/communicated
! Relevant documentation/diagrams produced
and/or updated
! Paranoid Compliant
Friday, January 30, 2009
0
20
40
60
80
1004/2
9/0
8
5/6
/08
5/1
3/0
8
5/2
0/0
8
5/2
4/0
8
com
ple
xit
y p
oin
tsBurndown Chart
Friday, January 30, 2009
A sprint burn up chart
0
19.5
39.0
58.5
78.0
97.5
117.04/2
9/0
8
5/6
/08
5/1
3/0
8
5/2
0/0
8
5/2
4/0
8
Num
ber
of
task
s
100
Burn up Chart
Friday, January 30, 2009
Friday, January 30, 2009
Friday, January 30, 2009
1
Roles2
Origins and Principles
Artifacts4
Meetings3
Friday, January 30, 2009
Books
Friday, January 30, 2009
Reading List Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
Agile Project Management with Scrum by Ken Schwaber
Lean software development by Mary Poppendieck
Agile and Iterative Development: A Manager’s Guide by Craig Larman
Agile Estimating and Planning by Mike Cohn
Agile Retrospectives by Esther Derby and Diana Larsen
Scrum and The Enterprise by Ken Schwaber
Practices of an Agile Developer by Venkat Subramaniam and Andy Hunt
Test Driven Development: By Example by Kent Back
Getting Real by 37Signals
Friday, January 30, 2009
QuestionsFriday, January 30, 2009
Thank you
Blog: http://www.acarlos.com.br/blog/
Twitter: acarlos1000
e-mail: [email protected]
Friday, January 30, 2009