the power of #no

45
Power JAMES HULL The of #No

Upload: james-hull

Post on 07-Jan-2017

407 views

Category:

Software


0 download

TRANSCRIPT

Page 1: The Power of #No

Power

JAMES HULL

The

of #No

Page 2: The Power of #No

NO

Page 3: The Power of #No

WHY

Page 4: The Power of #No

YES

Page 5: The Power of #No

@JAMESAHULL

#NOESTIMATES

Estimate

1. to form an approximate idea of (size, cost, etc.); calculate roughly

2. to form an opinion; judge

3. submit an approximate price for a job to a prospective client

4. an approximate calculation

5. a statement of the likely charge for certain work

6. an opinion

(Collins Paperback English Dictionary 2001)

Page 6: The Power of #No

@JAMESAHULL

#NOESTIMATES

▸ Hashtag of a Twitter conversation from 2012 between Neil Killick and Woody Zuill initially

▸ NK blog post "Should we Estimate Software Projects... at all?"

▸ Growing feeling that estimates are not meeting the needs of those involved in software

Page 7: The Power of #No

@JAMESAHULL

#NOESTIMATES

▸ We have experienced problems with estimating - answering:

▸ How long will that take?

▸ When will it be done?

▸ How much will it cost?

▸ Often an intuitive guess is provided in response

Page 8: The Power of #No

@JAMESAHULL

#NOESTIMATES

▸ What do non-software people want (i.e. the business)?

▸ Figures

▸ Dates

▸ Concrete data to input to spreadsheets/project plans

▸ Certainty

▸ Commitment

Page 9: The Power of #No

@JAMESAHULL

THE ESTIMATE OBJECT

▸ An estimate contains more than a number

▸ Assumptions about people, time and requirements

▸ Assumptions about interference and technology

▸ Assumptions about what's in and out of the estimate

▸ Ranges of risk and probability

Page 10: The Power of #No
Page 11: The Power of #No

@JAMESAHULL

DEADLY SINS OF SOFTWARE ESTIMATION

▸ #NoEstimates pitches tend to focus on the negatives in estimating

▸ 10 Deadly Sins of Software Estimating (2004)

▸ Actually contains about 20 sins

▸ Is part of a pitch for estimation software

Page 12: The Power of #No

@JAMESAHULL

TOP 5 SINS

▸ 1. Confusing targets with estimates - and treating the estimate as a commitment to deliver

▸ 2. Saying yes when you mean no (negotiating estimates, or deferring to seniority of others making estimates)

▸ 3. Committing to estimates too early in cone of uncertainty

▸ 4. Assuming underestimation has no impact on project results

▸ 5. "What's the earliest date by which you can't prove you won't be finished?" (Tom DeMarco 1982)

Page 13: The Power of #No

@JAMESAHULL

MORE SINS

▸ Estimating how long “it” will take to build before anyone knows what “it” is

▸ Letting sales estimate software projects

▸ Using estimates as concrete numbers to put into project plans/Gantt charts

▸ Padding estimates

