SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Software	Craftsmanship	Coaching	
Experiences
Pedro	Santos
@pedromsantos
The	problem	
“Next	week	you	start	as	a	software	
craftsmanship	coach	on	a	new	customer”
2
3
Did	you	accept	it?	
Nicely	done!	How	are	you	going	
to	entertain	those	developers	for	6	
months?
What	subjects?
4
What	subjects?
What	subjects?	
Inside	the	inner	circle	of	XP
Test	Driven	Development	
Classic	TDD	
Test	doubles	
Outside	in	TDD	/	London	School	
of	TDD
Simple	Design	
4	elements	of	simple	design	
SOLID	principles	
Design	patterns	
Domain	Driven	Design
Refactoring	
IDE	productivity	
Code	smells	
Refactoring	smells	
Refactoring	legacy	code
Pair	programming	
Driver-navigator	
Ping-pong	/	Chess	clock	
Pomodoro	
Pair	rotation
In	what	order?
7
8
Adding	Outside	In	TDD	
AKA	TDD	London	
School	here	would	
spoil	my	beautiful	
pyramid.
XP	intro	
TDD	intro	
Pair	programming
TDD	habits	
Transformation	Priority	Premise
Object	Calisthenics	
The	4	elements	of	simple	design	
Code	smells	
Refactoring	
SOLID	principles	
Design	Patterns
BDD
DDD
Legacy	code	
Golden	Master	
Characterisation	tests
Social	kata?	
DDD	reading	group	
Extreme	Learning
Roman	
Numbers	
Fizz	
Buzz
Tic	Tac	Toe		
Tennis	
IDE	exercises	
Code	smells	exercises	
Gilded	Rose	
Bank	Kata
XP	intro	
TDD	intro	
Pair	programming
TDD	habits	
Transformation	Priority	Premise
Object	Calisthenics	
The	4	elements	of	simple	design	
Code	smells	
Refactoring	
SOLID	principles	
Design	Patterns
BDD
DDD
Legacy	code	
Golden	Master	
Characterisation	tests
SOLID	Exercises	
Design	Patterns	reading	group
Legacy	Code	Retreat
How	much?
Unconscious	incompetence
Conscious	incompetence
Conscious	Competence
Unconscious	Competence
12
Novice
Advanced	Beginner
Competent
Proficient
Expert
How	much?
Dreyfus	model	of	skill	acquisition
More	than	just	techniques
Coach
Coach/Influence
Influence
Software	Craftsmanship	Coaching	
Experiences
Pedro	Santos
Thank	you!
Questions?
References
• The	Five-Stage	Model	of	Adult	Skill	Acquisition	
(Stuart	E.	Dreyfus)	
• http://www.bumc.bu.edu/facdev-medicine/
files/2012/03/Dreyfus-skill-level.pdf
16

Weitere ähnliche Inhalte

Was ist angesagt?

2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
Johannes Brodwall
 
Concepts of Functional Programming for Java Brains (2010)
Concepts of Functional Programming for Java Brains (2010)Concepts of Functional Programming for Java Brains (2010)
Concepts of Functional Programming for Java Brains (2010)
Peter Kofler
 

Was ist angesagt? (20)

Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul Event
 
Code Review
Code ReviewCode Review
Code Review
 
Refactoring legacy code
Refactoring legacy codeRefactoring legacy code
Refactoring legacy code
 
Deliberate Practice, New Learning Styles (2015)
Deliberate Practice, New Learning Styles (2015)Deliberate Practice, New Learning Styles (2015)
Deliberate Practice, New Learning Styles (2015)
 
Coding Dojo - Refactoring Tennis Kata
Coding Dojo - Refactoring Tennis KataCoding Dojo - Refactoring Tennis Kata
Coding Dojo - Refactoring Tennis Kata
 
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
 
Coding Dojo: Baby Steps Push Challenge (2021)
Coding Dojo: Baby Steps Push Challenge (2021)Coding Dojo: Baby Steps Push Challenge (2021)
Coding Dojo: Baby Steps Push Challenge (2021)
 
Code review in practice
Code review in practiceCode review in practice
Code review in practice
 
Test Driven Development Part 1
Test Driven Development Part 1Test Driven Development Part 1
Test Driven Development Part 1
 
Designing Test Cases for the Gilded Rose Kata v2 (2015)
Designing Test Cases for the Gilded Rose Kata v2 (2015)Designing Test Cases for the Gilded Rose Kata v2 (2015)
Designing Test Cases for the Gilded Rose Kata v2 (2015)
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
TDD - Christchurch APN May 2012
TDD - Christchurch APN May 2012TDD - Christchurch APN May 2012
TDD - Christchurch APN May 2012
 
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 
Tdd com Java
Tdd com JavaTdd com Java
Tdd com Java
 
Concepts of Functional Programming for Java Brains (2010)
Concepts of Functional Programming for Java Brains (2010)Concepts of Functional Programming for Java Brains (2010)
Concepts of Functional Programming for Java Brains (2010)
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
 
TDD with Ruby
TDD with RubyTDD with Ruby
TDD with Ruby
 

