Você está na página 1de 50

CS8 Sdn Bhd

Asyraf Abdul Rahman


What we’re gonna cover today
 What is Agile (in this case, Xtreme Programming)
 Brief intro to agile for noobies
 On to the games!
 Retrospect and Review – what we learnt
What is Agile1
 Brief history
 The agile process flow
 Is Agile for you?
 Agile and Customer Development Engineering
History – Case study 1
 Nasa
 The Space Shuttle's
Operating System for the
shuttle
 High risk - cannot afford
to make mistakes
NASA’s Defect Density 1
 The last 11 versions of the 6

space shuttle’s 420,000 5

line system had a total of


17 defects 4

Defect
Density 3

(bugs/k
LoC)
2

Industry NASA
NASA’s Cost 1
6 900
$850.00
800
5
5

700

4 600

Defect 500

3
Density
$/LoC 400
(bugs/k
LoC)
2 300

200

100

0 $5.00
0 0

Industry NASA Industry NASA


History – Case Study 21
 Safeguard
 Ballistic Missile Defense
System
 1969-1975
 5407 person years
 Hardware designed
concurrently as software
specs being written
 Late changes in
requirements not an
option
Ballistic Missile Defense System1
 Results
 Project delivered according to specs
 Cost: $25 billion
 5407 person years
 Operational for 133 Days – Project terminated in 1978
 What happened?
 ‘By the time the 6-year anti-missile system project was
completed, the new missiles were faster than the anti-
missile missiles’
Why did this happen? 1
 Software Engineering and other heavy-weight
methodologies:
 Work in some instances, but
 There are high costs/waste
 High risk if used in dynamic environments
 Changing/unconfirmed requirements
 Changing technology
 Mass User Base (e.g. Public Users)
 Is Agile the alternative? DEPENDS
So where did Agile come from?
 The Auto Industry!
 The Chrysler Comprehensive Compensation System
 Kent Beck and Ward Cunningham
 The first time I was asked to lead a team, I asked them to do a
little bit of the things I thought were sensible, like testing and
reviews. The second time there was a lot more on the line. I
thought, "Damn the torpedoes, at least this will make a good
article," [and] asked the team to crank up all the knobs to 10
on the things I thought were essential and leave out
everything else.
 Based on the concept of removing waste
Agile vs waterfall1
So why Agile?
 Faster time to launch = faster profit, or ROI
 Save money!
 Flexible to change
 New requirements
 New technology & obsolescence
 Changing team dynamics
 Happier customers/bosses
The Agile Process Flow2
Go deeper…2
And deeper…2
And deepest  2
Versions of Agile1
 XP | Extreme Programming (Kent Beck)
 DSDM | Dynamic System Development Method (Dane
Faulkner)
 FDD | Feature Driven Development (Jeff DeLuca)
 SCRUM (Ken Schwaber)
 Crystal (Alistair Cockburn)
 Adaptive Software Development (Jim Highsmith)
 Lean Software Development (Mary Poppendieck)
Is Agile for my project?
 Depends
 Customer?
 Do they appreciate agile?
 Rigid timeline, requirements and cost?
 Bosses and colleagues?
 Are they supportive of agile?
 Do they tolerate mistakes well?
 Business
 Are you a startup developing a product?
 Are you working on a large project?
 Solution
 Is it a known solution? Or
 Are you swimming in uncharted territory?
Agile in Product Development 3
On to the Games!
 We will simulate the XP
Planning Game 
Estimate User
 We will measure and Plan Iterations
Stories
use Velocity
 Everyone gets to play
Customer and Developer Perform
Feedback
Implementation
 Don't worry...
implementation is fun!
Iteration
Customer writes
stories

Debriefing & Developers


retrospective estimate stories

Developers
Customer plans
implement,
iteration
Customer tests
Iteration (Cont)
 Split into groups of 5-6 people
 We will play 3 iterations
 Earn Business Value by implementing stories
 Team with highest Business Value wins
 Every Story is worth some Business Value...... but only if
Story is implemented fully
 Time is limited (180 seconds per iteration!)
User Story 4
Iteration 1, step 1 – Customer
Writes Stories
 No need to do anything for this game – all done

Customer
writes stories

Developers
Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1, step 2 – Developers
estimate stories
 Order all stories by effort
 NOTE: ASK ABOUT
THE ACCEPTANCE
CRITERIA!
User story 1
>
<
= User
Userstory
story432

Customer
writes stories

Developers
Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1, step 2 – Developers
estimate stories (cont) User story 1

 Easiest story is assigned 2


an effort of 2 - basis
 Estimate other stories User story 2
relative to each other 2
 If same effort – 2
 If less than double – 3 User story 3
 If double effort – 4 3
Customer
writes stories

Debriefing &
Developers
estimate
User story 4
retrospective
stories

4
Developer
Customer
implements,
plans iteration
Customer tests
Impossible stories
 If a story requires more than 3 times as much effort
