Your SlideShare is downloading. ×
0
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Extreme Programming Live - JavaZone

667

Published on

Good programming is not something that can be explained, it has to be experienced. In this talk, you will see pair programming and test-driven development in action. The talk will involve the audience …

Good programming is not something that can be explained, it has to be experienced. In this talk, you will see pair programming and test-driven development in action. The talk will involve the audience and draw on your insight to show how programming can be more fun! If you want to understand how serious test-driven development looks, this talk is for you.

The talk is based around a demonstration and interactive audience discussion, so the slides will not capture much of the content.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
667
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
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

    ×