WeActuallyBuildStuff - Extreme Programming Live
-
Upload
johannes-brodwall -
Category
Documents
-
view
764 -
download
2
description
Transcript of WeActuallyBuildStuff - Extreme Programming Live
Extreme Programming Live
WeActuallyBuildStuffJohannes Brodwall
Exilesoft Chief scientist
@jhannes
Guest starring: Andrej Slivko
Goal• To have fun now!
• For you to have fun now!• For you to have fun later
(stretch goal)
After this talk• You may find desire to train with TDD
• You may pair program sometimes• You may think of some ways to improve the
way you work
1. Waddayamean«extreme programming»
2. What to look for3. Demonstration 4. Discussion5. Conclusion
«Extreme programming»?
Is it better to• Do the thing right?
• Do the right thing?
It is better to• Do the thing right, then to
• Do the right thing• (first)
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
Failing test
Write code
Failing test
Write code
Failing test
Refactor code and tests
Refactor code and tests
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
Demonstration(Guest starring Andrej Slivko)
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?• How many tests?
•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?
Questions?
Your experience?
Becoming a better programmer
Why become better programmer?
Seriously. Why?
Only 13.37% of effort
Getting better quality
Getting better qualityCorrectness
Maintainability
But more importantly!
Think better
Think betterThink beyond the curly brackets
«The Alignment Trap»
How to get better
Practice
Deliberate Practice• Slow down
• Repeat• Reflect
Practice at work
Practice at home
Practice at home
Watch this space!
Practice with friends
Vilnius Coding Dojo?
What have you learned• TDD makes you productive
• TDD consists of small steps• TDD requires practice
• Pair programming is fun• Pair programming helps you keep flow
Conclusion
ConclusionFree your mind
Free your mindPractice our art
http://johannesbrodwall.com
http://exilesoft.com
http://twitter.com/jhannes
Thank you