than story with effort 2, then choose impossible
 Too big to estimate correctly
 Too big to implement quickly
 Needs to be broken up into smaller stories
 Why?
 Short stories are:
 Easier to estimate
 Gives more flexibility to implement
 Less risky to implement
Iteration 1, step 2 – Developers
estimate stories (cont)
 How many stories can we implement in 1 iteration?
 Can’t make an accurate estimate yet
 Guess!! (based on experience, maybe)
 For this game, use 12-15
 DONE! – head to customer table/area

Customer
writes stories

Developers
Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1, step 3 – Customers
choose and prioritize stories
 Order stories by business value/effort ratio
 E.g. – business value – 300 / 2 – effort = 150
 Select the stories to implement
 Complexity points must not be more than the no of points set
by ‘developer’ for first iteration
 But, ‘buy’ as much value as possible
 Choose the order of implementation
 Since it’s the 1st iteration, may not finish all stories, so which
do we want done first to maximize biz value?
 Highest biz value?
 Least/most effort? Customer
writes stories

 Best ratio?
Developers

 DONE! – head back to developer table/area!


Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1, step 4 – Developers
Implement Stories
 Only implementation time is measured.
 Time stops when
 A story is done. Acceptance test is carried out by
facilitator
 At 90 seconds for mid-iteration review
 At 180 seconds – time’s up!
 Implement only one story at a time
Customer
writes stories

Developers
Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1, step 4 – Developers
Implement Stories
 Half-time
 Developers re-estimate points for the iteration
 Example:
 Initial guess = 12
 Half-time stories completed = 5
 Estimated stories completed by end of iteration = 10
 Move to customer table – drop 2 points worth of stories.
 Move back to the developer table and continue implementing
 If you are ahead at half-time, then how?
Customer

 Note: If a story takes too much time, you may choose writes stories

to abandon it.
Developers
Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1, step 5 - Review
 Things gone Wrong / Right, Lessons Learnt, Next
Actions
 Re-estimate stories
 Sort the cards according to experienced complexity
 Give them a new 1-6 complexity estimate
 Why? Bcoz we’ll use them in iteration 2

Customer
writes stories

Developers
Debriefing &
estimate
retrospective
stories

Developer
Customer
implements,
plans iteration
Customer tests
Iteration 1 - Debrief
 Questions
 How did you estimate how long a task would take?
 How did you react when you noticed that 2 stories are
the same?
 Were the estimates the same for different teams?
 Real-life customers: how did you feel making the
estimates?
 Real-life devs: is estimating in real-life easier or more
difficult?
Project Velocity
 Calculate your teams velocity:
 VELOCITY = no. of story points / iteration
What’s our score?
Iteration 2
 Same as Iteration 1, but a few differences:
 Estimating
 New Scoring Rules
Iteration 2 – Estimating Stories
 Use Iteration 1’s experienced estimation
Iteration 1 Iteration 2

User story 1 = User story 1 User story 2

2 2 2

User story 2 =
< User story 4 User story 3
3 3
3.5
User story 3 >
4
Iteration 2 – New Scoring Rules
 If team is fast
 Unplanned stories that are implemented are only worth
half the business value
 If team is slow
 Half of the business value from planned stories that are
not implemented will be deducted
 Why?
 Marketing!
Iteration 2 – Ready? Go!
Iteration 2 - Debrief
 If you compare the first and second iteration, are there
any differences? How do you feel?
 How accurate was the iteration plan this time? How far
off were you?
 Did your velocity go up or down?
What’s our score?
Iteration 3 – Get ready
 No difference, same as iteration 2
Iteration 3 – Ready? Go!
Iteration 3 – last minute story
 Estimate the new story
 Move to customer table/area and replan iteration
 Note – only exchange stories if the new story brings
more business value
Last Minute Stories
 The last minute story shows how agile responds to
changes
 Increase business value while maintaining the same
amount of work.
And the winner is…
Game Debrief
 What do these things tell you about the performance
of your teams?
 Velocity
 Business value earned
 Did your a)estimates and b) velocity get more precise
as the game went on?
 Could you apply the planning game to your projects?
Why? Why not?
What this game doesn’t simulate
 Dependencies
 Full – team dynamics
 Implementation issues
References
1. Agile Overview, Balachander Swaminathan,
www.agileindia.org/agilecoimbatore07/presentations/A
gileOverview.pdf
2. Agile process diagrams, Don Wells,
www.extremeprogramming.org
3. Customer Development Engineering, Eric Ries Haas,
http://www.slideshare.net/guest472f47/2008-09-06-eric-
ries-haas-columbia-customer-development-engineering-
presentation
4. Agile Game, Vera Peeters (Tryx) and Pascal Van
Cauwenberghe (Nayima),
http://www.xp.be/xpgame.html
We hope you enjoyed the game!
 If you do, please help by promoting it
 Tweet,
 Blog,
 Facebook
 Slides and pictures will be posted on our company
blog: http://www.consoci8.com
 asyraf.rahman@consoci8.com

Você também pode gostar