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

1,178 views

Published on

Experience Agile Programming as presented at Software People 2012 in Moscow. Guest starring Boris Staal

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Experience Agile Programming

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

×