SlideShare a Scribd company logo
The practicing programmerTampereGoes AgilesJohannes Brodwall, Just-a-programmerSteriaNorway
The Practicing Programmer
PracticingProgramming
How to workbetterHow to learnbetter
Test-firstXP Explained 1stedOn-sitecustomerCISimple design40-hour weekFrequentreleasesCollectiveownershipRefactoringMetaphorCode standardPairingThe planning game
Test-firstOn-sitecustomerCISimple design40-hour weekFrequentreleasesCollectiveownershipRefactoringMetaphorCode standardPairingThe planning game
Test-firstOn-sitecustomerCISimple design40-hour weekFrequentreleasesCollectiveownershipRefactoringMetaphorCode standardPairingThe planning game
Demo
Whatdidyousee?
Whendidweswitch ”driver”?Effectsofpairing?Howmany tests?Test frequencyIDE tricksStepsize? Toosmall? Toobig?Whendidwerefactor?First test?Pickingnext test?Final test?
Test-firstOn-sitecustomerCISimple design40-hour weekFrequentreleasesCollectiveownershipRefactoringMetaphorCode standardPairingThe planning game
Whybecomebetter at programming?
Seriously. Why?
Only 13.37% ofeffort
Gettingbetterquality
GettingbetterqualityCorrectnessMaintainability
But more importantly!
Thinkbetter
ThinkbetterRaiseyourlevelofabstraction
What to practice
Test thecontract
Test thecontractAPINot behavior
2011 09-17 tampere - the practicing programmer
Test from outside-in
Test from outside-inWho?Why?Pop!Mock
2011 09-17 tampere - the practicing programmer
TODO: Bilde av standup og tavleKonfidensiell - Navn på presentasjon.ppt17.09.201127
Practice pair programming
Pingpong
Failing testFixthe testFailing testFixthe testFailing test
Failing testFixthe testRefactorFailing testFixthe testRefactorFailing test
JohannesJussiKatjaAriVlad
JohannesJussiKatjaAriVlad
JohannesJussiKatjaAriVlad
All-greenrefactoring
All-greenrefactoringReducethe time ofuncertainty
Continuousintegration
ContinuousintegrationAvoidbranchingRun tests all the time
2011 09-17 tampere - the practicing programmer
Pick a demo
Pick a demoOutside-inMockingContract testAll-greenrefactoringContinuousintegration
How to practice
PracticePracticekatasPractice at workPractice in dojos
Conclusion
ConclusionFreeyourmind
FreeyourmindPracticeour art
Thankyoujohannes.brodwall@steria.nohttp://johannesbrodwall.comhttp://twitter.com/jhannes

More Related Content

PPT
Evaluation question 6
PDF
The top 10 things that any pro PHP developer should be doing
PDF
TDD Mantra
PDF
Deliberate Practice (2014)
PDF
Six Years of Teaching Certified Scrum Developers
ODP
More than Programming!
PDF
Test Driven Design - GDG DevFest Istanbul 2016
PDF
Continuous delivery its not about the technology, its about the people.
Evaluation question 6
The top 10 things that any pro PHP developer should be doing
TDD Mantra
Deliberate Practice (2014)
Six Years of Teaching Certified Scrum Developers
More than Programming!
Test Driven Design - GDG DevFest Istanbul 2016
Continuous delivery its not about the technology, its about the people.

Viewers also liked (6)

PPTX
Amber wildelecture2012
DOCX
Research insects, reptiles, birds
PDF
Case study 1
DOC
Informatica online training from inida
PDF
Bestbrains 22. maj - Træt af IT-skandaler
PPT
Reference at the Dawn of Web 2.0
Amber wildelecture2012
Research insects, reptiles, birds
Case study 1
Informatica online training from inida
Bestbrains 22. maj - Træt af IT-skandaler
Reference at the Dawn of Web 2.0
Ad

Similar to 2011 09-17 tampere - the practicing programmer (20)

PPTX
Agile Programming Live - AgilePrague2012
PPT
Code smells in PHP
PPTX
WeActuallyBuildStuff - Extreme Programming Live
PDF
Agile Software Development
PDF
Agile Software Development in Practice - A Developer Perspective
PDF
Agile Software Development Process Practice in Thai Culture
PDF
Pragmatic notdogmatictdd agile2012
PDF
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
PDF
Agile for Startups - MuckerLab 2012
PPS
CS101- Introduction to Computing- Lecture 44
PPTX
Best pratice
PDF
Inverting The Testing Pyramid
PDF
Agile Beyond Development
PPT
Pair Programming
PPT
Jeremiah Yancy - Objectives for Software design and testing
PPT
Introduction to Agile Software Development & Python
PDF
Testing In Agile
PPTX
Going Pro
PDF
The View - Lotusscript coding best practices
PPTX
Experience Agile Programming
Agile Programming Live - AgilePrague2012
Code smells in PHP
WeActuallyBuildStuff - Extreme Programming Live
Agile Software Development
Agile Software Development in Practice - A Developer Perspective
Agile Software Development Process Practice in Thai Culture
Pragmatic notdogmatictdd agile2012
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Agile for Startups - MuckerLab 2012
CS101- Introduction to Computing- Lecture 44
Best pratice
Inverting The Testing Pyramid
Agile Beyond Development
Pair Programming
Jeremiah Yancy - Objectives for Software design and testing
Introduction to Agile Software Development & Python
Testing In Agile
Going Pro
The View - Lotusscript coding best practices
Experience Agile Programming
Ad

More from Johannes Brodwall (20)

PPTX
Build Your Stuff with Privacy by Design
PPTX
The new new mobile web
PPTX
Remote Pair Programming (Agile India)
PPTX
Getting your project off the ground (BuildStuffLt)
PPTX
Remote pair programming (BuildStuffLt)
PPTX
DevDay.lk - Bare Knuckle Web Development
PPTX
Extreme Programming Live - JavaZone
PPTX
2013 09-11 java zone - extreme programming live
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
Agile Contracts
PPTX
Smidig ansvarsprosjekt
PPTX
Kiev Coding Dojo
PPTX
Experience Agile Programming - Kiev
Build Your Stuff with Privacy by Design
The new new mobile web
Remote Pair Programming (Agile India)
Getting your project off the ground (BuildStuffLt)
Remote pair programming (BuildStuffLt)
DevDay.lk - Bare Knuckle Web Development
Extreme Programming Live - JavaZone
2013 09-11 java zone - extreme programming live
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
Agile Contracts
Smidig ansvarsprosjekt
Kiev Coding Dojo
Experience Agile Programming - Kiev

Recently uploaded (20)

PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Monthly Chronicles - July 2025
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.

2011 09-17 tampere - the practicing programmer