Your SlideShare is downloading. ×
Software Metrics
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Software Metrics


Published on

A short presentation on the perils of software metrics

A short presentation on the perils of software metrics

Published in: Technology, Business

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Metrics@sleepyfox©2007, 2009, 2013
  • 2. The Dark Sideof Metrics@sleepyfox©2007, 2009, 2013
  • 3. @sleepyfoxfor AgileEnvironmentMetricsCOCOMOCyclometric ComplexityFPABalanced Scorecard
  • 4. @sleepyfoxfor AgileEnvironmentMetrics
  • 5. @sleepyfoxfor AgileEnvironmentMetrics• Software Engineering is difficult• Symbian: “How do we measure fitnessfor purpose where releasemanagement is concerned?”• CASRE - Computer Aided SoftwareReliability Estimation [1]• Origin: NASA’s JPL
  • 6. @sleepyfoxfor AgileEnvironmentCASREENUDsEstimated Number ofUnresolved Defects,Defects discoveredper unit timeWhy doesn’t thiswork reliably?
  • 7. @sleepyfoxfor AgileEnvironmentThe Project Plan
  • 8. @sleepyfoxfor AgileEnvironmentThe Plan is a LIE!• ‘Failing to plan isplanning to fail’ - W.Churchill• ‘No plan of battlesurvives the firstengagement’ - FieldMarshal von Moltke• ‘Plans are worthless, butplanning is everything’ -Dwight D. Eisenhower
  • 9. @sleepyfoxfor AgileEnvironmentOnce you start down theDark Path...• Why do we do it?• I have £1m• How best to spendan annual budget?• Cost Accounting• Agile budgeting?
  • 10. @sleepyfoxfor AgileEnvironmentWhat we measure• Now we understand why, how?• Need to estimate cost of software• cost effort complexity∝ ∝• Therefore estimate complexity• How to estimate complexity?• Complexity number of components∝
  • 11. @sleepyfoxfor AgileEnvironmentMeasured proxies• Requirements• Features, Stories• Function points• Man days• Ideal man-days• Story points• Cyclomatic Complexity
  • 12. @sleepyfoxfor AgileEnvironmentProblems with the measures●Granularity issueHence the use of story-points●Inter-rater reliabilityYour 1-pt story is my 3-pt story●Measurement effect●Experimenters’ bias56 kinds of bias (wikipedia article)
  • 13. @sleepyfoxfor AgileEnvironmentModern Management• So why doesmanagement insiston measuring thesethings, in theseways?• ‘If the only tool youhave is a hammer,you tend to seeevery problem as anail’ - A. Maslow
  • 14. @sleepyfoxfor AgileEnvironmentThe Peter Principle• ‘The Peter Principle’, Dr. Laurence J.Peter and Raymond Hull, 1969• "In a hierarchy every employee tends torise to his level of incompetence"
  • 15. @sleepyfoxfor AgileEnvironmentThe Dilbert PrincipleUnderlying philosophy that if you can manageone business you can manage all kinds ofbusiness
  • 16. @sleepyfoxfor AgileEnvironmentThe legacy of Taylorism"In almost all the mechanic arts the sciencewhich underlies each act of each workmanis so great and amounts to so much thatthe workman who is best suited to actuallydoing the work is incapable of fullyunderstanding this science." -- FrederickTaylor, ‘The Principles of ScientificManagement’, 1911
  • 17. @sleepyfoxfor AgileEnvironment• Software is inherently unpredictable• Standish Group’s CHAOS report 2010: 4% succeed,47% challenged, 49% fail
  • 18. @sleepyfoxfor AgileEnvironmentWithout domain knowledge managers value:• Data over information• Facts over (professionals) opinions• Processes over individuals• Following a plan over responding to change• Contract negotiation over customercollaborationCompetency Inversion
  • 19. @sleepyfoxfor AgileEnvironmentCognitive Linguistics●Software is described as like:1. (Computer) Science2. (Software) Engineering3. Manufacturing (software factory)●A metaphor is a double-edged sword●All these metaphors are misguided andhave pernicious side-effects
  • 20. @sleepyfoxfor AgileEnvironmentWhat is SoftwareDevelopment?If software is not Science, Engineering orManufacturing, what is it?Why software is different:• Complexity• Conformity• Changeability• Invisibility-- Frederick Brooks, ‘No Silver Bullet’, 1986
  • 21. @sleepyfoxfor AgileEnvironmentChaitin incompletenesstheorem“There are a large number of design methods,development processes, and programmingmethodologies that claim or hint at objectiveestimation of development schedules, projectcomplexity, and programmer productivity...[limits to algorithmic complexity mean that]claims of purely objective estimation of projectcomplexity, development time, and programmerproductivity are necessarily incorrect.”[3]
  • 22. @sleepyfoxfor AgileEnvironmentConclusion• Complexity, and hence reliability andtherefore cost are all fundamentallyimpossible to estimate or predict withprecision• ‘Software Engineering’ is not difficult, itis insoluble.• Moving from predictive to reactivemodels is the only rational course
  • 23. Be Mindful!
  • 24. @sleepyfox on twitter you!
  • 25. @sleepyfoxfor AgileEnvironment1.CASRE - inspiration - ‘The DarkerSide of Metrics’, Douglas Hoffman2000 complexity - “Large Limits toSoftware Estimation”, J.P. Lewis2001 Slides
  • 26. @sleepyfoxfor AgileEnvironment40 years on...• “You cannot control what you cannot measure”• “In my reflective mood, I’m wondering, was itsadvice correct at the time, is it still relevant, anddo I still believe that metrics are a must for anysuccessful software development effort? Myanswers are no, no, and no.” -- Tom DeMarco inhis article “Software Engineering: An IdeaWhose Time Has Come and Gone?”
  • 27. @sleepyfoxfor AgileEnvironmentKaner’s Ten MeasurementFactors1. The purpose of the measure2. The scope of the measurement3. The attribute to be measured4. The appropriate scale for the attribute5. The natural variation of the attribute6. The instrument that measures the attribute7. The scale of the instrument8. The variation of measurements made with thisinstrument9. The relationship between the attribute and theinstrument10. The probable side effects of using this instrument tomeasure this attribute