Title: Tester Developer Relations A Baseball Analogy
1Tester \ Developer RelationsA Baseball Analogy
- Steven Schofield
- August 21, 2007
2History
- Articles on Sticky Mind
- Everything I Learned about Testing I Learned in
Kindergarten - Bumper Stickers for Testers
- http//www.geocities.com/harry_robinson_testing/Bu
mperStickers.htm - Why not combine my two interests?
3Why have good relations?
- Every Tester has the heart of a developer.
On their desk in a jar.
Software Testing is a second-childhood
You broke it, and Im telling.
4ReallyWhy?
- Better Communication
- Faster Debug/Triage
- Trust
5How Developers View Testers
- Sooner or later, the helpless and pathetic
programmer must hand over code that he thinks is
fully tested, to the satanically twisted souls in
Quality (Control). - These demented denizens of denigration work late
into the night in their dark and foreboding
bastions of torture, where they apply a variety
of sadistic techniques to torment our helpless
code. - They toil relentlessly, lightning flashing
outside their window, never resting until they
can prove that every last lurking bug, aphid,
insect, or arachnid of computer ineptitude has
been found, and its life squished out between
their virtual tweezers. - Jesse Liberty, The Complete Idiots Guide to A
Career in Computer Programming
6Where is the Analogy?
- Casey at Bat
- Pitchers perspective?
- http//www.baseball-almanac.com/poetry/po_case.sh
tml - Lets review some baseball.
- Baseball is the only major sport where the
defense has the ball
7(No Transcript)
8Defensive Purpose
- The point of the defensive side of baseball is to
prevent the other team from scoring - Keep as many runners off of base as possible
- Understand the hitters and understand the way
they work
9Perfect games
- A game in which the opposing team does not have a
runner reach base - 17 in ML history
- Very Good Team Communication
10Battery
- Pitcher and Catcher
- Must communicate in order to make sure they are
on the same page - Miscommunication can be costly the catcher may
be unable to catch the pitch
11Base Threats
- A Runner gets on base the team has a couple of
options - Pitch out throwing the ball away from the
batter allowing the catcher to be in a throwing
position. Better chance of getting a base
stealer out - Pick off the pitcher throws to the base where
the base stealer is. May be able to get the
runner out with the help of other team mates. - Ignore the runner
- Types of Runners
- Speedsters
- Students
- Clog
12Catcher Roles
- Catcher's Interference
- The call when a catcher oversteps his bounds and
gets in the way of the batter
13Catcher Roles
- Play at the plate
- When a throw is coming from a fielder to the
catcher and the catcher tries to block the plate -
-
- --Shlomit Levy/Los Angeles Times
14Catcher Skills
- 1. Ability to give the pitcher confidence to
throw his pitches - 2. An understanding of the game
- 3. Leadership and confidence
- 4. The ability to throw out base stealers
http//www.baseballfactory.com/downloads/news/10-
15/101502-3.html
15Catcher Roles
- The catcher's role becomes more crucial depending
on how the game is going, and how the pitcher
responds to a given situation. - The catcher's main role is to receive the pitch
if the batter does not hit it. Together with the
pitcher and coaches, the catcher plots game
strategy by suggesting different pitches and by
shifting the starting positions of the other
fielders. Catchers are also responsible for
defense in the area near home plate. - http//en.wikipedia.org/wiki/Baseball
16Great Pitchers
- Cy Young
- Sandy Kofax
- Roger Clemens
- Nolan Ryan
- Pedro Martinez
- List goes on and on
- Yearly awards for best pitchers
17Great Catchers?
- Johnny Bench
- Ivan Rodriguez
- Harder to come up with
- Any famous award for best Catcher?
18Baseball Lesson
- Thanks for the lesson, what about the analogy?
19Team Sport
- Baseball and Development
- Brunt of Work
- Pitchers and Catchers
- Developers and Testers
- Good Managers
- Must enable team to win
- Put people in the correct positions
20Before the Game
- Pitchers and Catchers study opposing team to
enable team to win - QA sets up processes to enable quality in the
product before developing starts
21During the Game
- Main point is to keep runners from scoring.
- QC activities try to find the bugs in the system
to prevent them from making it into the
customers home - As testers better understand bugs, they will know
where to look to get them out.
22Perfect games
- Baseball only has 27 outs in a game
- How many chances in a software project are there
for defects to be introduced?
23Battery
- Pitchers are like developers
- Catchers are like testers
- Opposing team is like the potential defects
- Who gets banged up day in and day out, yet still
has to come in to work?
24Battery
- Good Communication needed
- Must work together in order for the good of the
system. - Miscommunication can lead to more defects
- Pitcher in trouble if too concerned with runner
on base same with developers
25Base Threats
- Pitch Out
- The developer may give some special code to the
tester in order to isolate the bug and take care
of it - Pick Off
- The developer may give the task for fix a bug to
another developer. This is usually signaled from
the manager. - Ignore the Runner
- The bug may not seem to be a big enough threat so
it is left alone. - As the bug progresses through the system, the
tester may be able to isolate with good triage in
order to get the defect out of the system
26Types of Runners
- Speedsters
- These are defects that race through the system.
- You need to find these early in the development,
or you life is a lot more difficult - Students
- These are ones that dont show up early.
- This is more the white space that we miss in
testing. - Clog
- These are the ones that tend to mask other
defects. - Sometimes it is good to leave these in the system
because of the turmoil that may result in having
to get these out.
27Catcher Skills
Tester Skills
1. Ability to give the developer confidence to
throw his code over to the tester
- 1. Ability to give the pitcher confidence to
throw his pitches
2. An understanding of the product
2. An understanding of the game
3. Leadership and confidence
3. Leadership and confidence
4. The ability to throw out base stealers
4. The ability to find and triage defects
28Catcher Roles
Tester Roles
The tester's role becomes more crucial depending
on how the development is going, and how the
developer responds to a given situation.
The catcher's role becomes more crucial depending
on how the game is going, and how the pitcher
responds to a given situation.
29Catcher Roles
Tester Roles
The catcher's main role is to receive the pitch
if the batter does not hit it. Together with the
pitcher and coaches, the catcher plots game
strategy by suggesting different pitches and by
shifting the starting positions of the other
fielders. Catchers are also responsible for
defense in the area near home plate.
The tester's main role is to receive the
code\deliverable. Together with the developer and
team, the tester plots test strategy by trying
different ways and by helping other team members
know their role. Tester are also responsible for
regression testing.
30Catcher Roles
- Catcher's Interference
- Be sure you understand your boundaries
- Dont interfere when it isnt your job to
31Catcher Roles
- Play at the plate
- The tester is the last line of defense until the
product reaches the customer. -
-
- --Shlomit Levy/Los Angeles Times
32Credit
- Who gets the most of the credit when a product is
delivered with few defects? - It is rarely the catchers.
33Back to Casey at the Bat
mighty Casey has struck out.