SlideShare a Scribd company logo
Extreme Programming
Live
JavaZone 2013
Johannes Brodwall
Exilesoft Chief scientist
@jhannes
How do you become a
better programmer
After this talk
• You may find desire to train with TDD
• You may pair program sometimes
• You may think of some ways to improve the
way you work
1. Waddayamean
«extreme
programming»
2. What to look for
3. Demonstration
4. Discussion
5. Conclusion
«Extreme
programming»?
It is better to
• Do the thing right, then to
• Do the right thing
• (first)
Ping pong
Ingredient #1:
Pair programming
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
Ingredient #2:
Test driven
development
Failing test
Write code
Failing test
Write code
Failing test
Ingredient #3:
Refactoring
Failing test
Write code
Failing test
Write code
Failing test
Refactor code
and tests
Refactor code
and tests
Put together
Failing test
Write code
Failing test
Write code
Failing test
Failing test
Write code
Failing test
Write code
Failing test
Refactor code
and tests
Refactor code
and tests
Failing test
Write code
Failing test
Write code
Failing test
Refactor code
and tests
Refactor code
and tests
Demonstration
What to watch for?
What to watch for?
• How do we work together?
• How do we use tests to understand?
• How do we «grow» the code?
Please:
• Talk about what you see to the person
next to you (whisper)
•Tweet to @jhannes and @erlingwl
Demonstration
(Guest starring Roy Fernando)
Kata: Minesweeper
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
What did you see?
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?
What do you think?
•Pairing two seniors?
•Pairing two juniors?
• Pairing senior and talent?
• Pairing senior and junior?
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?
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?
XP values
XP values
Simplicity
Communication
Feedback
Communication
Questions?
Your experience?
Becoming a better
programmer
Why become better
programmer?
Getting better quality
Getting better quality
Correctness
Maintainability
Productivity
But more importantly!
Think better
Think better
Think beyond the curly brackets
How to get better
Practice
Deliberate Practice
• Slow down
• Repeat
• Reflect
Practice at work
Practice at work
• Tests lets you solve it faster
Practice at home
Practice at home
Learn
more here
Practice with friends
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
What have you learned
• TDD makes you productive
• TDD consists of small steps
• TDD requires practice
• Pair programming is fun
• Pair programming helps you keep flow
+
TDD & different
different Levels of
quality
Conclusion
Conclusion
Free your mind
Free your mind
Practice our art
jbr@exilesoft.com
erling@cvpartner.com
http://johannesbrodwall.com
http://exilesoft.com
http://twitter.com/jhannes
http://twitter.com/erlingwl
Thank you

More Related Content

PPTX
WeActuallyBuildStuff - Extreme Programming Live
PPTX
Level Up Your Automated Tests
PDF
Code Review Matters and Manners
PDF
Level Up Your Automated Tests
PDF
Improve your TDD skills
PPTX
Is Groovy better for testing than Java?
PPTX
Agile Programming Live - AgilePrague2012
PPTX
Agile Practices
WeActuallyBuildStuff - Extreme Programming Live
Level Up Your Automated Tests
Code Review Matters and Manners
Level Up Your Automated Tests
Improve your TDD skills
Is Groovy better for testing than Java?
Agile Programming Live - AgilePrague2012
Agile Practices

What's hot (20)

PDF
Pair programming demystified
PPTX
Good programming practices updated
PPT
The Smells Of Bad Design
PPT
User Stories
PPTX
Specification by example
PDF
Mob Programming for Continuous Learning
PPT
Scrum And The Enterprise
ODP
Review June2015 Dec2015
PPTX
Intro to TDD
PPT
Kens Scrum Presentation
PDF
Avoiding Resume Pitfalls
KEY
Agile xp crash_course_2010_05_21
PPT
TDD - Christchurch APN May 2012
PDF
Coderetreat - Practice to Master Your Crafts
PDF
Building Better Products, June 2015
PDF
Tips sukses berkarir sebagai developer dan programmer 2021
PPTX
Agile testingandautomation
PDF
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
PDF
A Rapid e-Learning Primer for Technical Communicators
PPTX
Unit Test Lab - Why Write Unit Tests?
Pair programming demystified
Good programming practices updated
The Smells Of Bad Design
User Stories
Specification by example
Mob Programming for Continuous Learning
Scrum And The Enterprise
Review June2015 Dec2015
Intro to TDD
Kens Scrum Presentation
Avoiding Resume Pitfalls
Agile xp crash_course_2010_05_21
TDD - Christchurch APN May 2012
Coderetreat - Practice to Master Your Crafts
Building Better Products, June 2015
Tips sukses berkarir sebagai developer dan programmer 2021
Agile testingandautomation
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
A Rapid e-Learning Primer for Technical Communicators
Unit Test Lab - Why Write Unit Tests?
Ad

