Bits of Evidence

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

  • + mstrohm Markus Strohmaier 3 weeks ago
    Greg - Great presentation. I was trying to find sources of evidence confirming that Conway meant it as a joke (slide 23). All I could find was a piece of text on Conway’s personal website http://www.melconway.com/law/index.html where he references a corresponding Wikipedia article, which states that it was *not* intended a joke (Conway does not elaborate on the joke aspect of the reference though).
    There is a joke that bears the name Conway’s Law (’In any organization there is one person who knows what is going on...’) but this joke seems unrelated to the phenomenon of socio--technical congruence. Any thoughts or pointers?
  • + mudeltasigma mudeltasigma 3 weeks ago
    Great presentation - wish I could have seen it live (or get the transcript).
Post a comment
Embed Video
Edit your comment Cancel

95 Favorites

Bits of Evidence - Presentation Transcript

  1. Bits of Evidence What We Actually Know About Software Development, and Why We Believe It’s True Greg Wilson http://third-bit.com October 2009
  2. Once Upon a Time... Seven Years’ War (1754-63) Britain loses 1,512 sailors to enemy action... ...and almost 100,000 to scurvy
  3. 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...
    • cider
    • sulfuric acid
    • vinegar
    • sea water
    • oranges
    • barley water
  4. The British Doctors Study 1950: Hill & Doll publish a case-control study comparing smokers with non-smokers 1951: start the British Doctors Study (which runs until 2001)
  5. Two Discoveries #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. What Just Happened? 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. Tidings of Great Joy “ 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. 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. Let’s Pick That Apart
    • Study was designed to compare batch vs. interactive, not measure productivity
    • How was productivity measured, anyway?
    • Best vs. worst exaggerates any effect
    • Twelve programmers for an afternoon
      • Next “major” study was 54 programmers...
      • ...for up to an hour
  15. So What Do We Know?
    • Productivity variations between programmers
    • Effects of language
    • Effects of web programming frameworks
    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.
  16. 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
    • Most errors are introduced during requirements analysis and design
    • The later they are removed, the most expensive it is to take them out
    time number / cost
  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 It Matters 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. The Grownup Version
    • Changes in gendered SAT-M scores over 20 years
    • Workload distribution from mid-20s to early 40s
    • The Dweck Effect
    • Facts, data, and logic
    Ceci & Williams (eds): Why Aren’t More Women in Science? Top Researchers Debate the Evidence Informed debate on nature vs. nurture
  20. Greatest Hits Volume I
    • For every 25% increase in problem complexity, there is a 100% increase in solution complexity. (Woodfield, 1979)
    • The two biggest causes of project failure are poor estimation and unstable requirements. (van Genuchten 1991 and many others)
    • If more than 20-25% of a component has to be revised, it's better to rewrite it from scratch. (Thomas et al, 1997)
    FIXME: add gratuitous image to liven up this slide.
  21. Greatest Hits Volume II
    • Rigorous inspections can remove 60-90% of errors before the first test is run. (Fagan 1975)
      • The first review and hour matter most. (Cohen 2006)
    • Maintenance is 40-80% of the cost of a software project. (Boehm 1975)
    • 30% of that time is spent figuring out how stuff works.
    • 60% is enhancements. (Glass 2002)
    Gratuitous image.
  22. Greatest Hits Volume III
    • Small changes have a higher error density than large ones. (Basili and Perricone 1984)
      • Because they require the same level of understanding
    • Errors cluster according to an 80/20 rule. (Boehm & Basili 2001)
    Shouldn’t our development practices be built around these facts?
  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. Two Steps Forward...
    • Most metrics’ values increase with code size
    • If you do a double-barrelled correlation, the latter accounts for all the signal
    “ 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...
  26. Another Example
    • Sfetsos et al (2008): “An experimental investigation of personality types impact on pair effectiveness in pair programming.”
    • 70 students randomly assigned to pairs
    • Myers-Briggs personality profiles
    • Mismatched pairs were more productive
    Makes intuitive sense, but...
  27. But Is It True?
    • Hannay et al (in press): “Effects of personality on pair programming.”
    • 196 software professionals
    • Big Five instead of Myers-Briggs
    • “ Our data does not confirm...the impact of certain personality traits on performance...”
    • “ Personality traits in general have a modest predictive value on pair programming performance compared with expertise, task complexity, and country.”
  28. What’s the Next Step? The software equivalent of folk medicine
  29. How Do We Get There? 2007 2008 – 2009
  30. Damn You Edward Tufte! Wanted to call the next one Beautiful Evidence , but he 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
  31. The Real Reason It Matters
  32. Thank You No graphic designers were harmed in the making of this presentation

+ Greg WilsonGreg Wilson, 3 weeks ago

custom

38527 views, 95 favs, 27 embeds more stats

What we actually know about software development, a more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 38527
    • 38201 on SlideShare
    • 326 from embeds
  • Comments 2
  • Favorites 95
  • Downloads 314
Most viewed embeds
  • 63 views on http://labnotes.org
  • 55 views on http://www.lazycoder.com
  • 40 views on http://blog.labnotes.org
  • 35 views on http://www.globalnerdy.com
  • 32 views on http://softwaredevelopmenttoday.blogspot.com

more

All embeds
  • 63 views on http://labnotes.org
  • 55 views on http://www.lazycoder.com
  • 40 views on http://blog.labnotes.org
  • 35 views on http://www.globalnerdy.com
  • 32 views on http://softwaredevelopmenttoday.blogspot.com
  • 32 views on http://blogs.msdn.com
  • 14 views on http://cclow.posterous.com
  • 11 views on http://hyfen.net
  • 7 views on http://rvasa.blogspot.com
  • 7 views on http://igorschwarzmann.posterous.com
  • 6 views on http://soapbox.gruden.com
  • 4 views on http://betashop.com
  • 3 views on http://www.labnotes.org
  • 2 views on http://www.mosquito.pro.br
  • 2 views on http://johntellsall.blogspot.com
  • 2 views on http://www.iweb34.com
  • 1 views on http://64.233.163.132
  • 1 views on http://www.hanrss.com
  • 1 views on http://10consejos.com
  • 1 views on http://www.blogger.com
  • 1 views on http://caminodelcid.net
  • 1 views on http://brawn.es
  • 1 views on http://virgenesnegras.com
  • 1 views on http://co.mments.com
  • 1 views on http://localhost:3000
  • 1 views on http://posterous.com
  • 1 views on http://blog.michaelmacgregor.us

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories