SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
White Master
Pairing with Developers
Lanette Creamer
Sogeti Senior Consultant
testyredhead.com
Contents
What is a developer anyways?
Who are we?
How and why we started pairing.
Why we continued.
When we finished.
Our informal retrospective results.
You will leave with
At least one idea of how to start pairing.
A real example that worked in practice.
Two contacts who can help you.
Ideas that can be adapted to any context.
Ways to challenge existing role definitions.
Loading Project Background
1st Agile Project
Scrum Master Training (Woof)
Quality Initiative Dynamics
Distributed undersized Team with non-iterative goals
Very Late Delivery Expected
Grandiose Unit Test Coverage Planned
Testing Limbo
Define Software Developer
Anyone who codes?
Production code? 
What about TDD? 
Are tests part of production?
What about the code we didn’t write? 
Integrated components? 
Interacting with existing databases?
Software Developer?
Software Developer?
Software Developer?
Tester or Developer?
Developer Instance
Meet Marty
& his son.
Developer Instance
Marty is a Developer who tests sometimes.
His website is http://www.theflexguy.com/
He makes testing tools and flex applications at
Adobe. Still, he is not the tester in this case. He is
the tools developer.
Define Software Tester
The tester is the person taking action to obtain
and provide current information about the
suitability of the product for the intended use by
performing tests.
Tester Instance
Tester Instance
Me.
Prior experience on agile projects == 0
Prior experience testing Flex Apps == 0
Prior coding experience?
Some .bat files
A few fancy excel spreadsheets
A few mouseovers in ActionScript
Tester or Developer?
The Start of Pairing
What is the URL for that dashboard you are
working on?
It’s not really ready for test yet.
I understand, but can you show me what you are
working on so I can think of some test cases?
Sure! I’ll walk you through it!
How to start-Just go
Testing before Testing?
A test can be a question that hasn’t been
considered.
A test can be challenging an assumption someone
didn’t know they made.
A test is any question you can think of that the code
may not yet answer.
Pairing-Advantage Test
I came up with some tests and some questions.
Why don’t you stop by and we’ll go through them
together.
Do you know how I could post some good data to
test the limits of _________?
How can I compare this value to know what I’m
seeing is right?
Avoid Pitfalls
Pairing-Advantage Dev
These parts are ready for some testing, but these
areas aren’t hooked up yet. Stop by and I’ll walk
you through it.
During small demo-What happens if? Why is it
showing that? Where is that time coming from?
Let me show you. Here I get the time and I pass
it,..wait? I did WHAT? Here, I can change that.
Hurricane Season?
Pairing-Advantage Both
He showed me how to post a build.
I got source control to look at his changes
because I had to in order to post my test files.
He showed me how his dashboard used the
metadata.
I found an example Python script and went to
town making ugly non-object oriented code, but
everyone got an automated acceptance test!
From that ugly first test we worked together &
automated shipping all products at once!
Puzzles
Pairing-Why did it work?
A willing teacher who values testing skill.
A tester who understands the basics of
programming. Someone who can’t write pseudo
code and understand it should not try a code
walkthrough.
More coding experience is better, but it doesn’t
negate the value of an early test perspective.
My code got better, and his code was stable
much sooner when the test expectations were
built in.
Unlocking & Unblocking
Why not just code review?
Marty left me a great comment about my
automation. He was excited.
Thanks for the comment, but I have no idea how
to do that. In fact, it isn’t even a word in my
vocabulary?
Oh. Research these three things before our next
pairing.
The code changes we made together made my
automation go down from taking 2 hours to
running in less than 2 minutes. Pairing is more
than a review.
Passes Code Inspection?
Isn’t it a waste of time?
If you have a dev who thinks it is a waste
If you have a tester who is afraid to be wrong or
look a fool
If your goal is to have maximum documentation
over speed and learning
If your employees gaining new skills isn’t as
important as your very best people never being
interrupted
If mentoring isn’t seen as a priority or rewarded
It could be.
Good Enough?
Good Enough?
Do
Try pairing for a short time with many people.
Respect that not everyone wants to pair.
Ask for feedback on what is most productive and
adjust the focus from time to time.
Find the right time of day. 11am and 2pm were
good for us. 9am and 4:30pm sucked.
Start small. We met just once a week for an hour
at a time sometimes. It was enough to keep the
pairing going through the project.
Do
Don’t
Make a mandate.
Say all coders must test, all testers must code.
Say it is a choice, then layoff or demote anyone
who doesn’t oblige.
Insist that every pairing produce a deliverable.
Some of our best stuff only produced ideas to go
work on by ourselves.
Make introverts work with a tester staring at them
all day (awkward!) Agile Nazis are still Nazis.
Don’t
Marty Says
“Explaining the function of the code helped flush
out potential problems early on.  Also, having
another perspective helped pull my nose off the
grindstone to get the big picture, which is good
for keeping the project going in the right
direction.”
Marty Says
“As a developer, it is very easy to get lost in your
own little world, and you can develop blinders to
the big picture. Working with someone else,
especially a tester who can bring to the table a
completely different perspective, can improve the
quality of an application much faster than working
alone. I’m going to look for more opportunities to
pair routinely now that I see and reflect on the
value of it.”
Summary
Before you can test the code, you can test the
product if you expand what a test is.
Developers can make code more testable by
pairing with the right testers.
Teamwork can be good for productivity, morale,
and cross training your team.
It doesn’t matter if it is test code or product code.
You need quality craftsmanship for both.
Pairing works well when you let the amount ebb
& flow as needed.
Q&A
Lanette.creamer@gmail.com
http://blog.testyredhead.com
Twitter @lanettecream