Andere mochten auch

Testing, CI and CD in the real world
Testing, CI and CD in the real worldTesting, CI and CD in the real world
Testing, CI and CD in the real world
Roc Boronat
 
Analyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_CassandraAnalyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_Cassandra
Rich Beaudoin
 
Tecnologías de-la-información-y-la-comunicación (2)
Tecnologías de-la-información-y-la-comunicación (2)Tecnologías de-la-información-y-la-comunicación (2)
Tecnologías de-la-información-y-la-comunicación (2)
Norman Lucero
 

Andere mochten auch (20)

Redescubre la programación - #MPWAR - #OpenDayLaSalle
Redescubre la programación - #MPWAR - #OpenDayLaSalleRedescubre la programación - #MPWAR - #OpenDayLaSalle
Redescubre la programación - #MPWAR - #OpenDayLaSalle
 
Your code as a crime scene
Your code as a crime sceneYour code as a crime scene
Your code as a crime scene
 
Testing, CI and CD in the real world
Testing, CI and CD in the real worldTesting, CI and CD in the real world
Testing, CI and CD in the real world
 
Abhilekh rris
Abhilekh rrisAbhilekh rris
Abhilekh rris
 
Practica e xcel 2
Practica e xcel 2 Practica e xcel 2
Practica e xcel 2
 
Rutina de Pensamiento "Jorge Rando"
Rutina de Pensamiento "Jorge Rando"Rutina de Pensamiento "Jorge Rando"
Rutina de Pensamiento "Jorge Rando"
 
євро2015
євро2015євро2015
євро2015
 
Anna
AnnaAnna
Anna
 
Tile - Nooit meer je waardevolle spullen kwijt
Tile - Nooit meer je waardevolle spullen kwijtTile - Nooit meer je waardevolle spullen kwijt
Tile - Nooit meer je waardevolle spullen kwijt
 
Analyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_CassandraAnalyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_Cassandra
 
Tecnologías de-la-información-y-la-comunicación (2)
Tecnologías de-la-información-y-la-comunicación (2)Tecnologías de-la-información-y-la-comunicación (2)
Tecnologías de-la-información-y-la-comunicación (2)
 
Kinds of tests
Kinds of testsKinds of tests
Kinds of tests
 
Padrasto
PadrastoPadrasto
Padrasto
 
SI YO FUERA...
SI YO FUERA...SI YO FUERA...
SI YO FUERA...
 
Customer Management Infographic - Forrester Report
Customer Management Infographic - Forrester ReportCustomer Management Infographic - Forrester Report
Customer Management Infographic - Forrester Report
 
Autos híbridos cap1
Autos híbridos cap1Autos híbridos cap1
Autos híbridos cap1
 
Intake 37 linq3
Intake 37 linq3Intake 37 linq3
Intake 37 linq3
 
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
We broke up with the monolith, and started dating #eventSourcing - #symfonyCatWe broke up with the monolith, and started dating #eventSourcing - #symfonyCat
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
 
Identificación das árbores celtas do
Identificación das árbores celtas doIdentificación das árbores celtas do
Identificación das árbores celtas do
 
Acrilico
AcrilicoAcrilico
Acrilico
 

Ähnlich wie Software craftmanship coaching

Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
Matteo Baglini
 
Cracking The Technical Interview
Cracking The Technical InterviewCracking The Technical Interview
Cracking The Technical Interview
careercup
 

Ähnlich wie Software craftmanship coaching (20)

Software craftsmanship coaching
Software craftsmanship coachingSoftware craftsmanship coaching
Software craftsmanship coaching
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
 
Clean code - Getting your R&D on board
Clean code - Getting your R&D on boardClean code - Getting your R&D on board
Clean code - Getting your R&D on board
 
Improve your TDD skills
Improve your TDD skillsImprove your TDD skills
Improve your TDD skills
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017
 
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineBehavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - Opensouthcode
 
Things designers and developers should know (WDS18)
Things designers and developers should know (WDS18)Things designers and developers should know (WDS18)
Things designers and developers should know (WDS18)
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's Mind
 
Refactoring, 2nd Edition
Refactoring, 2nd EditionRefactoring, 2nd Edition
Refactoring, 2nd Edition
 
Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018
 
Coding principles
Coding principles Coding principles
Coding principles
 
How to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentHow to Do Kick-Ass Software Development
How to Do Kick-Ass Software Development
 
Java Zone 2017 - Build the right system
Java Zone 2017  - Build the right systemJava Zone 2017  - Build the right system
Java Zone 2017 - Build the right system
 
Cracking The Technical Interview
Cracking The Technical InterviewCracking The Technical Interview
Cracking The Technical Interview
 
The top 10 things that any pro PHP developer should be doing
The top 10 things that any pro PHP developer should be doingThe top 10 things that any pro PHP developer should be doing
The top 10 things that any pro PHP developer should be doing
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Putting the D&D in TDD
Putting the D&D in TDDPutting the D&D in TDD
Putting the D&D in TDD
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

Software craftmanship coaching