Viewers also liked (9)

PPTX
Getting your project off the ground (BuildStuffLt)
PPTX
Remote Pair Programming (Agile India)
PPTX
Remote pair programming (BuildStuffLt)
PPTX
Extreme Programming Live - JavaZone
PPTX
DevDay.lk - Bare Knuckle Web Development
PPTX
Agile Contracts
PPTX
Construction Failure
PDF
Direito Administrativo - Desapropriação
PPTX
konsep muamalah dalam islam
Getting your project off the ground (BuildStuffLt)
Remote Pair Programming (Agile India)
Remote pair programming (BuildStuffLt)
Extreme Programming Live - JavaZone
DevDay.lk - Bare Knuckle Web Development
Agile Contracts
Construction Failure
Direito Administrativo - Desapropriação
konsep muamalah dalam islam
Ad

Similar to 2013 09-11 java zone - extreme programming live (20)

PPTX
Make a better with clean code
PPTX
Developers Best Practices
KEY
Test Driven Development - For Girl Geeks Night Sydney
PPTX
{10.0} Test Driven Development.pptx
PPTX
Peer review
PPTX
Creating change from within - Agile Practitioners 2012
PDF
Introducing Pair Programming
PPTX
Test Driven Development on Android (Kotlin Kenya)
PDF
Unwritten Manual for Pair Programming
PDF
Kata Your Way to SW Craftsmanship
PDF
Do testers have to code... to be useful?
PDF
Learning by contributing to Open-Source Software
PPTX
Putting the D&D in TDD
PDF
Greythorn Whiteboard Interview Guide
PPTX
Experience Agile Programming - Kiev
PPTX
A Brief Introduction to Test-Driven Development
PDF
Game changers
PPTX
The problem with tdd
PDF
Développeur: Quelles compétences clés faut-il maîtriser pour être meilleur?
PDF
Day1 - TDD (Lecture SS 2015)
Make a better with clean code
Developers Best Practices
Test Driven Development - For Girl Geeks Night Sydney
{10.0} Test Driven Development.pptx
Peer review
Creating change from within - Agile Practitioners 2012
Introducing Pair Programming
Test Driven Development on Android (Kotlin Kenya)
Unwritten Manual for Pair Programming
Kata Your Way to SW Craftsmanship
Do testers have to code... to be useful?
Learning by contributing to Open-Source Software
Putting the D&D in TDD
Greythorn Whiteboard Interview Guide
Experience Agile Programming - Kiev
A Brief Introduction to Test-Driven Development
Game changers
The problem with tdd
Développeur: Quelles compétences clés faut-il maîtriser pour être meilleur?
Day1 - TDD (Lecture SS 2015)

More from Johannes Brodwall (16)

PPTX
Build Your Stuff with Privacy by Design
PPTX
The new new mobile web
PPTX
2013 08-07 agile 2013 - remote pair programming
PPTX
Bare-Bones Software Architecture
PPTX
Agile Architecture in Odessa
PPTX
Bare-knuckle web development
PPTX
Agile Architecture
PPTX
Agile Prague Coding Dojo
PPTX
Agile Contracts - AgilePrague2012
PPTX
Smidig Stykkpriskontrakt
PPTX
Experience Agile Programming
PPTX
Smidig ansvarsprosjekt
PPTX
Kiev Coding Dojo
PPTX
2011 09-17 tampere - the practicing programmer
PPTX
Use Scenarios for your product backlog
PPT
Extending Continuous Integration
Build Your Stuff with Privacy by Design
The new new mobile web
2013 08-07 agile 2013 - remote pair programming
Bare-Bones Software Architecture
Agile Architecture in Odessa
Bare-knuckle web development
Agile Architecture
Agile Prague Coding Dojo
Agile Contracts - AgilePrague2012
Smidig Stykkpriskontrakt
Experience Agile Programming
Smidig ansvarsprosjekt
Kiev Coding Dojo
2011 09-17 tampere - the practicing programmer
Use Scenarios for your product backlog
Extending Continuous Integration

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
MIND Revenue Release Quarter 2 2025 Press Release
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Understanding_Digital_Forensics_Presentation.pptx
Machine learning based COVID-19 study performance prediction
sap open course for s4hana steps from ECC to s4
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Building Integrated photovoltaic BIPV_UPV.pdf
Spectroscopy.pptx food analysis technology
Electronic commerce courselecture one. Pdf
Approach and Philosophy of On baking technology

2013 09-11 java zone - extreme programming live

Editor's Notes

  • #26: 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
  • #28: Note to translator: Here, Iwill ask the English speakingmembersoftheaudience to give feedback onwhattheysaw. I will hand outchocolates to those to answer. 