Extreme Programming Live

54
Extreme Programming Live JavaZone 2012 Johannes Brodwall Steria Norway @jhannes Featuring: Per Eystein Sæbø

description

Extreme Programming Live. JavaZone 2012 Johannes Brodwall Steria Norway @ jhannes. Featuring : Per Eystein Sæbø. Goal To have fun now ! For you to have fun now ! For you to have fun later (stretch goal). Agenda What is «agile programming » What to look for - PowerPoint PPT Presentation

Transcript of Extreme Programming Live

Page 1: Extreme Programming  Live

Extreme Programming Live

JavaZone 2012Johannes Brodwall

Steria Norway

@jhannesFeaturing: Per Eystein Sæbø

Page 2: Extreme Programming  Live

Goal• To have fun now!

• For you to have fun now!• For you to have fun later

(stretch goal)

Page 3: Extreme Programming  Live

Agenda• What is «agile programming»

•What to look for•Demonstration

•Discussion•Possibly: Tips and tricks

Page 4: Extreme Programming  Live

What is «agile programming»?

Page 5: Extreme Programming  Live

Ping pong

Page 6: Extreme Programming  Live

Ingredience #1:Pair programming

Page 7: Extreme Programming  Live
Page 8: Extreme Programming  Live
Page 9: Extreme Programming  Live

Ingredience #2:Test driven

development

Page 10: Extreme Programming  Live

Failing test

Write code

Failing test

Write code

Failing test

Page 11: Extreme Programming  Live

Ingredience #3:Refactoring

Page 12: Extreme Programming  Live

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 13: Extreme Programming  Live

Put together

Page 14: Extreme Programming  Live

Failing test

Write code

Failing test

Write code

Failing test

Page 15: Extreme Programming  Live

Failing test

Write code

Failing testWrite code

Failing test

Refactor code and tests

Refactor code and tests

Page 16: Extreme Programming  Live

What do you think?• Do you work like this?

• Faster or slower?• Better code or worse?

• Other effects?

Page 17: Extreme Programming  Live

Demonstration

Page 18: Extreme Programming  Live

What to watch for?

Page 19: Extreme Programming  Live

If you’re a project manager

Page 20: Extreme Programming  Live

If you’re an architect

Page 21: Extreme Programming  Live

If you’re a developer

Page 22: Extreme Programming  Live

If you’re neither

Page 23: Extreme Programming  Live

Please:• Talk about what you see to the person

next to you (whisper)•Tweet to @jhannes and @OlegSmirsky

Page 24: Extreme Programming  Live

Demonstration(Featuring Per Eystein Sæbø)

Page 25: Extreme Programming  Live

Kata: Minesweeper

Page 26: Extreme Programming  Live
Page 27: Extreme Programming  Live
Page 28: Extreme Programming  Live

What did you see?

Page 29: Extreme Programming  Live

What did you see?• How often did we switch ”driver”?

• Effects of pairing?• What did the ”non-driver” do?

•How do you expect it to be different?

Page 30: Extreme Programming  Live

What do you think?•Pairing two seniors?•Pairing two juniors?

• Pairing senior and talent?• Pairing senior and junior?

Page 31: Extreme Programming  Live

What did you see?• How many tests?

•Was the step size right?• What was the first test?

• How did we decide next test?• What was the final test?

Page 32: Extreme Programming  Live

What did you see?•Did we refactor the right amount?

• How long was the code red?• Strengths in final design

•Weaknesses in final design•Enough comments?

Page 33: Extreme Programming  Live

Questions?Your experience?

Page 34: Extreme Programming  Live

Why become better at programming?

Page 35: Extreme Programming  Live

Seriously. Why?

Page 36: Extreme Programming  Live

Only 13.37% of effort

Page 37: Extreme Programming  Live

Getting better quality

Page 38: Extreme Programming  Live

Getting better qualityCorrectness

Maintainability

Page 39: Extreme Programming  Live

But more importantly!

Page 40: Extreme Programming  Live

Think better

Page 41: Extreme Programming  Live

Think betterThink above the curly brackets

Page 42: Extreme Programming  Live

How to get better

Page 43: Extreme Programming  Live

Practice

Page 44: Extreme Programming  Live

Deliberate Practice

Page 45: Extreme Programming  Live

PracticePractice at work

Practice katasPractice in dojos

Page 46: Extreme Programming  Live

Oslo Coding Dojo

Page 47: Extreme Programming  Live
Page 48: Extreme Programming  Live
Page 49: Extreme Programming  Live
Page 50: Extreme Programming  Live
Page 51: Extreme Programming  Live

Conclusion

Page 52: Extreme Programming  Live

ConclusionFree your mind

Page 53: Extreme Programming  Live

Free your mindPractice our art

Page 54: Extreme Programming  Live

Thank [email protected]

http://johannesbrodwall.comhttp://twitter.com/jhannes

Johannes Brodwall

Per Eystein Sæbø