Contenu connexe

Tendances

How to Get a Product Manager Job
How to Get a Product Manager JobHow to Get a Product Manager Job
How to Get a Product Manager Job
Lewis Lin 🦊
 
Top 7 product manager interview questions answers
Top 7 product manager interview questions answersTop 7 product manager interview questions answers
Top 7 product manager interview questions answers
SuccessSecrets247
 
Top 10 technical program manager interview questions and answers
Top 10 technical program manager interview questions and answersTop 10 technical program manager interview questions and answers
Top 10 technical program manager interview questions and answers
foreverlove251092
 
Top 10 call center operations manager interview questions and answers
Top 10 call center operations manager interview questions and answersTop 10 call center operations manager interview questions and answers
Top 10 call center operations manager interview questions and answers
cadderlux
 
Top 5 commissioning engineer interview questions with answers
Top 5 commissioning engineer interview questions with answersTop 5 commissioning engineer interview questions with answers
Top 5 commissioning engineer interview questions with answers
bantdaisy35
 

Tendances (19)

Top 45 electrical engineer internship interview questions and answers pdf
Top 45 electrical engineer internship interview questions and answers pdfTop 45 electrical engineer internship interview questions and answers pdf
Top 45 electrical engineer internship interview questions and answers pdf
 
How to Create a Great Product Storyboard in 8 Steps
How to Create a Great Product Storyboard in 8 StepsHow to Create a Great Product Storyboard in 8 Steps
How to Create a Great Product Storyboard in 8 Steps
 
Top 40 electrical project engineer interview questions and answers pdf ebook ...
Top 40 electrical project engineer interview questions and answers pdf ebook ...Top 40 electrical project engineer interview questions and answers pdf ebook ...
Top 40 electrical project engineer interview questions and answers pdf ebook ...
 
How to Get a Product Manager Job
How to Get a Product Manager JobHow to Get a Product Manager Job
How to Get a Product Manager Job
 
Greythorn Resume and Interview Tips
Greythorn Resume and Interview TipsGreythorn Resume and Interview Tips
Greythorn Resume and Interview Tips
 
Top 7 product manager interview questions answers
Top 7 product manager interview questions answersTop 7 product manager interview questions answers
Top 7 product manager interview questions answers
 
Top 45 colgate palmolive internship interview questions and answers pdf
Top 45 colgate palmolive internship interview questions and answers pdfTop 45 colgate palmolive internship interview questions and answers pdf
Top 45 colgate palmolive internship interview questions and answers pdf
 
Top 10 technical program manager interview questions and answers
Top 10 technical program manager interview questions and answersTop 10 technical program manager interview questions and answers
Top 10 technical program manager interview questions and answers
 
Top 45 it project manager internship interview questions and answers pdf
Top 45 it project manager internship interview questions and answers pdfTop 45 it project manager internship interview questions and answers pdf
Top 45 it project manager internship interview questions and answers pdf
 
Select Product Idea
Select Product IdeaSelect Product Idea
Select Product Idea
 
