Software Naturalism
Embracing the Real Behind the Ideal
Michael Feathers Groupon
Wednesday, November 16, 2011
How Much Do We Know? Wednesday, November 16, 2011 Wednesday, - - PowerPoint PPT Presentation
Software Naturalism Embracing the Real Behind the Ideal Michael Feathers Groupon Wednesday, November 16, 2011 How Much Do We Know? Wednesday, November 16, 2011 Wednesday, November 16, 2011 Wednesday, November 16, 2011 Fault Prediction
Embracing the Real Behind the Ideal
Michael Feathers Groupon
Wednesday, November 16, 2011How Much Do We Know?
Wednesday, November 16, 2011Fault Prediction System - Elaine J. Weyuker, Thomas J. Ostrand
Wednesday, November 16, 2011Models for Project Managers, to help them decide where to apply effort.
Wednesday, November 16, 2011Research used 6 large projects built
Validated the hypothesis that distribution of faults across files is Pareto: > 80% faults are in < 20% of files
Wednesday, November 16, 2011Inputs to Prediction Model (per file):
Experimented with (per file):
Experimented with (per file):
Dev-based Inputs did not improve the model much
Wednesday, November 16, 2011How Effective Is Modularization? - Neil Thomas and Gail Murphy
Wednesday, November 16, 2011The Open/Closed Principle
"software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification"
Frequency of Inter-commit Intervals
Wednesday, November 16, 2011Frequency of Inter-commit Intervals
Wednesday, November 16, 2011Frequency of Inter-commit Intervals Rhythm
Wednesday, November 16, 2011Frequency of Inter-commit Intervals
Wednesday, November 16, 2011Average Lines of Code Per Commit By Week
Wednesday, November 16, 2011Complexity Tolerance (Developer A)
Wednesday, November 16, 2011Complexity Tolerance (Developer B)
Wednesday, November 16, 2011Ownership Effect (all methods)
Wednesday, November 16, 2011Methods Ascending (5)
Wednesday, November 16, 2011Trending Methods
Wednesday, November 16, 2011Classes By Closure Date
Wednesday, November 16, 2011Temporal Correlation of Class Changes
Wednesday, November 16, 2011Behavioral Economics
Wednesday, November 16, 2011Is it easier to add code to an existing method or to add a new method?
Wednesday, November 16, 2011Is it easier to add a method to an existing class or to add it a new class?
Wednesday, November 16, 2011We should not be surprised by what we see.
Wednesday, November 16, 2011Commits By Hour
chart(['hour','commits'],method_events(events).freq_by {|e| e.date.hour })
Wednesday, November 16, 2011Commits By Minute
chart(['hour','commits'],method_events(events).freq_by {|e| e.date.min })
Wednesday, November 16, 2011Method and Spec Changes Per Hour of Day
Wednesday, November 16, 2011Code Blindness
Wednesday, November 16, 2011Walking Out of Code Blindness
Wednesday, November 16, 2011Walking Out of Code Blindness
Total Ignorance
Wednesday, November 16, 2011Walking Out of Code Blindness
Total Ignorance Metrics Targeted
Wednesday, November 16, 2011There is nothing more abstract than 4 (except maybe 5).
Wednesday, November 16, 2011Walking Out of Code Blindness
Total Ignorance Metrics Targeted Qualitatively Assessing
Wednesday, November 16, 2011Walking Out of Code Blindness
Total Ignorance Metrics Targeted Qualitatively Assessing Lifecycle Managing
Wednesday, November 16, 2011Walking Out of Code Blindness
Total Ignorance Metrics Targeted Qualitatively Assessing Lifecycle Managing Integrated Knowing
Wednesday, November 16, 2011Conway’s Law
Any organization that designs a system will inevitably produce a design whose structure is a copy of the organization's communication structure.
Wednesday, November 16, 2011Code Team Org
Wednesday, November 16, 2011Peter Provost - The Bufferfly Effect
Wednesday, November 16, 2011