SlideShare a Scribd company logo
1 of 21
Download to read offline
 
 

BT4
Session 
6/6/2013 10:15 AM 
 
 
 
 
 
 
 

"Non-Pathological Software Metrics"
 
 
 

Presented by:
Stephen Frein
Comcast Cable
 
 
 
 
 
 
 
 
 

Brought to you by: 
 

 
 
340 Corporate Way, Suite 300, Orange Park, FL 32073 
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Stephen Frein
Comcast

Stephen Frein is a software development manager at Comcast, where his team creates tools
for process automation and quality assurance. As an adjunct professor at Drexel University, he
delivers soporific lectures on database development and IT management. Stephen has been
leading development teams for fifteen years, and occasionally does it well, mostly by dint of
accidents he cannot reliably replicate. He has presented at previous conferences by sneaking
into unused rooms and deceiving the unsuspecting. Stephen enjoys polluting the hive mind
via frein.com and writing vapid, self-deprecating bios.
 
Non Pathological
Non-Pathological
Software Metrics
Stephen Frein
Comcast
C
t
http://www.frein.com
stephen.frein@gmail.com

About Me
Context Matters
Metrics can do harm.

Be careful of what
B
f l f h
you incentivize.
Why Measure?

Clarity
Objectivity

Authority
What to Measure?

Productivity!
You can't do that.
Quit it.
Stop it.
-- Joel Spolsky
We have no way of reasonably
W h
f
bl
measuring productivity.
-- Martin Fowler

You get what you measure.
Is that h t
I th t what you want?
t?
LOC
Lines of Code

More is Better!

public Cost calculateShipmentCost(Order someOrder) {
Cost shipCost = new Cost(0);
if (someOrder.getTotalCost() < 25) { shipCost.setCost(10); }
else { shipCost.setCost(5); }
return shipCost;
9 LOC
}
public Cost calculateTotalCost(Order someOrder) {
return someOrder.getTotalCost().add(
calculateShipmentCost(someOrder).getCost() );
}
public Cost calculateReturnRefund(Order someOrder) {
// only half of shipping costs get refunded
return someOrder.getTotalCost().add(
calculateShipmentCost(someOrder).getCost()/2) );
}
public Cost calculateTotalCost(Order someOrder) {
Cost shipCost = new Cost(0);
if (someOrder.getTotalCost() < 25) { shipCost.setCost(10); }
else { shipCost.setCost(5.00); }
return someOrder.getTotalCost().add(
shipCost.getCost()
shipCost getCost() );
}
public Cost calculateReturnRefund(Order someOrder) {
Cost shipCost = new Cost(0);
if (someOrder.getTotalCost() < 25) { shipCost.setCost(10); }
else { shipCost.setCost(5.00); }
p
(
)
// only half of shipping costs get refunded
return someOrder.getTotalCost().add(
shipCost.getCost()/2 );
}

10 LOC

Trade-offs
Maintainability

“Productivity”
Productivity
Change Incentives

Economics
Drive Behavior
Goodhart’s Law
Don’t make a measure

into a target.

Guess when …
<sarcasm>

This never would have happened if
we were using
</sarcasm>

story points.
i

Predicting the Future

“Ideal”
Metrics that focus on a proxy often
cause pathological
PROXY

behaviors.
GOAL

The proxy loses its connection
to the intended goal.

What to do?
Balance
Test Cases Per Hour

Defects Per Test Case

Stealth
Voyeurism

Independence
Metrics I’ve Tried

Truck Number
How many
y
people can get
hit by a truck
before the
project is in big
trouble?
Customer Satisfaction
What do your
customers think
of your product?

Recommended:
o
o
o
o

Short
Sh rt
Simple
Anonymous
Comment box
Learning
Find the Incentives
Questions?

More Related Content

Viewers also liked

Viewers also liked (10)

Your Agile Prioritization Process Is Probably Wrong
Your Agile Prioritization Process Is Probably WrongYour Agile Prioritization Process Is Probably Wrong
Your Agile Prioritization Process Is Probably Wrong
 
Twelve Risks to Enterprise Software Projects—And What to Do about Them
Twelve Risks to Enterprise Software Projects—And What to Do about ThemTwelve Risks to Enterprise Software Projects—And What to Do about Them
Twelve Risks to Enterprise Software Projects—And What to Do about Them
 
Introducing Keyword-driven Test Automation
Introducing Keyword-driven Test AutomationIntroducing Keyword-driven Test Automation
Introducing Keyword-driven Test Automation
 
