Shut up and produce…
AgileProgramming Live            AgilePrague 2012          Johannes Brodwall                Steria Norway               @j...
Goal         • To have fun now!• For you to have fun now! • For you to have fun later               (stretch goal)
Agenda• What is «agile programming»               •What to look for                •Demonstration                    •Disc...
What is «agileprogramming»?
Ping pong
Ingredience #1:Pair programming
Ingredience #2:    Test driven  development
Failing test       Write code  Failing testWrite codeFailing test
Ingredience #3:    Refactoring
Failing test         Write code Refactor code   and tests         Failing testWrite code      Refactor code        and tes...
Put together
Failing test               Write code               Failing testWrite codeFailing test
Failing test                            Write code                      Refactor code                        and tests    ...
What do you think? • Do you work like this?    • Faster or slower? • Better code or worse?        • Other effects?
Demonstration
What to watch for?
If you’re a project manager
If you’re an architect
If you’re a developer
If you’re neither
Please:• Talk about what you see to the person                  next to you (whisper)•Tweet to @jhannes and @OlegSmirsky
Demonstration(Featuring Oleg Smirsky)
Kata: Minesweeper
What did you see?
What did you see?  • How often did we switch ”driver”?                  • Effects of pairing?      • What did the ”non-dri...
What do you think?        •Pairing two seniors?         •Pairing two juniors? • Pairing senior and talent? • Pairing senio...
What did you see?            • How many tests?      •Was the step size right?     • What was the first test?• How did we d...
What did you see?•Did we refactor the right amount?     • How long was the code red?         • Strengths in final design  ...
Questions?Your experience?
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 betterThink above the curly brackets
How to get better
Practice
Deliberate Practice
PracticePractice at work  Practice katasPractice in dojos
Prague Coding Dojo?
Prague Coding Dojo http://agileprague.com/workshops.htm
You can still sign up
Conclusion
Conclusion Free your mind
Free your mind    Practice our art
Thank you      johannes@brodwall.com  http://johannesbrodwall.com     http://twitter.com/jhannes http://twitter.com/OlegSm...
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
Upcoming SlideShare
Loading in...5
×

Agile Programming Live - AgilePrague2012

213

Published on

Agile Programming Lig

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

No Downloads
Views
Total Views
213
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

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. 
  • Agile Programming Live - AgilePrague2012

    1. 1. Shut up and produce…
    2. 2. AgileProgramming Live AgilePrague 2012 Johannes Brodwall Steria Norway @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• What is «agile programming» •What to look for •Demonstration •Discussion •Possibly: Tips and tricks
    5. 5. What is «agileprogramming»?
    6. 6. Ping pong
    7. 7. Ingredience #1:Pair programming
    8. 8. Ingredience #2: Test driven development
    9. 9. Failing test Write code Failing testWrite codeFailing test
    10. 10. Ingredience #3: Refactoring
    11. 11. Failing test Write code Refactor code and tests Failing testWrite code Refactor code and testsFailing test
    12. 12. Put together
    13. 13. Failing test Write code Failing testWrite codeFailing test
    14. 14. Failing test Write code Refactor code and tests Failing testWrite code Refactor code and testsFailing test
    15. 15. What do you think? • Do you work like this? • Faster or slower? • Better code or worse? • Other effects?
    16. 16. Demonstration
    17. 17. What to watch for?
    18. 18. If you’re a project manager
    19. 19. If you’re an architect
    20. 20. If you’re a developer
    21. 21. If you’re neither
    22. 22. Please:• Talk about what you see to the person next to you (whisper)•Tweet to @jhannes and @OlegSmirsky
    23. 23. Demonstration(Featuring Oleg Smirsky)
    24. 24. Kata: Minesweeper
    25. 25. What did you see?
    26. 26. 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?
    27. 27. What do you think? •Pairing two seniors? •Pairing two juniors? • Pairing senior and talent? • Pairing senior and junior?
    28. 28. 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?
    29. 29. 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?
    30. 30. Questions?Your experience?
    31. 31. Why become better at programming?
    32. 32. Seriously. Why?
    33. 33. Only 13.37% of effort
    34. 34. Getting better quality
    35. 35. Getting better quality Correctness Maintainability
    36. 36. But more importantly!
    37. 37. Think better
    38. 38. Think betterThink above the curly brackets
    39. 39. How to get better
    40. 40. Practice
    41. 41. Deliberate Practice
    42. 42. PracticePractice at work Practice katasPractice in dojos
    43. 43. Prague Coding Dojo?
    44. 44. Prague Coding Dojo http://agileprague.com/workshops.htm
    45. 45. You can still sign up
    46. 46. Conclusion
    47. 47. Conclusion Free your mind
    48. 48. Free your mind Practice our art
    49. 49. Thank you johannes@brodwall.com http://johannesbrodwall.com http://twitter.com/jhannes http://twitter.com/OlegSmirsky
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×