KEMBAR78
Experience Agile Programming - Kiev | PPTX
Experience Agile
  Programming
                          XP Days Ukraine
     Йоханнес Бродвалл, Just-a-programmer
                         Стерия Норвегия

                             @jhannes
Goal
         • To have fun now!
• For you to have fun now!
 • For you to have fun later
               (stretch goal)
Agenda
                    • Description
•Demonstration with Dima Mindra
                    • Discussion
                • Tips and tricks
Description
Kata: Minesweeper
Given:
var minefield = new Minefield([
              "....",
              ".*..",
              ".*.*",
              "...*“ ])
What do watch for
                  • How we interact
• How we progress through the code
                   • How we design
         • How we use the language
Demonstration
(Featuring Dmytro Mindra)
What did you see?
What did you see?
• How often did we switch ”driver”?
                • Effects of pairing?
    • What did the ”non-driver” do?
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?
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
Why become better at
      programming?
Seriously. Why?
Only 13.37% of effort
Getting better quality
Getting better quality
             Correctness
           Maintainability
But more importantly!
Think better
Think better
Raise your level of abstraction
What to practice
Test the contract
Test the contract
                 API
         Not behavior
Test from outside-in
Test from outside-in
                Who?
                Why?
                 Pop!
                Mock
Practice pair
programming
Ping pong
Failing test

               Fix the test


               Failing test

Fix the test


Failing test
Failing test

                         Fix the test
                    Refactor
                         Failing test

Fix the test
         Refactor
Failing test
Johannes               Dmytro




Mikhail                                   Sergey




                     Volodymyr
Johannes               Dmytro




Mikhail                                   Sergey




                     Volodymyr
Johannes               Dmytro




Mikhail                                   Sergey




                     Volodymyr
All-green refactoring
All-green refactoring
  Reduce the time of uncertainty
How to practice
Practice
Practice at work
  Practice katas
Practice in dojos
Kyiv Coding Dojo?
Conclusion
Conclusion
 Free your mind
Free your mind
    Practice our art
Thank you
  johannes.brodwall@steria.no

  http://johannesbrodwall.com

      http://twitter.com/jhannes
   (Please tweet in Cyrillic with
              english-like words)

Experience Agile Programming - Kiev