agile-planning
DESCRIPTION
Presentation done at the Wpg Agile User GroupTRANSCRIPT
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
AMIR BARYLKO
AGILE PLANNING
AGILE USER GROUPAPRIL 2011
1Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
WHO AM I?
•Quality Expert
• Architect
•Developer
•Mentor
• Great cook
• The one who’s entertaining you for the next hour!
2Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
RESOURCES
• Email: [email protected]
• Twitter : @abarylko
• Blog: http://www.orthocoders.com
•Materials: http://www.orthocoders.com/presentations
3Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
INTROWhy projects fail?
Reality CheckThe agile manifesto
Agile Principles
4Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
WHY PROJECTS FAIL?
•Delivering late or over budget
•Delivering the wrong thing
•Unstable in production
•Costly to maintain
5Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
REALITY CHECK
• It is impossible to gather all the requirements at the beginning of a project.
•Whatever requirements you do gather are guaranteed to change.
•There will always be more to do than time and money will allow.
6Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
AGILE MANIFESTO(HTTP://AGILEMANIFESTO.ORG/
Individuals and interactions OVER Process and Tools
Customer collaboration OVER Contract negotiation
Working software OVERComprehensive documentation
Responding to change OVER Following a plan
7Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
AGILE PRINCIPLES
•Continuous Delivery
•Embrace Change
•Self-organize
•Self-sustained
•Business and developers collaboration
•Team ownership
8Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
FEASIBILITYHigh Level Estimates
Risks
9Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
HIGH LEVEL ESTIMATE(ONLY A GOOD GUESS)
10x
2x
Time
(The Agile Samurai)
2 weeks
6 weeks
12 weeks
24 weeks
10Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
RISKS
• Low involvement from the client
•Developers may leave
•No QA team
• ...
11Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
REQUIREMENTSUser Stories
SizePlanning Poker
12Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
USER STORIES
•Short description of a “feature”
•Avoid technical mumbo-jumbo
•Focus on goals no “how-to”
•Should fit in a card
13Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
ADD MOVIES
As a User
I want to add a movie
So I can register the details
14Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
SIZE
•Measured in “story points”
•Based on complexity
•Size stories relative to each other
•Relativity is more important that accuracy
•Wait, how do I translate to hours/days?
15Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
PLANNING POKER
•The Customer reads a story
•The team asks questions
•At the same time, each member shows a card
•Discuss until reach consensus
16Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
DEMO(VOLUNTEERS?)
•Add a movie
•Get reviews
•Sort movies by title
17Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
WHERE’S THE PLAN?Back to reality
18Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
STATIC PLAN
•Team changes
•Requirements change
•Low quality increases development time
•What can we do?
19Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
AGILE PLAN
•Know your backlog of stories
•Use iterations (one to two weeks)
•Estimate velocity (how many points per iteration)
•Update estimations
20Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
PLAN UPDATE
•How many iterations?
effort / team velocity
21Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
EXAMPLE
• Iteration 1: 15 points
• Iteration 2: 20 points
• Iteration 3: 18 points
• Iteration 4: 22 points
Velocity (avg): 19 points
How many iterations? 190 points / 19 points per iteration = 10 iterations
22Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
HOW TO START?
•Create your user story backlog
• Add a movie
• Search movies by title
• Get reviews
• Get posters
• List movies by date and title
23Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
HOW TO START? II
• Let the customer choose a release (grouping)
• Sort them by priority
Release 2Get reviews
List movies by date and title
Release 1Add a movie
Search movies by title
Get posters
24Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
HOW TO START III
• Size the stories
• Add a movie: 5 points
• Search movies by title: 2 points
• Get reviews: 5 points
• Get posters: 5 points
• List movies by date and title: 1 point
25Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
HOW TO START IV
•Have a good guess
•Best case?
•Worst case?
•Start working on iterations
•Estimation after 4th iteration should be stable
26Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
ITERATIONSIteration 0 .. N
Quality as a Driver Visual Communication
MetricsManage Scope
27Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
ITERATION 0
• Flush out architecture.
• Setup Testing harness for TDD and BDD.
• Setup continuous integration.
• Setup scripts to build, deploy, etc.
• Setup visual communication tools.
28Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
ITERATION 1.. N
• Start by Story Planning
• Pair programming (switching often)
•Daily Scrum
• End with Retrospective
Every day!
29Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
QUALITY AS A DRIVERRed
GreenRefactor
BDD
TDD
Red
GreenRefactor
30Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
VISUAL COMMUNICATION
31Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
METRICS
32Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
BURN DOWN CHART(REMAINING POINTS PER ITERATION)
• Axis X = iterations
• Axis Y = remaining points to completion
0
25
50
75
100
It 0 It 1 It 2 It 3 It 4 It 5 It 6 it 7
Burdown Chart
33Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
MANAGE SCOPE
•Budget
•Time
•Quality
•Scope34Tuesday, April 5, 2011
Amir Barylko - .NET UG Mar ‘11 MavenThought Inc.
QUESTIONS?
35Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
RESOURCES
• Email: [email protected]
• Twitter : @abarylko
• Slides: http://www.orthocoders.com/presentations
36Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
RESOURCES II
37Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
RESOURCES III
38Tuesday, April 5, 2011
Amir Barylko - Agile User Group Apr ‘11 MavenThought Inc.
TDD TRAINING
•When: May 26 & 27
•More info: http://www.maventhought.com
• Goal: Learn TDD with real hands on examples
39Tuesday, April 5, 2011