SlideShare a Scribd company logo
1 of 32
Bits of Evidence What We Actually Know About Software Development, and Why We Believe It’s True Greg Wilson http://third-bit.com Feb 2010
Once Upon a Time... Seven Years’ War (actually 1754-63) Britain lost 1,512 sailors to enemy action... ...and almost 100,000 to scurvy
Oh, the Irony James Lind (1716-94) 1747: (possibly) the first-ever controlled medical experiment No-one paid attention until a proper Englishman repeated the experiment in 1794... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
It Took a While to Catch On 1950: Hill & Doll publish a case-control study  comparing smokers with non-smokers 1951: start the British Doctors Study (which runs until 2001)
What They Discovered #1: Smoking causes lung cancer “ ...what happens ‘on average’ is of no help when one is faced with a specific patient...” #2: Many people would rather fail than change
Like Water on Stone 1992: Sackett coins the term “ evidence-based medicine” Randomized double-blind trials are accepted as the gold standard for medical research The Cochrane Collaboration (http://www.cochrane.org/) now archives results from hundreds of medical studies
So Where Are We? “ [Using domain-specific languages] leads to two primary benefits. The first, and simplest, is improved programmer productivity... The second...is...communication with domain experts.” –  Martin Fowler (IEEE Software, July/August 2009)
Say Again? One of the smartest guys in our industry... ...made two substantive claims... ...in an academic journal... ...without a single citation Please note: I’m not disagreeing with his claims —I just want to point out that even the best of us aren’t doing what we expect the makers of acne creams to do.
Um, No “ Debate still continues about how valuable DSLs are in practice. I believe that debate is hampered because not enough people know how to develop DSLs effectively.” I think debate is hampered by  low standards for proof The good news is, things have started to improve
The Times They Are A-Changin’ Growing emphasis on empirical studies in software engineering research since the mid-1990s Papers describing new tools or practices routinely include results from some kind of field study Yes, many are flawed or incomplete, but standards are constantly improving
My Favorite Little Result Aranda & Easterbrook (2005): “Anchoring and Adjustment in Software Estimation” “ How long do you think it will take to make a change to this program?” Control Group: “ I’d like to give an estimate for this project myself, but I admit I have no experience estimating. We’ll wait for your calculations for an estimate.” Group A:  “I admit I have no experience with software projects, but I guess this will take about 2 months to finish. ” Group B:  “...I guess this will take about 20 months... ”
Results The anchor mattered more than experience, how formal the estimation method was, or anything else. Q: Are agile projects similarly afflicted, just on a shorter and more rapid cycle? Group A (lowball) 5.1 months Control Group 7.8 months Group B (highball) 15.4 months
Most Frequently Misquoted Sackman, Erikson, and Grant (1968): “Exploratory experimental studies comparing online and offline programming performance.” Or 10, or 40, or 100, or whatever other large number pops into the head of someone who can’t be bothered to look up the reference... The best programmers are up to 28 times more productive than the worst.
Let’s Pick That Apart ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
So What  Do  We Know? ,[object Object],[object Object],[object Object],I’m not going to tell you Instead, I’d like you to look at the work of Lutz Prechelt Productivity and reliability depend on the length of the program's text, independent of language level.
A Classic Result... Boehm et al (1975): “Some Experience with Automated Aids to the Design of Large-Scale Reliable Software.” ...and many, many more since ,[object Object],[object Object],time number  /  cost
...Which Explains a Lot Pessimists: “If we tackle the hump in the error injection curve, fewer bugs will get to the expensive part of the fixing curve.” Optimists: “If we do lots of short iterations, the total cost of fixing bugs will go down.”
The Real Reason I Care A: I've always believed that there are just fundamental differences between the sexes... B: What data are you basing that opinion on? A: It's more of an unrefuted hypothesis based on personal observation. I have read a few studies on the topic and I found them unconvincing... B: Which studies were those? A: [no reply]
What Real Scientists Do ,[object Object],[object Object],[object Object],[object Object],Ceci & Williams (eds):  Why Aren’t More Women in Science? Top Researchers Debate the Evidence Informed  debate on nature vs. nurture
Greatest Hits ,[object Object],[object Object],[object Object],FIXME: add gratuitous images to liven up these slides.
Greatest Hits (cont.) ,[object Object],[object Object],Gratuitous image. Shouldn’t our development practices  be built around these facts?
More Than Numbers ,[object Object],[object Object],More gratuitous images.
Another Personal Favorite Conway’s Law: A system reflects the organizational structure that built it. Meant as a joke Turns out to be true (Herbsleb et al 1999)
But Wait, There’s More! Nagappan et al (2007) & Bird et al (2009): Physical distance doesn’t affect post-release fault rates Distance in the organizational chart does No, really — shouldn’t our development practices  be built around these facts?
Two Steps Forward... ,[object Object],[object Object],“ Progress” sometimes means saying, “Oops.” El Emam et al (2001): “The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics” Can code metrics predict post-release fault rates? We thought so, but then...
Folk Medicine for Software Systematizing and synthesizing colloquial practice has been very productive in other disciplines…
How Do We Get There? 2007 2008 – 2009
The Book Without a Name Wanted to call the next one  Beautiful Evidence , but Edward Tufte got there first “ What we know and why we think it’s true” (By the way, his book is really good) Knowledge transfer A better textbook Change the debate
A Lot Of Editing In My Future Jorge Aranda Tom Ball Victor Basili Andrew Begel Christian Bird Barry Boehm Marcelo Cataldo Steven Clarke Jason Cohen Rob DeLine Khaled El Emam Hakan Erdogmus Michael Godfrey Mark Guzdial Jo Hannay Ahmed Hassan Israel Herraiz Kim Herzig Barbara Kitchenham Andrew Ko Lucas Layman Steve McConnell Audris Mockus Gail Murphy Nachi Nagappan Tom Ostrand Dewayne Perry Marian Petre Lutz Prechelt Rahul Premraj Dieter Rombach Forrest Shull Beth Simon Janice Singer Diomidis Spinellis Neil Thomas Walter Tichy Burak Turhan Gina Venolia Elaine Weyuker Laurie Williams Andreas Zeller Tom Zimmermann
The Hopeful Result
The  Real  Reason It Matters
Thank you, and good luck

More Related Content

What's hot

Google guava - almost everything you need to know
Google guava - almost everything you need to knowGoogle guava - almost everything you need to know
Google guava - almost everything you need to knowTomasz Dziurko
 
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIOHigh Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIORebekah Rodriguez
 
Reactive stream processing using Akka streams
Reactive stream processing using Akka streams Reactive stream processing using Akka streams
Reactive stream processing using Akka streams Johan Andrén
 
Apache Arrow Flight Overview
Apache Arrow Flight OverviewApache Arrow Flight Overview
Apache Arrow Flight OverviewJacques Nadeau
 
Introduction to Apache Spark Ecosystem
Introduction to Apache Spark EcosystemIntroduction to Apache Spark Ecosystem
Introduction to Apache Spark EcosystemBojan Babic
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - ObservabilityAraf Karsh Hamid
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGIMike Pittaro
 
Parallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeParallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeDatabricks
 
Writing Smarter Applications with Machine Learning
Writing Smarter Applications with Machine LearningWriting Smarter Applications with Machine Learning
Writing Smarter Applications with Machine LearningAnoop Thomas Mathew
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explainedconfluent
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...Flink Forward
 
Git with t for teams
Git with t for teamsGit with t for teams
Git with t for teamsSven Peters
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Flink Forward
 
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...Altinity Ltd
 
Aynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileAynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileDaniel-Constantin Mierla
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Flink Forward
 
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan EwenAdvanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewenconfluent
 

What's hot (20)

Google guava - almost everything you need to know
Google guava - almost everything you need to knowGoogle guava - almost everything you need to know
Google guava - almost everything you need to know
 
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIOHigh Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
 
Reactive stream processing using Akka streams
Reactive stream processing using Akka streams Reactive stream processing using Akka streams
Reactive stream processing using Akka streams
 
Apache Arrow Flight Overview
Apache Arrow Flight OverviewApache Arrow Flight Overview
Apache Arrow Flight Overview
 
Introduction to Apache Spark Ecosystem
Introduction to Apache Spark EcosystemIntroduction to Apache Spark Ecosystem
Introduction to Apache Spark Ecosystem
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - Observability
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
 
Parallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeParallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta Lake
 
Observability
ObservabilityObservability
Observability
 
Writing Smarter Applications with Machine Learning
Writing Smarter Applications with Machine LearningWriting Smarter Applications with Machine Learning
Writing Smarter Applications with Machine Learning
 
Observability at Spotify
Observability at SpotifyObservability at Spotify
Observability at Spotify
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Git with t for teams
Git with t for teamsGit with t for teams
Git with t for teams
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
 
Aynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileAynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration File
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
 
Infinidat InfiniBox
Infinidat InfiniBoxInfinidat InfiniBox
Infinidat InfiniBox
 
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan EwenAdvanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
 

Similar to Bits of Evidence

Greg Wilson - We Know (but ignore) More Than We Think
Greg Wilson - We Know (but ignore) More Than We ThinkGreg Wilson - We Know (but ignore) More Than We Think
Greg Wilson - We Know (but ignore) More Than We Think#DevTO
 
Why Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their SoWhy Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their Sojpipitone
 
Possible Essay Questions On Romeo And Juliet
Possible Essay Questions On Romeo And JulietPossible Essay Questions On Romeo And Juliet
Possible Essay Questions On Romeo And JulietJamie Jackson
 
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails:Latest Trends in Bioscience Literature SearchText, Tags and Thumbnails:Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Searchmarti_hearst
 
Usability Evaluation Considered Harmful (Some of the Time)
Usability Evaluation Considered Harmful (Some of the Time)Usability Evaluation Considered Harmful (Some of the Time)
Usability Evaluation Considered Harmful (Some of the Time)Saul Greenberg
 
Building Interactive Systems for Social Good [Job Talk]
Building Interactive Systems for Social Good [Job Talk]Building Interactive Systems for Social Good [Job Talk]
Building Interactive Systems for Social Good [Job Talk]Matthew Louis Mauriello
 
Software estimation is crap
Software estimation is crapSoftware estimation is crap
Software estimation is crapIan Garrison
 
Examples Of University Application Essay
Examples Of University Application EssayExamples Of University Application Essay
Examples Of University Application EssaySue Jones
 
Validation and mechanism: exploring the limits of evaluation
Validation and mechanism: exploring the limits of evaluationValidation and mechanism: exploring the limits of evaluation
Validation and mechanism: exploring the limits of evaluationAlan Dix
 
Into AB experiments
Into AB experimentsInto AB experiments
Into AB experimentsDeven
 
Becoming a software testing expert
Becoming a software testing expertBecoming a software testing expert
Becoming a software testing expertmoosix
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docxjustine1simpson78276
 
Effectiveness of Bug Bounty Program in preventing security v
Effectiveness of Bug Bounty Program in preventing security vEffectiveness of Bug Bounty Program in preventing security v
Effectiveness of Bug Bounty Program in preventing security vEvonCanales257
 
Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013
Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013
Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013TEST Huddle
 
Bug debug keynote - Present problems and future solutions
Bug debug keynote - Present problems and future solutionsBug debug keynote - Present problems and future solutions
Bug debug keynote - Present problems and future solutionsRIA RUI Society
 
Synthesisunit4 121023171541-phpapp02
Synthesisunit4 121023171541-phpapp02Synthesisunit4 121023171541-phpapp02
Synthesisunit4 121023171541-phpapp02Prince Anwar Ali
 

Similar to Bits of Evidence (20)

Greg Wilson - We Know (but ignore) More Than We Think
Greg Wilson - We Know (but ignore) More Than We ThinkGreg Wilson - We Know (but ignore) More Than We Think
Greg Wilson - We Know (but ignore) More Than We Think
 
1325 keynote kohavi
1325 keynote kohavi1325 keynote kohavi
1325 keynote kohavi
 
Why Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their SoWhy Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their So
 
2014 abic-talk
2014 abic-talk2014 abic-talk
2014 abic-talk
 
Agile numbers
Agile numbersAgile numbers
Agile numbers
 
Possible Essay Questions On Romeo And Juliet
Possible Essay Questions On Romeo And JulietPossible Essay Questions On Romeo And Juliet
Possible Essay Questions On Romeo And Juliet
 
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails:Latest Trends in Bioscience Literature SearchText, Tags and Thumbnails:Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
 
Usability Evaluation Considered Harmful (Some of the Time)
Usability Evaluation Considered Harmful (Some of the Time)Usability Evaluation Considered Harmful (Some of the Time)
Usability Evaluation Considered Harmful (Some of the Time)
 
Building Interactive Systems for Social Good [Job Talk]
Building Interactive Systems for Social Good [Job Talk]Building Interactive Systems for Social Good [Job Talk]
Building Interactive Systems for Social Good [Job Talk]
 
Software estimation is crap
Software estimation is crapSoftware estimation is crap
Software estimation is crap
 
Examples Of University Application Essay
Examples Of University Application EssayExamples Of University Application Essay
Examples Of University Application Essay
 
Validation and mechanism: exploring the limits of evaluation
Validation and mechanism: exploring the limits of evaluationValidation and mechanism: exploring the limits of evaluation
Validation and mechanism: exploring the limits of evaluation
 
TesTrek Notes
TesTrek NotesTesTrek Notes
TesTrek Notes
 
Into AB experiments
Into AB experimentsInto AB experiments
Into AB experiments
 
Becoming a software testing expert
Becoming a software testing expertBecoming a software testing expert
Becoming a software testing expert
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
 
Effectiveness of Bug Bounty Program in preventing security v
Effectiveness of Bug Bounty Program in preventing security vEffectiveness of Bug Bounty Program in preventing security v
Effectiveness of Bug Bounty Program in preventing security v
 
Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013
Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013
Laurent Bossavit - Skeptical Self-Defense for the Serious Tester - EuroSTAR 2013
 
Bug debug keynote - Present problems and future solutions
Bug debug keynote - Present problems and future solutionsBug debug keynote - Present problems and future solutions
Bug debug keynote - Present problems and future solutions
 
Synthesisunit4 121023171541-phpapp02
Synthesisunit4 121023171541-phpapp02Synthesisunit4 121023171541-phpapp02
Synthesisunit4 121023171541-phpapp02
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Bits of Evidence

  • 1. Bits of Evidence What We Actually Know About Software Development, and Why We Believe It’s True Greg Wilson http://third-bit.com Feb 2010
  • 2. Once Upon a Time... Seven Years’ War (actually 1754-63) Britain lost 1,512 sailors to enemy action... ...and almost 100,000 to scurvy
  • 3.
  • 4. It Took a While to Catch On 1950: Hill & Doll publish a case-control study comparing smokers with non-smokers 1951: start the British Doctors Study (which runs until 2001)
  • 5. What They Discovered #1: Smoking causes lung cancer “ ...what happens ‘on average’ is of no help when one is faced with a specific patient...” #2: Many people would rather fail than change
  • 6. Like Water on Stone 1992: Sackett coins the term “ evidence-based medicine” Randomized double-blind trials are accepted as the gold standard for medical research The Cochrane Collaboration (http://www.cochrane.org/) now archives results from hundreds of medical studies
  • 7. So Where Are We? “ [Using domain-specific languages] leads to two primary benefits. The first, and simplest, is improved programmer productivity... The second...is...communication with domain experts.” – Martin Fowler (IEEE Software, July/August 2009)
  • 8. Say Again? One of the smartest guys in our industry... ...made two substantive claims... ...in an academic journal... ...without a single citation Please note: I’m not disagreeing with his claims —I just want to point out that even the best of us aren’t doing what we expect the makers of acne creams to do.
  • 9. Um, No “ Debate still continues about how valuable DSLs are in practice. I believe that debate is hampered because not enough people know how to develop DSLs effectively.” I think debate is hampered by low standards for proof The good news is, things have started to improve
  • 10. The Times They Are A-Changin’ Growing emphasis on empirical studies in software engineering research since the mid-1990s Papers describing new tools or practices routinely include results from some kind of field study Yes, many are flawed or incomplete, but standards are constantly improving
  • 11. My Favorite Little Result Aranda & Easterbrook (2005): “Anchoring and Adjustment in Software Estimation” “ How long do you think it will take to make a change to this program?” Control Group: “ I’d like to give an estimate for this project myself, but I admit I have no experience estimating. We’ll wait for your calculations for an estimate.” Group A: “I admit I have no experience with software projects, but I guess this will take about 2 months to finish. ” Group B: “...I guess this will take about 20 months... ”
  • 12. Results The anchor mattered more than experience, how formal the estimation method was, or anything else. Q: Are agile projects similarly afflicted, just on a shorter and more rapid cycle? Group A (lowball) 5.1 months Control Group 7.8 months Group B (highball) 15.4 months
  • 13. Most Frequently Misquoted Sackman, Erikson, and Grant (1968): “Exploratory experimental studies comparing online and offline programming performance.” Or 10, or 40, or 100, or whatever other large number pops into the head of someone who can’t be bothered to look up the reference... The best programmers are up to 28 times more productive than the worst.
  • 14.
  • 15.
  • 16.
  • 17. ...Which Explains a Lot Pessimists: “If we tackle the hump in the error injection curve, fewer bugs will get to the expensive part of the fixing curve.” Optimists: “If we do lots of short iterations, the total cost of fixing bugs will go down.”
  • 18. The Real Reason I Care A: I've always believed that there are just fundamental differences between the sexes... B: What data are you basing that opinion on? A: It's more of an unrefuted hypothesis based on personal observation. I have read a few studies on the topic and I found them unconvincing... B: Which studies were those? A: [no reply]
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Another Personal Favorite Conway’s Law: A system reflects the organizational structure that built it. Meant as a joke Turns out to be true (Herbsleb et al 1999)
  • 24. But Wait, There’s More! Nagappan et al (2007) & Bird et al (2009): Physical distance doesn’t affect post-release fault rates Distance in the organizational chart does No, really — shouldn’t our development practices be built around these facts?
  • 25.
  • 26. Folk Medicine for Software Systematizing and synthesizing colloquial practice has been very productive in other disciplines…
  • 27. How Do We Get There? 2007 2008 – 2009
  • 28. The Book Without a Name Wanted to call the next one Beautiful Evidence , but Edward Tufte got there first “ What we know and why we think it’s true” (By the way, his book is really good) Knowledge transfer A better textbook Change the debate
  • 29. A Lot Of Editing In My Future Jorge Aranda Tom Ball Victor Basili Andrew Begel Christian Bird Barry Boehm Marcelo Cataldo Steven Clarke Jason Cohen Rob DeLine Khaled El Emam Hakan Erdogmus Michael Godfrey Mark Guzdial Jo Hannay Ahmed Hassan Israel Herraiz Kim Herzig Barbara Kitchenham Andrew Ko Lucas Layman Steve McConnell Audris Mockus Gail Murphy Nachi Nagappan Tom Ostrand Dewayne Perry Marian Petre Lutz Prechelt Rahul Premraj Dieter Rombach Forrest Shull Beth Simon Janice Singer Diomidis Spinellis Neil Thomas Walter Tichy Burak Turhan Gina Venolia Elaine Weyuker Laurie Williams Andreas Zeller Tom Zimmermann
  • 31. The Real Reason It Matters
  • 32. Thank you, and good luck