Innovation Thinking: Evolve and Expand Your Capabilities
Innovation Thinking: Evolve and Expand Your CapabilitiesInnovation Thinking: Evolve and Expand Your Capabilities
Innovation Thinking: Evolve and Expand Your Capabilities
 
Observation: The Key to a Great User Experience
Observation: The Key to a Great User ExperienceObservation: The Key to a Great User Experience
Observation: The Key to a Great User Experience
 
Leading the Creation of an Agile Culture
Leading the Creation of an Agile CultureLeading the Creation of an Agile Culture
Leading the Creation of an Agile Culture
 
Getting Started with Agile: An Experiential Workshop
Getting Started with Agile: An Experiential WorkshopGetting Started with Agile: An Experiential Workshop
Getting Started with Agile: An Experiential Workshop
 
Data-Driven Software Engineering for Agile Teams
Data-Driven Software Engineering for Agile TeamsData-Driven Software Engineering for Agile Teams
Data-Driven Software Engineering for Agile Teams
 
Test Data Management: A Healthcare Industry Case Study
Test Data Management: A Healthcare Industry Case StudyTest Data Management: A Healthcare Industry Case Study
Test Data Management: A Healthcare Industry Case Study
 
Testing the Data Warehouse
Testing the Data WarehouseTesting the Data Warehouse
Testing the Data Warehouse
 

Similar to Non-Pathological Software Metrics