▸ Relating rewards/punishments to meeting estimates (#NoTargets?)

▸ Accidental complication

Page 14: The Power of #No

@JAMESAHULL

BUT WHEN WILL IT BE DONE?

▸ Cycle time vs task effort time

▸ Capacity planning

▸ Hours

▸ Points

▸ T-shirts

▸ Counting stories

▸ Throughput, cadence & flow

Page 15: The Power of #No

CALCULATING VELOCITY FROM STORY POINTS IS A CATEGORY ERROR

Page 16: The Power of #No

@JAMESAHULL

CAPACITY PLANNING

▸ Planning poker

▸ Story points

▸ Velocity

Page 17: The Power of #No

@JAMESAHULL

STORY POINTS

▸ Story points are an ordinal sequence to represent relative size/complexity

▸ Ordinal numbers are not subject to arithmetic like cardinal numbers

▸ Example:

Page 18: The Power of #No

@JAMESAHULL

STORY POINTS

Story Points Median Hours

1 21

2 52

3 64

5 100

8 111

Page 19: The Power of #No

@JAMESAHULL

STORY POINTS

Story Point Combo Actual Hours

8, 8 = 16 111 + 111 = 222

5, 3, 2, 2, 1, 1 = 16 100 + 64 + 52 + 52 + 52 + 21 + 21 = 362

Page 20: The Power of #No

CALCULATING VELOCITY FROM STORY POINTS IS A CATEGORY ERROR

Page 21: The Power of #No

@JAMESAHULL

ESTIMATES AS WASTE

▸ Lean definition: activities that don't directly add value to the product from the customer's perspective

▸ Therefore - reduce or eliminate waste to the minimum required to deliver.

▸ Or - if it is undesirable to do as much of something as possible, it must be waste

▸ Other waste - meetings, management, Jira…

Page 22: The Power of #No

@JAMESAHULL

THE #NOESTIMATES ALTERNATIVES

▸ Not about eliminating all estimates

▸ Counting stories

▸ Forecasting based on past performance

▸ Prioritising

▸ Kanban

▸ Measuring Value as opposed to Cost as primary metric

Page 23: The Power of #No

@JAMESAHULL

#NOESTIMATES PRINCIPLES

▸ Ethics

▸ Empiricism

▸ Emergence

▸ Aim to be predictable rather than get better at prediction

▸ Control costs through drip feeding rather than estimating costs up front

▸ Assess value iteratively through frequent releases

Page 24: The Power of #No

CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATIONThe Agile Manifesto

Page 25: The Power of #No

WORKING SOFTWARE IS THE PRIMARY MEASURE OF PROGRESSThe Agile Manifesto

Page 26: The Power of #No

@JAMESAHULL

TRYING IT IN PRACTICE

▸ Explicitly did this when tasked with rejuvenating an existing but under supported product

▸ Lots of work in writing and slicing user stories

▸ Focus on priorities, more detail on the higher priority stories

▸ Kanban process

▸ Worked in 2 week sprint, counted what was done, that’s a release

▸ Provides benchmark for future performance expectation

Page 27: The Power of #No

@JAMESAHULL

CRITICISM

▸ Just because estimates can be misused, doesn’t make the whole process bad

▸ Effective governance requires an upfront understanding of costs of software projects

▸ Basic microeconomics suggests that you need to know your costs in order to be profitable

▸ Open-ended contracts are a recipe for disaster

▸ You wouldn’t buy a kitchen/house without a fully priced quote

Page 28: The Power of #No

@JAMESAHULL

CRITICISM OF THE #NOESTIMATES POSITION

▸ It is an incoherent position

▸ Does No actually mean No?

▸ Can be easily mishandled

▸ May mutate into a certification/membership scheme/brand where someone is trying to make cash out of other people

▸ Is too vague to be useful when some just want to be told what to do

Page 29: The Power of #No

@JAMESAHULL

COUNTER CRITICISM

▸ Software is not house building/kitchen fitting

▸ Requirements emerge over time

▸ Internet application software can be released iteratively

▸ As estimates are intrinsically flawed, your projected cost is very likely to be wrong

▸ #NoEstimates is just a hashtag not a complete, coherent consistent method/brand/whatever

Page 30: The Power of #No

@JAMESAHULL

CRITICS

▸ Glen Alleman - @galleman

▸ Peter Kretzman - @PeterKretzman

▸ Henrik Ebbeskog - @henneb

Page 31: The Power of #No
Page 32: The Power of #No
Page 33: The Power of #No

THE PREVAILING PROJECT MANAGEMENT FRAMEWORKS ARE AN INAPPROPRIATE VEHICLE TO MANAGE SOFTWARE PRODUCT DEVELOPMENT

#NOPROJECTS

Page 34: The Power of #No

@JAMESAHULL

THE PROJECT MODEL

▸ 3 assumptions about a successful project:

▸ On schedule

▸ On budget

▸ On quality

Page 35: The Power of #No

@JAMESAHULL

THE PROJECT MODEL

▸ Implicit assumptions:

▸ Value of the work is known

▸ Other options are valueless

▸ If quality value & time targets are hit, you are successful

Page 36: The Power of #No

@JAMESAHULL

REQUIREMENTS

▸ They change, this is positive

▸ Don't devalue reflection, experience and emergence

▸ Provide value sooner

Page 37: The Power of #No

@JAMESAHULL

NOT ALL PROJECTS…

▸ Language of “projects” is default setting

▸ Eclipse has projects, not the same as a PRINCE2 project

▸ Projects good for discrete activities that require co-ordination:

▸ Software implementations

▸ Network and hardware installations

▸ Office moves

Page 38: The Power of #No

@JAMESAHULL

#BEYONDPROJECTS

▸ Software has diseconomies of scale

▸ Therefore smaller and more frequent is cheaper and less risky

▸ Ensure governance is still covered

Page 39: The Power of #No

@JAMESAHULL

ARE YOU IN LEAGUE WITH THE HUMANS?

▸ Software development requires knowledge of psychology and sociology

▸ Hofstadter's Law - it always takes longer than you think, even when taking Hofstadter's Law into account

▸ Vierordt's Law - The proposition that short time intervals tend to be overestimated and long ones underestimated

▸ Parkinsons Law - Work expands so as to fill the time available for its completion

Page 40: The Power of #No

@JAMESAHULL

#NO …

▸ #NoHR

▸ #NoCV

▸ #NoContracts

Page 41: The Power of #No

@JAMESAHULL

#NOAGILE

▸ Question our assumptions - is Agile all it’s cracked up to be?

▸ Why should Agile expand into the rest of the organisation?

▸ Related themes to “Agile”:

▸ Lean

▸ Kanban

▸ Rightshifting

▸ Systems Thinking

Page 42: The Power of #No

@JAMESAHULL

CONCLUSIONS

▸ If you think #NoEstimates is a coherent methodology, Agile 2.0, next big thing, think again

▸ Useful critique, consider your context

▸ Certainly not about discarding/refusing to do estimates and not replacing the info they provide (#KnowEstimates)

▸ Software product development is not well suited to the prevailing project management approaches

Page 43: The Power of #No

@JAMESAHULL

CONCLUSIONS

▸ Estimates don't kill people, project managers armed with estimates do

▸ All practices are open to question and challenge

▸ As we become the leaders and influencers of our organisations, how are we promoting humane, non-hostile workplaces and practices?

Page 44: The Power of #No

Power

THANK YOU

The

of #No

Page 45: The Power of #No

THE POWER OF #NO

YOU CAN BOTHER ME VIA:

@jamesahull

jamesahull.co.uk

northern-union.com

https://www.linkedin.com/in/jamesahull