Your SlideShare is downloading. ×

WeActuallyBuildStuff - Extreme Programming Live

462

Published on

My talk at the WeActuallyBuildStuff conference in Vilnius 2012 with Andrej Slivko

My talk at the WeActuallyBuildStuff conference in Vilnius 2012 with Andrej Slivko

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
462
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Note to translator: I willexplainthe game of minesweeper whileshowingthis slide.The game initiallypresents a fieldwheretherearehidden minesWhentheplayerclickson a cell, eitherhe «steps» on a mine or he reveals thecellIf he «stepson a mine», the game is over, player losesIf he reveals thecell, thecelltellshowmany mines arenext to it
  • Note to translator: Here, Iwill ask the English speakingmembersoftheaudience to give feedback onwhattheysaw. I will hand outchocolates to those to answer. 
  • Transcript

    • 1. Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes
    • 2. Goal • To have fun now!• For you to have fun now! • For you to have fun later (stretch goal)
    • 3. 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
    • 4. 1. Waddayamean «extreme programming»2. What to look for3. Demonstration4. Discussion5. Conclusion
    • 5. «Extremeprogramming»?
    • 6. Is it better to • Do the thing right?• Do the right thing?
    • 7. It is better to• Do the thing right, then to • Do the right thing • (first)
    • 8. Ping pong
    • 9. Ingredience #1:Pair programming
    • 10. Ingredience #2: Test driven development
    • 11. Failing test Write code Failing testWrite codeFailing test
    • 12. Ingredience #3: Refactoring
    • 13. Failing test Write code Refactor code and tests Failing testWrite code Refactor code and testsFailing test
    • 14. Put together
    • 15. Failing test Write code Failing testWrite codeFailing test
    • 16. Failing test Write code Refactor code and tests Failing testWrite code Refactor code and testsFailing test
    • 17. Failing test Write code Refactor code and tests Failing testWrite code Refactor code and testsFailing test
    • 18. Demonstration
    • 19. What to watch for?
    • 20. If you’re a project manager
    • 21. If you’re an architect
    • 22. If you’re a developer
    • 23. If you’re neither
    • 24. Please:• Talk about what you see to the person next to you (whisper) •Tweet to @jhannes
    • 25. Demonstration(Guest starring Andrej Slivko)
    • 26. Kata: Minesweeper
    • 27. What did you see?
    • 28. 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?
    • 29. What do you think? •Pairing two seniors? •Pairing two juniors? • Pairing senior and talent? • Pairing senior and junior?
    • 30. 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?
    • 31. 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?
    • 32. Questions?Your experience?
    • 33. Becoming a better programmer
    • 34. Why become better programmer?
    • 35. Seriously. Why?
    • 36. Only 13.37% of effort
    • 37. Getting better quality
    • 38. Getting better quality Correctness Maintainability
    • 39. But more importantly!
    • 40. Think better
    • 41. Think betterThink beyond the curly brackets
    • 42. «The Alignment Trap»
    • 43. How to get better
    • 44. Practice
    • 45. Deliberate Practice • Slow down • Repeat • Reflect
    • 46. Practice at work
    • 47. Practice at home
    • 48. Practice at home Watch this space!
    • 49. Practice with friends
    • 50. Vilnius Coding Dojo?
    • 51. 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
    • 52. Conclusion
    • 53. Conclusion Free your mind
    • 54. Free your mind Practice our art
    • 55. Thank you jbr@exilesoft.com http://johannesbrodwall.com http://exilesoft.com http://twitter.com/jhannes

    ×