SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Putting the
D&D in TDD
George Walters II
Developer Lead
Northwoods Consulting Partners
walterg2@gmail.com ❖ @walterg2
Guy Royse
Developer Evangelist
Nexosis
guy@nexosis.com ❖ @guyroyse
Adjusting the Levels
❖ Interrupt Us
❖ All Levels Session
- Covering some basics
❖ Not Selling TDD
- Showing how not why
- The experience will show the why
❖ We Expect You to Pair
❖ Language Agnostic
- Ruby, Java, .NET, JavaScript, Haskell, Scala, Go, Python, Swift… we don’t care
❖ You Know Your Tools
- We’re not here to teach you JUnit, Jasmine, or RSpec
Katas
The Evercraft Kata
Adjusting the Levels
❖ Introduction
❖ TDD & Ping Pong Pairing
❖ Coding!
❖ Interspective
- tell us how it’s going
- reflect on what you’ve learned
❖ Lunch
- the conference does this, we ain’t feedin’ ya
❖ Moar Coding!
❖ Retrospective
❖ And the Winner Is…
Our Character Sheets
5th Level Facilitator
❖ +5 to Teaching: can help and teach
almost any student
❖ Bonus Feats: TDD & Pair
Programming
❖ Kata Mastery: have mastered the
Evercraft Kata and can help if
pairs get log-jammed
1st Level Product Owner
❖ Ideation: can form general ideas
for a product at will but won’t
know exactly what they want
❖ Clarity: given a question on
requirements can unerringly
answer it
❖ Agile Advocate: can promote
Pairing, TDD and other Agile
engineering practices to the
business 3 times per day
Questions?
TDD & Ping
Pong Pairing
A Brief History
Test-Driven Development
Write a
Failing Test
Code Just
Enough to
Make it Pass
Refactor
Your Crappy
Code
Ping Pong Pairing
Write a
Failing Test
Code Just
Enough to
Make it Pass
Refactor
Your Crappy
Code
Dos & Don’ts
Do…
❖ …start with a failing test.
❖ …write tests that become more and
more specific.
❖ …write code that becomes more and
more generic.
❖ …take turns writing tests, coding,
and refactoring.
❖ …kibitz while pairing.
❖ …consider keeping a list of tests you
need to write.
Don’t...
❖ …write more than one test at a time.
❖ …have more than one assert in a
test.
❖ …write any more code than is
needed to make the current test
pass.
❖ …code alone.
Questions?
Evercraft
Pair Up
During the Kata
❖ Ask Questions
- as product owners, we might not know what we want
- as facilitators, we might have gaps in our material
❖ Present Ideas
- as product owners, we might like them more
❖ Code the Model Only
❖ Don’t Mess with Coding the Dice
- it’s not worth the hassle
Go Forth and Code
Evercraft
Onward Mighty Adventurers
Evercraft
Thoughts So Far
Interspective
Hack & Slash Coding?
Evercraft
The Deepest Level of the
Dungeon
Evercraft
Retrospective
And The
Winner Is…
Guy Royse
Developer Evangelist
Nexosis
guy@nexosis.com ❖ @guyroyse
George Walters II
Developer Lead
Northwoods Consulting Partners
walterg2@gmail.com ❖ @walterg2
Image Credits
http://www.flickr.com/photos/kimonomania/602858091
http://www.flickr.com/photos/warquel/3300858929
http://www.flickr.com/photos/pandiyan/82387772
http://www.flickr.com/photos/camerajohn/5151120039
http://www.flickr.com/photos/kaptainkobold/174388593
http://www.flickr.com/photos/cuppini/2378443920
http://www.flickr.com/photos/melloveschallah/3304593555
http://www.flickr.com/photos/denemiles/3971887734
http://www.flickr.com/photos/howardlake/4318605890

Mais conteúdo relacionado

Mais procurados

Javascript Framework Roundup FYB
Javascript Framework Roundup FYBJavascript Framework Roundup FYB
Javascript Framework Roundup FYB
nukeevry1
 

Mais procurados (17)

Tdd!
Tdd!Tdd!
Tdd!
 
The secrets of building a team that can do everything
The secrets of building a team that can do everythingThe secrets of building a team that can do everything
The secrets of building a team that can do everything
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software design
 
Maintainable software
Maintainable softwareMaintainable software
Maintainable software
 
Javascript toolkit
Javascript toolkitJavascript toolkit
Javascript toolkit
 
Backend roadmap
Backend roadmapBackend roadmap
Backend roadmap
 
WHAT IS GR8CLUB?
WHAT IS GR8CLUB?WHAT IS GR8CLUB?
WHAT IS GR8CLUB?
 
TDC 2020 - Implementing a Mini-Language
TDC 2020 - Implementing a Mini-LanguageTDC 2020 - Implementing a Mini-Language
TDC 2020 - Implementing a Mini-Language
 
