2013 09-11 java zone - extreme programming live

  • 611 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
611
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

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 JavaZone 2013 Johannes Brodwall Exilesoft Chief scientist @jhannes
  • 2. How do you become a better programmer
  • 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 for 3. Demonstration 4. Discussion 5. Conclusion
  • 5. «Extreme programming»?
  • 6. It is better to • Do the thing right, then to • Do the right thing • (first)
  • 7. Ping pong
  • 8. Ingredient #1: Pair programming
  • 9. Ingredient #2: Test driven development
  • 10. Failing test Write code Failing test Write code Failing test
  • 11. Ingredient #3: Refactoring
  • 12. Failing test Write code Failing test Write code Failing test Refactor code and tests Refactor code and tests
  • 13. Put together
  • 14. Failing test Write code Failing test Write code Failing test
  • 15. Failing test Write code Failing test Write code Failing test Refactor code and tests Refactor code and tests
  • 16. Failing test Write code Failing test Write code Failing test Refactor code and tests Refactor code and tests
  • 17. Demonstration
  • 18. What to watch for?
  • 19. What to watch for? • How do we work together? • How do we use tests to understand? • How do we «grow» the code?
  • 20. Please: • Talk about what you see to the person next to you (whisper) •Tweet to @jhannes and @erlingwl
  • 21. Demonstration (Guest starring Roy Fernando)
  • 22. Kata: Minesweeper
  • 23. What did you see?
  • 24. 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?
  • 25. What do you think? •Pairing two seniors? •Pairing two juniors? • Pairing senior and talent? • Pairing senior and junior?
  • 26. 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?
  • 27. 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?
  • 28. XP values
  • 29. XP values Simplicity Communication Feedback Communication
  • 30. Questions? Your experience?
  • 31. Becoming a better programmer
  • 32. Why become better programmer?
  • 33. Getting better quality
  • 34. Getting better quality Correctness Maintainability Productivity
  • 35. But more importantly!
  • 36. Think better
  • 37. Think better Think beyond the curly brackets
  • 38. How to get better
  • 39. Practice
  • 40. Deliberate Practice • Slow down • Repeat • Reflect
  • 41. Practice at work
  • 42. Practice at work • Tests lets you solve it faster
  • 43. Practice at home
  • 44. Practice at home Learn more here
  • 45. Practice with friends
  • 46. 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
  • 47. + TDD & different different Levels of quality
  • 48. Conclusion
  • 49. Conclusion Free your mind
  • 50. Free your mind Practice our art
  • 51. jbr@exilesoft.com erling@cvpartner.com http://johannesbrodwall.com http://exilesoft.com http://twitter.com/jhannes http://twitter.com/erlingwl Thank you