@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
@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?
@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∝
@sleepyfoxfor AgileEnvironmentMeasured proxies• Requirements• Features, Stories• Function points• Man days• Ideal man-days• Story points• Cyclomatic Complexity
@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)
@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
@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"
@sleepyfoxfor AgileEnvironmentThe Dilbert PrincipleUnderlying philosophy that if you can manageone business you can manage all kinds ofbusiness
@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
@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
@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
@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
@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.”
@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
@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?”http://j.mp/1aNwyT8
@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