Ampersand Commerce Graduate Schemes 2013
Ampersand Commerce Graduate Schemes 2013Ampersand Commerce Graduate Schemes 2013
Ampersand Commerce Graduate Schemes 2013
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
Vim 讓你寫 Ruby 的速度飛起來
Vim 讓你寫 Ruby 的速度飛起來Vim 讓你寫 Ruby 的速度飛起來
Vim 讓你寫 Ruby 的速度飛起來
 
Fronteer: How to be Worth Millions
Fronteer: How to be Worth MillionsFronteer: How to be Worth Millions
Fronteer: How to be Worth Millions
 
ChefConf 2014 - Kanban will save You! Will it?
ChefConf 2014 - Kanban will save You! Will it?ChefConf 2014 - Kanban will save You! Will it?
ChefConf 2014 - Kanban will save You! Will it?
 
Javascript Framework Roundup FYB
Javascript Framework Roundup FYBJavascript Framework Roundup FYB
Javascript Framework Roundup FYB
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Java assignment help
Java assignment helpJava assignment help
Java assignment help
 
Masterclass San Francisco: Query workshop
Masterclass San Francisco: Query workshopMasterclass San Francisco: Query workshop
Masterclass San Francisco: Query workshop
 

Semelhante a Putting the D&D in TDD

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
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....
Mike Harris
 
Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)
Peter Kofler
 

Semelhante a Putting the D&D in TDD (20)

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
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
 
As a Salesforce Developer I will... 7 Ground Rules for Success, Robert Sösemann
As a Salesforce Developer I will... 7 Ground Rules for Success, Robert SösemannAs a Salesforce Developer I will... 7 Ground Rules for Success, Robert Sösemann
As a Salesforce Developer I will... 7 Ground Rules for Success, Robert Sösemann
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW Craftsmanship
 
Learning by contributing to Open-Source Software
 Learning by contributing to Open-Source Software Learning by contributing to Open-Source Software
Learning by contributing to Open-Source Software
 
Code quality as a built-in process
Code quality as a built-in processCode quality as a built-in process
Code quality as a built-in process
 
Sanely working with Legacy Code - PyTexas 2024
Sanely working with Legacy Code - PyTexas 2024Sanely working with Legacy Code - PyTexas 2024
Sanely working with Legacy Code - PyTexas 2024
 
FP adoption at REA
FP adoption at REAFP adoption at REA
FP adoption at REA
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job Easier
 
Do testers have to code... to be useful?
Do testers have to code... to be useful?Do testers have to code... to be useful?
Do testers have to code... to be useful?
 
Developers Best Practices
Developers Best PracticesDevelopers Best Practices
Developers Best Practices
 
Understanding Why Testing is Importaint
Understanding Why Testing is ImportaintUnderstanding Why Testing is Importaint
Understanding Why Testing is Importaint
 
How to Get Your Idea Built
How to Get Your Idea BuiltHow to Get Your Idea Built
How to Get Your Idea Built
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....
 
Développeur: Quelles compétences clés faut-il maîtriser pour être meilleur?
Développeur: Quelles compétences clés faut-il maîtriser pour être meilleur?Développeur: Quelles compétences clés faut-il maîtriser pour être meilleur?
Développeur: Quelles compétences clés faut-il maîtriser pour être meilleur?
 
Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)
 
Make a better with clean code
Make a better with clean codeMake a better with clean code
Make a better with clean code
 
Test driven, why not?
Test driven, why not?Test driven, why not?
Test driven, why not?
 
Adopting tdd in the workplace
Adopting tdd in the workplaceAdopting tdd in the workplace
Adopting tdd in the workplace
 

Mais de Guy Royse

Mais de Guy Royse (8)

Machine Learning for Fun - Finding Bigfoot with the Nexosis API
Machine Learning for Fun - Finding Bigfoot with the Nexosis APIMachine Learning for Fun - Finding Bigfoot with the Nexosis API
Machine Learning for Fun - Finding Bigfoot with the Nexosis API
 
Machine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
Machine Learning for Gamers - Dungeon Forecasts & Dragon RegressionsMachine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
Machine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
 
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptjQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
 
The Code Christmas Tree: Selling the Investment for Technical Debt
The Code Christmas Tree: Selling the Investment for Technical DebtThe Code Christmas Tree: Selling the Investment for Technical Debt
The Code Christmas Tree: Selling the Investment for Technical Debt
 
Mad Computer Science: Testing COBOL with RSpec
Mad Computer Science: Testing COBOL with RSpecMad Computer Science: Testing COBOL with RSpec
Mad Computer Science: Testing COBOL with RSpec
 
Programming on Bare Metal: Controlling Circuits with Code
Programming on Bare Metal: Controlling Circuits with CodeProgramming on Bare Metal: Controlling Circuits with Code
Programming on Bare Metal: Controlling Circuits with Code
 
Those Who Know History are Doomed to Watch Others Repeat It
Those Who Know History are Doomed to Watch Others Repeat ItThose Who Know History are Doomed to Watch Others Repeat It
Those Who Know History are Doomed to Watch Others Repeat It
 
Understanding Prototypal Inheritance
Understanding Prototypal InheritanceUnderstanding Prototypal Inheritance
Understanding Prototypal Inheritance
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Putting the D&D in TDD