Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Experience Agile Programming - Kiev

1,244 views

Published on

A hands-on and interactive presentation of test-driven development and pair programming.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Experience Agile Programming - Kiev

  1. 1. Experience Agile Programming XP Days Ukraine Йоханнес Бродвалл, Just-a-programmer Стерия Норвегия @jhannes
  2. 2. Goal • To have fun now!• For you to have fun now! • For you to have fun later (stretch goal)
  3. 3. Agenda • Description•Demonstration with Dima Mindra • Discussion • Tips and tricks
  4. 4. Description
  5. 5. Kata: Minesweeper
  6. 6. Given:var minefield = new Minefield([ "....", ".*..", ".*.*", "...*“ ])
  7. 7. What do watch for • How we interact• How we progress through the code • How we design • How we use the language
  8. 8. Demonstration(Featuring Dmytro Mindra)
  9. 9. What did you see?
  10. 10. What did you see?• How often did we switch ”driver”? • Effects of pairing? • What did the ”non-driver” do?
  11. 11. 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?
  12. 12. What did you see? • Language tricks?• Did we refactor the right amount? • How long was the code red? • Strengths in final design •Weaknesses in final design
  13. 13. Why become better at programming?
  14. 14. Seriously. Why?
  15. 15. Only 13.37% of effort
  16. 16. Getting better quality
  17. 17. Getting better quality Correctness Maintainability
  18. 18. But more importantly!
  19. 19. Think better
  20. 20. Think betterRaise your level of abstraction
  21. 21. What to practice
  22. 22. Test the contract
  23. 23. Test the contract API Not behavior
  24. 24. Test from outside-in
  25. 25. Test from outside-in Who? Why? Pop! Mock
  26. 26. Practice pairprogramming
  27. 27. Ping pong
  28. 28. Failing test Fix the test Failing testFix the testFailing test
  29. 29. Failing test Fix the test Refactor Failing testFix the test RefactorFailing test
  30. 30. Johannes DmytroMikhail Sergey Volodymyr
  31. 31. Johannes DmytroMikhail Sergey Volodymyr
  32. 32. Johannes DmytroMikhail Sergey Volodymyr
  33. 33. All-green refactoring
  34. 34. All-green refactoring Reduce the time of uncertainty
  35. 35. How to practice
  36. 36. PracticePractice at work Practice katasPractice in dojos
  37. 37. Kyiv Coding Dojo?
  38. 38. Conclusion
  39. 39. Conclusion Free your mind
  40. 40. Free your mind Practice our art
  41. 41. Thank you johannes.brodwall@steria.no http://johannesbrodwall.com http://twitter.com/jhannes (Please tweet in Cyrillic with english-like words)

×