(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...
(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...
(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...
Phil Calçado
 
Supersize me
Supersize meSupersize me
Supersize me
dominion
 
ROOT Cause Analysis RCA Workshop maint.ppt
ROOT Cause Analysis RCA Workshop maint.pptROOT Cause Analysis RCA Workshop maint.ppt
ROOT Cause Analysis RCA Workshop maint.ppt
Madan Karki
 
Spring 2014 CSCI 111 Final exam of 1 61. (2 points) Fl.docx
Spring 2014 CSCI 111 Final exam   of 1 61. (2 points) Fl.docxSpring 2014 CSCI 111 Final exam   of 1 61. (2 points) Fl.docx
Spring 2014 CSCI 111 Final exam of 1 61. (2 points) Fl.docx
rafbolet0
 
C Sharp Jn (3)
C Sharp Jn (3)C Sharp Jn (3)
C Sharp Jn (3)
jahanullah
 
Sqlforetltesting 130712042826-phpapp01
Sqlforetltesting 130712042826-phpapp01Sqlforetltesting 130712042826-phpapp01
Sqlforetltesting 130712042826-phpapp01
Gyanendra Kumar
 

Similar to Non-Pathological Software Metrics (20)

maxbox starter72 multilanguage coding
maxbox starter72 multilanguage codingmaxbox starter72 multilanguage coding
maxbox starter72 multilanguage coding
 
(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...
(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...
(ThoughtWorks Away Day 2009) one or two things you may not know about typesys...
 
As400 session or device error
As400   session or device errorAs400   session or device error
As400 session or device error
 
Supersize me
Supersize meSupersize me
Supersize me
 
Desafios do Profissionalismo Ágil
Desafios do Profissionalismo ÁgilDesafios do Profissionalismo Ágil
Desafios do Profissionalismo Ágil
 
Loops
LoopsLoops
Loops
 
ROOT Cause Analysis RCA Workshop maint.ppt
ROOT Cause Analysis RCA Workshop maint.pptROOT Cause Analysis RCA Workshop maint.ppt
ROOT Cause Analysis RCA Workshop maint.ppt
 
Advanced Visual Studio 2005 Tools For Office Programming And Deployment
Advanced Visual Studio 2005 Tools For Office Programming And DeploymentAdvanced Visual Studio 2005 Tools For Office Programming And Deployment
Advanced Visual Studio 2005 Tools For Office Programming And Deployment
 
Spring 2014 CSCI 111 Final exam of 1 61. (2 points) Fl.docx
Spring 2014 CSCI 111 Final exam   of 1 61. (2 points) Fl.docxSpring 2014 CSCI 111 Final exam   of 1 61. (2 points) Fl.docx
Spring 2014 CSCI 111 Final exam of 1 61. (2 points) Fl.docx
 
C Sharp Jn (3)
C Sharp Jn (3)C Sharp Jn (3)
C Sharp Jn (3)
 
Term 2 CS Practical File 2021-22.pdf
Term 2 CS Practical File 2021-22.pdfTerm 2 CS Practical File 2021-22.pdf
Term 2 CS Practical File 2021-22.pdf
 
"Final fsFighting Complex Application State Management with Finite-State Mach...
"Final fsFighting Complex Application State Management with Finite-State Mach..."Final fsFighting Complex Application State Management with Finite-State Mach...
"Final fsFighting Complex Application State Management with Finite-State Mach...
 
Borland star team to tfs simple migration
Borland star team to tfs simple migrationBorland star team to tfs simple migration
Borland star team to tfs simple migration
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
 
C multiple choice questions and answers pdf
C multiple choice questions and answers pdfC multiple choice questions and answers pdf
C multiple choice questions and answers pdf
 
Event Driven Programming Made Easy For Network Packet Analysis
Event Driven Programming Made Easy For Network Packet AnalysisEvent Driven Programming Made Easy For Network Packet Analysis
Event Driven Programming Made Easy For Network Packet Analysis
 
Computer Networks Lab File
Computer Networks Lab FileComputer Networks Lab File
Computer Networks Lab File
 
Virus lab
Virus labVirus lab
Virus lab
 
The Ring programming language version 1.5.1 book - Part 175 of 180
The Ring programming language version 1.5.1 book - Part 175 of 180 The Ring programming language version 1.5.1 book - Part 175 of 180
The Ring programming language version 1.5.1 book - Part 175 of 180
 
Sqlforetltesting 130712042826-phpapp01
Sqlforetltesting 130712042826-phpapp01Sqlforetltesting 130712042826-phpapp01
Sqlforetltesting 130712042826-phpapp01
 

More from TechWell

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

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
 
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
 
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
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
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
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
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 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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, ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 

Non-Pathological Software Metrics

  • 1.     BT4 Session  6/6/2013 10:15 AM                "Non-Pathological Software Metrics"       Presented by: Stephen Frein Comcast Cable                   Brought to you by:        340 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Stephen Frein Comcast Stephen Frein is a software development manager at Comcast, where his team creates tools for process automation and quality assurance. As an adjunct professor at Drexel University, he delivers soporific lectures on database development and IT management. Stephen has been leading development teams for fifteen years, and occasionally does it well, mostly by dint of accidents he cannot reliably replicate. He has presented at previous conferences by sneaking into unused rooms and deceiving the unsuspecting. Stephen enjoys polluting the hive mind via frein.com and writing vapid, self-deprecating bios.  
  • 3. Non Pathological Non-Pathological Software Metrics Stephen Frein Comcast C t http://www.frein.com stephen.frein@gmail.com About Me
  • 4. Context Matters Metrics can do harm. Be careful of what B f l f h you incentivize.
  • 7. You can't do that. Quit it. Stop it. -- Joel Spolsky We have no way of reasonably W h f bl measuring productivity. -- Martin Fowler You get what you measure. Is that h t I th t what you want? t?
  • 8. LOC Lines of Code More is Better! public Cost calculateShipmentCost(Order someOrder) { Cost shipCost = new Cost(0); if (someOrder.getTotalCost() < 25) { shipCost.setCost(10); } else { shipCost.setCost(5); } return shipCost; 9 LOC } public Cost calculateTotalCost(Order someOrder) { return someOrder.getTotalCost().add( calculateShipmentCost(someOrder).getCost() ); } public Cost calculateReturnRefund(Order someOrder) { // only half of shipping costs get refunded return someOrder.getTotalCost().add( calculateShipmentCost(someOrder).getCost()/2) ); }
  • 9. public Cost calculateTotalCost(Order someOrder) { Cost shipCost = new Cost(0); if (someOrder.getTotalCost() < 25) { shipCost.setCost(10); } else { shipCost.setCost(5.00); } return someOrder.getTotalCost().add( shipCost.getCost() shipCost getCost() ); } public Cost calculateReturnRefund(Order someOrder) { Cost shipCost = new Cost(0); if (someOrder.getTotalCost() < 25) { shipCost.setCost(10); } else { shipCost.setCost(5.00); } p ( ) // only half of shipping costs get refunded return someOrder.getTotalCost().add( shipCost.getCost()/2 ); } 10 LOC Trade-offs Maintainability “Productivity” Productivity
  • 11. Goodhart’s Law Don’t make a measure into a target. Guess when …
  • 12. <sarcasm> This never would have happened if we were using </sarcasm> story points. i Predicting the Future “Ideal”
  • 13. Metrics that focus on a proxy often cause pathological PROXY behaviors. GOAL The proxy loses its connection to the intended goal. What to do?
  • 14. Balance Test Cases Per Hour Defects Per Test Case Stealth
  • 16. Metrics I’ve Tried Truck Number How many y people can get hit by a truck before the project is in big trouble?
  • 17.
  • 18. Customer Satisfaction What do your customers think of your product? Recommended: o o o o Short Sh rt Simple Anonymous Comment box