Agile Demystified

45
© AgiliX Agile Development Consulting Agile Demystified Cesario Ramos

description

Agile Demystified. Cesario Ramos. The idea behind the Agile Manifesto Why do we do these things? What about engineering principles?. Respond To Change. Promise the business Respond to change To stop whining Skills Technologies Process Soft enough!. - PowerPoint PPT Presentation

Transcript of Agile Demystified

Page 1: Agile Demystified

© AgiliX Agile Development Consulting

Agile Demystified

Cesario Ramos

Page 2: Agile Demystified

© AgiliX Agile Development Consulting

Page 3: Agile Demystified

© AgiliX Agile Development Consulting

• The idea behind the Agile Manifesto

• Why do we do these things?• What about engineering principles?

Page 4: Agile Demystified

© AgiliX Agile Development Consulting

Page 5: Agile Demystified

© AgiliX Agile Development Consulting

Page 6: Agile Demystified

© AgiliX Agile Development Consulting

Respond To Change

Page 7: Agile Demystified

© AgiliX Agile Development Consulting

• Promise the business– Respond to change – To stop whining

– Skills– Technologies– Process– Soft enough!

Page 8: Agile Demystified

© AgiliX Agile Development Consulting

Page 9: Agile Demystified

© AgiliX Agile Development Consulting

At the start they say ‘it will take us 10 months’

Page 10: Agile Demystified

© AgiliX Agile Development Consulting

Then they disappear from view!

doing something, not clear what…

then pop up after 8 months and say there might be some delay!!!

Page 11: Agile Demystified

© AgiliX Agile Development Consulting

Page 12: Agile Demystified

© AgiliX Agile Development Consulting

One month before the deadline they pop up again….

and ‘we need 3 more months to finish’

Page 13: Agile Demystified

© AgiliX Agile Development Consulting

Page 14: Agile Demystified

© AgiliX Agile Development Consulting

So finally in month 13 the testing can begin

Plan shows it should be finished in a month!

…but issues are discovered

Page 15: Agile Demystified

© AgiliX Agile Development Consulting

Promises of Working software are not enough

Page 16: Agile Demystified

© AgiliX Agile Development Consulting

Working software means…

• The business gets working software every month!– Could be put into actual use – It has real value, could be validated on

customers.– Proves that there is actual progress

Page 17: Agile Demystified

© AgiliX Agile Development Consulting

• IT no longer asking for trust but provides evidence.

• Goes on month after month after month– stops when the business decides there

is enough value added!

Page 18: Agile Demystified

© AgiliX Agile Development Consulting

Scrum

In order to do this the business has to do some things in return

Page 19: Agile Demystified

© AgiliX Agile Development Consulting

OFTEN Face to Face feedback!!

Page 20: Agile Demystified

© AgiliX Agile Development Consulting

Do NOT ‘HELP’ IT by telling how to do things…

Page 21: Agile Demystified

© AgiliX Agile Development Consulting

• The idea behind the Agile Manifesto• Why do we do these things?• What about engineering principles?

Page 22: Agile Demystified

© AgiliX Agile Development ConsultingDesignator | author | April 06, 2009 |

Production vs. Product development

What are characteristics of production and product development?

What does it mean for the approach?

Page 23: Agile Demystified

© AgiliX Agile Development Consulting

• Origins in Lean manufacturing since 1950’s

• High quality, high productivity and low cost

• Highly successful

Page 24: Agile Demystified

© AgiliX Agile Development Consulting

The New New Product Development Game

• Hirotaka Takeuchi • Ikujiro Nonaka

Harvard Business Review, 1986.

Page 25: Agile Demystified

© AgiliX Agile Development Consulting

Page 26: Agile Demystified

© AgiliX Agile Development Consulting

Complex Adaptive System

A Complex Adaptive System (CAS) is a dynamic network of many agents acting in parallel, constantly acting and reacting to what the other agents are doing.

The control of a CAS tends to be highly dispersed and decentralized.

John H. Holland

Page 27: Agile Demystified

© AgiliX Agile Development Consulting

Lean concepts

Page 28: Agile Demystified

© AgiliX Agile Development Consulting

VALUE STREAM

FLOW

VALUE

PULLPERFECTION

Page 29: Agile Demystified

© AgiliX Agile Development Consulting

Overproduction

Delay

Hand-offs Task Switching

Defects

InventoryRelearning

Page 30: Agile Demystified

© AgiliX Agile Development Consulting

How can we eliminate it?

• Partially done work

– Divide work into small batches

– Limit WIP

• Extra Features

– Do NOT construct a signed list of everything upfront

• Hand Offs

– Face-to-face communication, cross functional teams

• Delays

– Cross functional teams, regular and short feedback cycles

• Defects

– Inspect to prevent defects, move testing to the front

Page 31: Agile Demystified

© AgiliX Agile Development Consulting

Some evidence for agility

Page 32: Agile Demystified

© AgiliX Agile Development Consulting

Overproduction of features

Jim Johnson. The Standish Group International Inc. 2002

Page 33: Agile Demystified

© AgiliX Agile Development Consulting

Origins of defects

Others7%

Logic/Design28%

Requirements Errors41%

Documentation2%

Environment5%

Data6%

Interface6%

Human 5%

Tom Gilb. 2002

Page 34: Agile Demystified

© AgiliX Agile Development Consulting

What can we do about it?

Page 35: Agile Demystified

© AgiliX Agile Development Consulting

Prioritized, refined and written down in collaboration between business and development

Page 36: Agile Demystified

© AgiliX Agile Development Consulting

Could be good enough to gain 80% of the benefits

Page 37: Agile Demystified

© AgiliX Agile Development Consulting

Implemented and accepted throughout the project

Page 38: Agile Demystified

© AgiliX Agile Development Consulting

• The idea behind the Agile Manifesto• Why do we do these things?• What about engineering

principles?

Page 39: Agile Demystified

© AgiliX Agile Development Consulting

[en.wiktionary.org]

• Any apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem.

– I was doing a bit of yak shaving this morning, and it looks like it might have paid off.• The actually useless activity you do that appears important when you are consciously or

unconsciously procrastinating about a larger problem. – I thought I'd get more work done if I just fixed a problem with my .emacs file, but then I

spent the whole afternoon yak shaving.

Page 40: Agile Demystified

© AgiliX Agile Development Consulting

Verification

• STOP discussing things with minimal facts….

• Kent Beck: No discussion should take longer than 30 minutes without writing/looking at some code to verify stuff.

Programmers + Code >

Programmers + Time

Page 41: Agile Demystified

© AgiliX Agile Development Consulting

Continuously improving the

feedback speed!

Page 42: Agile Demystified

© AgiliX Agile Development Consulting

Fast Feedback

• Getting the architecture right first…. Then we can add feature by feature easily right…?

Hmmm… what if when implementing the first feature it proves that the infrastructure is wrong?

• We build a couple of features and then refactor ending up with the architecture.– Generalize to remove duplication– Building exactly and only what is needed!!!

Page 43: Agile Demystified

© AgiliX Agile Development Consulting

Fast Feedback

• Automatic Tests – Let the computer provide us feedback

• Peer Reviews– Let your peer provide you with feedback– Spread knowledge

• Take the first bullet– Refactor to the Open Closed

Page 44: Agile Demystified

© AgiliX Agile Development Consulting

?

Page 45: Agile Demystified

© AgiliX Agile Development Consulting

Agile Demystified

Cesario Ramos