agile (xp) games

Post on 18-Nov-2014

445 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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 study1

Nasa

The Space Shuttle's Operating System for the shuttle

High risk - cannot afford to make mistakes

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)

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

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 Development3

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

IterationCustomer writes

stories

Developers estimate stories

Customer plans iteration

Developers implement,

Customer tests

Debriefing & retrospective

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 Story4

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

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

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

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

Customer plans iteration

Developer implements,

Customer tests

Debriefing & retrospective

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

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

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

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

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

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

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

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

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

top related