Project Management / Manager Interview Questions
Project Management / Manager Interview QuestionsProject Management / Manager Interview Questions
Project Management / Manager Interview Questions
 
Top 10 call center operations manager interview questions and answers
Top 10 call center operations manager interview questions and answersTop 10 call center operations manager interview questions and answers
Top 10 call center operations manager interview questions and answers
 
Job Interview Common Question
Job Interview Common QuestionJob Interview Common Question
Job Interview Common Question
 
Top 45 first energy internship interview questions and answers pdf
Top 45 first energy internship interview questions and answers pdfTop 45 first energy internship interview questions and answers pdf
Top 45 first energy internship interview questions and answers pdf
 
Top 5 commissioning engineer interview questions with answers
Top 5 commissioning engineer interview questions with answersTop 5 commissioning engineer interview questions with answers
Top 5 commissioning engineer interview questions with answers
 
Top 45 design engineer internship interview questions and answers pdf
Top 45 design engineer internship interview questions and answers pdfTop 45 design engineer internship interview questions and answers pdf
Top 45 design engineer internship interview questions and answers pdf
 
Top 45 bell helicopter interview questions and answers pdf
Top 45 bell helicopter interview questions and answers pdfTop 45 bell helicopter interview questions and answers pdf
Top 45 bell helicopter interview questions and answers pdf
 
Frame your Value and Growth Hypothesis
Frame your Value and Growth HypothesisFrame your Value and Growth Hypothesis
Frame your Value and Growth Hypothesis
 
Tips To Write One Page Resume
Tips To Write One Page ResumeTips To Write One Page Resume
Tips To Write One Page Resume
 

En vedette (6)

Agile testingninjasst pcon
Agile testingninjasst pconAgile testingninjasst pcon
Agile testingninjasst pcon
 
Collaborative testingultimateoverview
Collaborative testingultimateoverviewCollaborative testingultimateoverview
Collaborative testingultimateoverview
 
9 tipstoencouragecollaborativetestingstp con
9 tipstoencouragecollaborativetestingstp con9 tipstoencouragecollaborativetestingstp con
9 tipstoencouragecollaborativetestingstp con
 
Practical Diversity Tactics Interactive Workshop
Practical Diversity Tactics Interactive WorkshopPractical Diversity Tactics Interactive Workshop
Practical Diversity Tactics Interactive Workshop
 
Testing Small Agile Projects from Agile Vancouver Quality Conference 2014
Testing Small Agile Projects from Agile Vancouver Quality Conference 2014Testing Small Agile Projects from Agile Vancouver Quality Conference 2014
Testing Small Agile Projects from Agile Vancouver Quality Conference 2014
 
Reducing Test Case Bloat2 1
Reducing Test Case Bloat2 1Reducing Test Case Bloat2 1
Reducing Test Case Bloat2 1
 

Similaire à Pairing w developers_stpconpics

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Samnang Chhun
 
Working together
Working togetherWorking together
Working together
himaye
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
Peter Presnell
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
Matteo Baglini
 

Similaire à Pairing w developers_stpconpics (20)

10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
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
 
Best pratice
Best praticeBest pratice
Best pratice
 
Tdd
TddTdd
Tdd
 
Test-Driven Development
 Test-Driven Development  Test-Driven Development
Test-Driven Development
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
 
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
Unit testing
Unit testingUnit testing
Unit testing
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
 
Helping Programmers Write Better Tests
Helping Programmers Write Better TestsHelping Programmers Write Better Tests
Helping Programmers Write Better Tests
 
Working together
Working togetherWorking together
Working together
 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
 
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
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
 

