Experience Agile Programming SDC 2012, Göteborg Johannes Brodwall Steria Featuring: 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
Put together
Failing test Write code Failing test Write code Failing test
Write code Failing test Write code Failing test 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
Demonstration (Featuring OC Rynning)
Kata: Minesweeper
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
Practice Practice at work Practice katas Practice in dojos
Why become better at programming?
Seriously. Why?
Only 13.37% of effort
Getting better quality
Correctness Maintainability
But more importantly!
Think better
Raise your level of abstraction
Gothenburg Coding Dojo?
Gothenburg Coding Dojo
Conclusion
Free your mind
Practice our art
Thank you