52
Experience Agile Programming SDC 2012, Göteborg Johannes Brodwall Steria Norway @jhannes Featuring: Ole Chr Rynning

Experience Agile Programming SDC 2012, Göteborg Johannes Brodwall Steria Norway @jhannes Featuring: Ole Chr Rynning

Embed Size (px)

Citation preview

Experience Agile Programming

SDC 2012, GöteborgJohannes Brodwall

Steria Norway

@jhannesFeaturing: Ole Chr Rynning

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•Demonstration

•Discussion•Possibly: Tips and tricks

What is «agile programming»?

Ping pong

Ingredience #1:

Pair programming

Ingredience #2:

Test driven development

Failing test

Write code

Failing test

Write code

Failing test

Ingredience #3:

Refactoring

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Put together

Failing test

Write code

Failing test

Write code

Failing test

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

What effect do you expect?• On time• On cost

• On quality• On work environment

Demonstration

What to watch for?

If you’re a project manager

If you’re an architect

If you’re a developer

If you’re neither

Please:• Talk about what you see to the person

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

Demonstration(Featuring OC Rynning)

Kata: Minesweeper

What did you see?

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?

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

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

What did you see?• Was the step size right?• What was the first test?

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

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?

How to practice

PracticePractice at work

Practice katas

Practice in dojos

Why become better at programming?

Seriously. Why?

Only 13.37% of effort

Getting better quality

Getting better qualityCorrectness

Maintainability

But more importantly!

Think better

Think betterRaise your level of abstraction

Gothenburg Coding Dojo?

Gothenburg Coding Dojo

http://www.meetup.com/GothPy/

Conclusion

ConclusionFree your mind

Free your mindPractice our art

Thank [email protected]

http://johannesbrodwall.com

http://twitter.com/jhannes

http://twitter.com/olecr