Dernier (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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...
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 

Pairing w developers_stpconpics

  • 1. White Master Pairing with Developers Lanette Creamer Sogeti Senior Consultant testyredhead.com
  • 2. Contents What is a developer anyways? Who are we? How and why we started pairing. Why we continued. When we finished. Our informal retrospective results.
  • 3. You will leave with At least one idea of how to start pairing. A real example that worked in practice. Two contacts who can help you. Ideas that can be adapted to any context. Ways to challenge existing role definitions.
  • 4. Loading Project Background 1st Agile Project Scrum Master Training (Woof) Quality Initiative Dynamics Distributed undersized Team with non-iterative goals Very Late Delivery Expected Grandiose Unit Test Coverage Planned
  • 6. Define Software Developer Anyone who codes? Production code? What about TDD? Are tests part of production? What about the code we didn’t write? Integrated components? Interacting with existing databases?
  • 12. Developer Instance Marty is a Developer who tests sometimes. His website is http://www.theflexguy.com/ He makes testing tools and flex applications at Adobe. Still, he is not the tester in this case. He is the tools developer.
  • 13. Define Software Tester The tester is the person taking action to obtain and provide current information about the suitability of the product for the intended use by performing tests.
  • 15. Tester Instance Me. Prior experience on agile projects == 0 Prior experience testing Flex Apps == 0 Prior coding experience? Some .bat files A few fancy excel spreadsheets A few mouseovers in ActionScript
  • 17. The Start of Pairing What is the URL for that dashboard you are working on? It’s not really ready for test yet. I understand, but can you show me what you are working on so I can think of some test cases? Sure! I’ll walk you through it!
  • 19. Testing before Testing? A test can be a question that hasn’t been considered. A test can be challenging an assumption someone didn’t know they made. A test is any question you can think of that the code may not yet answer.
  • 20. Pairing-Advantage Test I came up with some tests and some questions. Why don’t you stop by and we’ll go through them together. Do you know how I could post some good data to test the limits of _________? How can I compare this value to know what I’m seeing is right?
  • 22. Pairing-Advantage Dev These parts are ready for some testing, but these areas aren’t hooked up yet. Stop by and I’ll walk you through it. During small demo-What happens if? Why is it showing that? Where is that time coming from? Let me show you. Here I get the time and I pass it,..wait? I did WHAT? Here, I can change that.
  • 24. Pairing-Advantage Both He showed me how to post a build. I got source control to look at his changes because I had to in order to post my test files. He showed me how his dashboard used the metadata. I found an example Python script and went to town making ugly non-object oriented code, but everyone got an automated acceptance test! From that ugly first test we worked together & automated shipping all products at once!
  • 26. Pairing-Why did it work? A willing teacher who values testing skill. A tester who understands the basics of programming. Someone who can’t write pseudo code and understand it should not try a code walkthrough. More coding experience is better, but it doesn’t negate the value of an early test perspective. My code got better, and his code was stable much sooner when the test expectations were built in.
  • 28. Why not just code review? Marty left me a great comment about my automation. He was excited. Thanks for the comment, but I have no idea how to do that. In fact, it isn’t even a word in my vocabulary? Oh. Research these three things before our next pairing. The code changes we made together made my automation go down from taking 2 hours to running in less than 2 minutes. Pairing is more than a review.
  • 30. Isn’t it a waste of time? If you have a dev who thinks it is a waste If you have a tester who is afraid to be wrong or look a fool If your goal is to have maximum documentation over speed and learning If your employees gaining new skills isn’t as important as your very best people never being interrupted If mentoring isn’t seen as a priority or rewarded It could be.
  • 33. Do Try pairing for a short time with many people. Respect that not everyone wants to pair. Ask for feedback on what is most productive and adjust the focus from time to time. Find the right time of day. 11am and 2pm were good for us. 9am and 4:30pm sucked. Start small. We met just once a week for an hour at a time sometimes. It was enough to keep the pairing going through the project.
  • 34. Do
  • 35. Don’t Make a mandate. Say all coders must test, all testers must code. Say it is a choice, then layoff or demote anyone who doesn’t oblige. Insist that every pairing produce a deliverable. Some of our best stuff only produced ideas to go work on by ourselves. Make introverts work with a tester staring at them all day (awkward!) Agile Nazis are still Nazis.
  • 37. Marty Says “Explaining the function of the code helped flush out potential problems early on.  Also, having another perspective helped pull my nose off the grindstone to get the big picture, which is good for keeping the project going in the right direction.”
  • 38. Marty Says “As a developer, it is very easy to get lost in your own little world, and you can develop blinders to the big picture. Working with someone else, especially a tester who can bring to the table a completely different perspective, can improve the quality of an application much faster than working alone. I’m going to look for more opportunities to pair routinely now that I see and reflect on the value of it.”
  • 39. Summary Before you can test the code, you can test the product if you expand what a test is. Developers can make code more testable by pairing with the right testers. Teamwork can be good for productivity, morale, and cross training your team. It doesn’t matter if it is test code or product code. You need quality craftsmanship for both. Pairing works well when you let the amount ebb & flow as needed.