Agile Programming Live - AgilePrague2012
-
Upload
johannes-brodwall -
Category
Technology
-
view
386 -
download
2
description
Transcript of Agile Programming Live - AgilePrague2012
![Page 1: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/1.jpg)
Shut up and produce…
![Page 2: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/2.jpg)
Agile Programming Live
AgilePrague 2012Johannes Brodwall
Steria Norway
@jhannesFeaturing: Oleg Smirsky
![Page 3: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/3.jpg)
Goal• To have fun now!
• For you to have fun now!• For you to have fun later
(stretch goal)
![Page 4: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/4.jpg)
Agenda• What is «agile programming»
•What to look for•Demonstration
•Discussion•Possibly: Tips and tricks
![Page 5: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/5.jpg)
What is «agile programming»?
![Page 6: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/6.jpg)
Ping pong
![Page 7: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/7.jpg)
Ingredience #1:
Pair programming
![Page 8: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/8.jpg)
![Page 9: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/9.jpg)
![Page 10: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/10.jpg)
Ingredience #2:
Test driven development
![Page 11: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/11.jpg)
Failing test
Write code
Failing test
Write code
Failing test
![Page 12: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/12.jpg)
Ingredience #3:
Refactoring
![Page 13: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/13.jpg)
Failing test
Write code
Failing test
Write code
Failing test
Refactor code and tests
Refactor code and tests
![Page 14: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/14.jpg)
Put together
![Page 15: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/15.jpg)
Failing test
Write code
Failing test
Write code
Failing test
![Page 16: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/16.jpg)
Failing test
Write code
Failing test
Write code
Failing test
Refactor code and tests
Refactor code and tests
![Page 17: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/17.jpg)
What do you think?• Do you work like this?
• Faster or slower?• Better code or worse?
• Other effects?
![Page 18: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/18.jpg)
Demonstration
![Page 19: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/19.jpg)
What to watch for?
![Page 20: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/20.jpg)
If you’re a project manager
![Page 21: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/21.jpg)
If you’re an architect
![Page 22: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/22.jpg)
If you’re a developer
![Page 23: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/23.jpg)
If you’re neither
![Page 24: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/24.jpg)
Please:• Talk about what you see to the person
next to you (whisper)•Tweet to @jhannes and @OlegSmirsky
![Page 25: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/25.jpg)
Demonstration(Featuring Oleg Smirsky)
![Page 26: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/26.jpg)
Kata: Minesweeper
![Page 27: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/27.jpg)
![Page 28: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/28.jpg)
![Page 29: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/29.jpg)
What did you see?
![Page 30: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/30.jpg)
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?
![Page 31: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/31.jpg)
What do you think?•Pairing two seniors?•Pairing two juniors?
• Pairing senior and talent?• Pairing senior and junior?
![Page 32: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/32.jpg)
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?
![Page 33: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/33.jpg)
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?
![Page 34: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/34.jpg)
Questions?
Your experience?
![Page 35: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/35.jpg)
Why become better at programming?
![Page 36: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/36.jpg)
Seriously. Why?
![Page 37: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/37.jpg)
Only 13.37% of effort
![Page 38: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/38.jpg)
Getting better quality
![Page 39: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/39.jpg)
Getting better qualityCorrectness
Maintainability
![Page 40: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/40.jpg)
But more importantly!
![Page 41: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/41.jpg)
Think better
![Page 42: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/42.jpg)
Think betterThink above the curly brackets
![Page 43: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/43.jpg)
How to get better
![Page 44: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/44.jpg)
Practice
![Page 45: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/45.jpg)
Deliberate Practice
![Page 46: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/46.jpg)
PracticePractice at work
Practice katas
Practice in dojos
![Page 47: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/47.jpg)
Prague Coding Dojo?
![Page 48: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/48.jpg)
![Page 49: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/49.jpg)
![Page 50: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/50.jpg)
![Page 51: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/51.jpg)
![Page 52: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/52.jpg)
Prague Coding Dojohttp://agileprague.com/workshops.htm
![Page 53: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/53.jpg)
You can still sign up
![Page 54: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/54.jpg)
Conclusion
![Page 55: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/55.jpg)
ConclusionFree your mind
![Page 56: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/56.jpg)
Free your mindPractice our art
![Page 57: Agile Programming Live - AgilePrague2012](https://reader036.fdocuments.net/reader036/viewer/2022062615/547c1fbab4af9faa1f8b460e/html5/thumbnails/57.jpg)
Thank [email protected]
http://johannesbrodwall.com
http://twitter.com/jhannes
http://twitter.com/OlegSmirsky