agile programming live - agileprague2012

57
Shut up and produce…

Upload: johannes-brodwall

Post on 01-Dec-2014

385 views

Category:

Technology


2 download

DESCRIPTION

Agile Programming Lig

TRANSCRIPT

Page 1: Agile Programming Live - AgilePrague2012

Shut up and produce…

Page 2: Agile Programming Live - AgilePrague2012

Agile Programming Live

AgilePrague 2012Johannes Brodwall

Steria Norway

@jhannesFeaturing: Oleg Smirsky

Page 3: Agile Programming Live - AgilePrague2012

Goal• To have fun now!

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

(stretch goal)

Page 4: Agile Programming Live - AgilePrague2012

Agenda• What is «agile programming»

•What to look for•Demonstration

•Discussion•Possibly: Tips and tricks

Page 5: Agile Programming Live - AgilePrague2012

What is «agile programming»?

Page 6: Agile Programming Live - AgilePrague2012

Ping pong

Page 7: Agile Programming Live - AgilePrague2012

Ingredience #1:

Pair programming

Page 8: Agile Programming Live - AgilePrague2012
Page 9: Agile Programming Live - AgilePrague2012
Page 10: Agile Programming Live - AgilePrague2012

Ingredience #2:

Test driven development

Page 11: Agile Programming Live - AgilePrague2012

Failing test

Write code

Failing test

Write code

Failing test

Page 12: Agile Programming Live - AgilePrague2012

Ingredience #3:

Refactoring

Page 13: Agile Programming Live - AgilePrague2012

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 14: Agile Programming Live - AgilePrague2012

Put together

Page 15: Agile Programming Live - AgilePrague2012

Failing test

Write code

Failing test

Write code

Failing test

Page 16: Agile Programming Live - AgilePrague2012

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 17: Agile Programming Live - AgilePrague2012

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

• Faster or slower?• Better code or worse?

• Other effects?

Page 18: Agile Programming Live - AgilePrague2012

Demonstration

Page 19: Agile Programming Live - AgilePrague2012

What to watch for?

Page 20: Agile Programming Live - AgilePrague2012

If you’re a project manager

Page 21: Agile Programming Live - AgilePrague2012

If you’re an architect

Page 22: Agile Programming Live - AgilePrague2012

If you’re a developer

Page 23: Agile Programming Live - AgilePrague2012

If you’re neither

Page 24: Agile Programming Live - AgilePrague2012

Please:• Talk about what you see to the person

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

Page 25: Agile Programming Live - AgilePrague2012

Demonstration(Featuring Oleg Smirsky)

Page 26: Agile Programming Live - AgilePrague2012

Kata: Minesweeper

Page 27: Agile Programming Live - AgilePrague2012
Page 28: Agile Programming Live - AgilePrague2012
Page 29: Agile Programming Live - AgilePrague2012

What did you see?

Page 30: Agile Programming Live - AgilePrague2012

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 31: Agile Programming Live - AgilePrague2012

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

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

Page 32: Agile Programming Live - AgilePrague2012

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 33: Agile Programming Live - AgilePrague2012

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 34: Agile Programming Live - AgilePrague2012

Questions?

Your experience?

Page 35: Agile Programming Live - AgilePrague2012

Why become better at programming?

Page 36: Agile Programming Live - AgilePrague2012

Seriously. Why?

Page 37: Agile Programming Live - AgilePrague2012

Only 13.37% of effort

Page 38: Agile Programming Live - AgilePrague2012

Getting better quality

Page 39: Agile Programming Live - AgilePrague2012

Getting better qualityCorrectness

Maintainability

Page 40: Agile Programming Live - AgilePrague2012

But more importantly!

Page 41: Agile Programming Live - AgilePrague2012

Think better

Page 42: Agile Programming Live - AgilePrague2012

Think betterThink above the curly brackets

Page 43: Agile Programming Live - AgilePrague2012

How to get better

Page 44: Agile Programming Live - AgilePrague2012

Practice

Page 45: Agile Programming Live - AgilePrague2012

Deliberate Practice

Page 46: Agile Programming Live - AgilePrague2012

PracticePractice at work

Practice katas

Practice in dojos

Page 47: Agile Programming Live - AgilePrague2012

Prague Coding Dojo?

Page 48: Agile Programming Live - AgilePrague2012
Page 49: Agile Programming Live - AgilePrague2012
Page 50: Agile Programming Live - AgilePrague2012
Page 51: Agile Programming Live - AgilePrague2012
Page 52: Agile Programming Live - AgilePrague2012

Prague Coding Dojohttp://agileprague.com/workshops.htm

Page 53: Agile Programming Live - AgilePrague2012

You can still sign up

Page 54: Agile Programming Live - AgilePrague2012

Conclusion

Page 55: Agile Programming Live - AgilePrague2012

ConclusionFree your mind

Page 56: Agile Programming Live - AgilePrague2012

Free your mindPractice our art

Page 57: Agile Programming Live - AgilePrague2012

Thank [email protected]

http://johannesbrodwall.com

http://twitter.com/jhannes

http://twitter.com/OlegSmirsky