agile (xp) games

50
CS8 Sdn Bhd Asyraf Abdul Rahman

Upload: asyraf

Post on 18-Nov-2014

444 views

Category:

Documents


2 download

DESCRIPTION

Our slides for the Extreme Programming Game developed by Trix and Nayima

TRANSCRIPT

Page 1: Agile (XP) Games

CS8 Sdn Bhd

Asyraf Abdul Rahman

Page 2: Agile (XP) Games

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

Page 3: Agile (XP) Games

What is Agile1

Brief history

The agile process flow

Is Agile for you?

Agile and Customer Development Engineering

Page 4: Agile (XP) Games

History – Case study1

Nasa

The Space Shuttle's Operating System for the shuttle

High risk - cannot afford to make mistakes

Page 5: Agile (XP) Games

NASA’s Defect Density1

The last 11 versions of the space shuttle’s 420,000 line system had a total of 17 defects

Industry NASA0

1

2

3

4

5

6

Defect Density (bugs/kLoC)

Page 6: Agile (XP) Games

NASA’s Cost1

Industry NASA0

1

2

3

4

5

6

5

0

Defect Density (bugs/kLoC)

Industry NASA0

100

200

300

400

500

600

700

800

900

$5.00

$850.00

$/LoC

Page 7: Agile (XP) Games

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

Page 8: Agile (XP) Games

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’

Page 9: Agile (XP) Games

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

Page 10: Agile (XP) Games

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

Page 11: Agile (XP) Games

Agile vs waterfall1

Page 12: Agile (XP) Games

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

Page 13: Agile (XP) Games

The Agile Process Flow2

Page 14: Agile (XP) Games

Go deeper…2

Page 15: Agile (XP) Games

And deeper…2

Page 16: Agile (XP) Games

And deepest 2

Page 17: Agile (XP) Games

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)

Page 18: Agile (XP) Games

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?

Page 19: Agile (XP) Games

Agile in Product Development3

Page 20: Agile (XP) Games

On to the Games! We will simulate the XP

Planning Game

We will measure and use Velocity

Everyone gets to play Customer and Developer

Don't worry... implementation is fun!

Estimate User Stories

Plan Iterations

Perform Implementation

Feedback

Page 21: Agile (XP) Games

IterationCustomer writes

stories

Developers estimate stories

Customer plans iteration

Developers implement,

Customer tests

Debriefing & retrospective

Page 22: Agile (XP) Games

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!)

Page 23: Agile (XP) Games

User Story4

Page 24: Agile (XP) Games

Iteration 1, step 1 – Customer Writes Stories No need to do anything for this game – all done

Customer writes stories

Developers estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 25: Agile (XP) Games

Iteration 1, step 2 – Developers estimate stories Order all stories by effort

NOTE: ASK ABOUT THE ACCEPTANCE CRITERIA!

User story 1 User story 2> User story 3< User story 4=

Customer writes stories

Developers estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 26: Agile (XP) Games

Iteration 1, step 2 – Developers estimate stories (cont) Easiest story is assigned

an effort of 2 - basis

Estimate other stories relative to each other

If same effort – 2

If less than double – 3

If double effort – 4

User story 1

User story 2

User story 3

User story 4

2

2

3

4

Customer writes stories

Developers estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 27: Agile (XP) Games

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

Page 28: Agile (XP) Games

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 estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 29: Agile (XP) Games

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? Best ratio?

DONE! – head back to developer table/area!

Customer writes stories

Developers estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 30: Agile (XP) Games

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 estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 31: Agile (XP) Games

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?

Note: If a story takes too much time, you may choose to abandon it.

Customer writes stories

Developers estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 32: Agile (XP) Games

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 estimate stories

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

Page 33: Agile (XP) Games

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?

Page 34: Agile (XP) Games

Project Velocity Calculate your teams velocity:

VELOCITY = no. of story points / iteration

Page 35: Agile (XP) Games

What’s our score?

Page 36: Agile (XP) Games

Iteration 2 Same as Iteration 1, but a few differences:

Estimating

New Scoring Rules

Page 37: Agile (XP) Games

Iteration 2 – Estimating Stories Use Iteration 1’s experienced estimation

User story 1

User story 2

User story 3

Iteration 1

User story 1 User story 2

User story 3

Iteration 2

=

= User story 4<

>

2

3

4

2 2

3

3.5

Page 38: Agile (XP) Games

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!

Page 39: Agile (XP) Games

Iteration 2 – Ready? Go!

Page 40: Agile (XP) Games

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?

Page 41: Agile (XP) Games

What’s our score?

Page 42: Agile (XP) Games

Iteration 3 – Get ready No difference, same as iteration 2

Page 43: Agile (XP) Games

Iteration 3 – Ready? Go!

Page 44: Agile (XP) Games

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

Page 45: Agile (XP) Games

Last Minute Stories The last minute story shows how agile responds to

changes

Increase business value while maintaining the same amount of work.

Page 46: Agile (XP) Games

And the winner is…

Page 47: Agile (XP) Games

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?

Page 48: Agile (XP) Games

What this game doesn’t simulate Dependencies

Full – team dynamics

Implementation issues

Page 49: Agile (XP) Games

References1. Agile Overview, Balachander Swaminathan,

www.agileindia.org/agilecoimbatore07/presentations/AgileOverview.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

Page 50: Agile (XP) Games

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

[email protected]