ESTIMATION A Science, Not an Art? 5-‑13-‑2015
John Nollin • Director ¡of ¡Opera3ons • Project ¡Management, ¡ Process, ¡Es3ma3on, ¡ Tools • Chicago, ¡IL. 2
“The typical software organization is not struggling to improve its estimates from +-10% to +-5% accuracy. The typical software organization is struggling to avoid estimates that are incorrect by 100% or more.” -- Steve McConnell What ¡is ¡this ¡presenta,on ¡about? What ¡is ¡the ¡presenta,on ¡NOT ¡about? • Specific ¡es3mates ¡(content ¡type) • Fundamentals ¡(overlooked) • Magical ¡formulas • Big ¡Risk ¡factors • Fine ¡tuning ¡error ¡from ¡20% ¡to ¡5% • Selling ¡your ¡es3mate ¡(Team) ¡ • Selling ¡your ¡es3mate ¡(client) • 20%-‑100% ¡over ¡budget 3
Agenda 1 What is the Problem with Software Estimation? 2 Avoiding Risk 3 Estimation Techniques 4
What is the Problem with Software Estimation? 5
The greatest discrepancy between what the client thinks, an executive thinks, and a developer thinks is often the definition of ESTIMATE 6
Estimates, Targets, and Commitments Estimates Targets Commitments 1 2 3 Statement/Desire Predic'on Promise • A ¡ Statement ¡of ¡a ¡ • A ¡ Promise ¡to ¡deliver ¡ • A ¡ Predic'on ¡of ¡how ¡ desirable ¡business ¡ defined ¡ long ¡a ¡project ¡will ¡ objec3ve func3onality ¡at ¡a ¡ take ¡or ¡how ¡much ¡it ¡ specific ¡level ¡of ¡ will ¡cost quality ¡and ¡by ¡a ¡ certain ¡date 7
Estimates, Targets, and Commitments 1 2 3 Estimate Target Cut From Commitment Phase 8
Your best developer is not necessarily your best estimator 9
The Solution Architect Things ¡that ¡may ¡be ¡missing: About ¡your ¡unicorn: How ¡fast ¡can ¡a ¡DEVELOPER ¡do ¡the ¡work? • Knows ¡the ¡most ¡about ¡ Drupal • Experience ¡in How ¡much ¡3me ¡will ¡be ¡spent ¡training, ¡instruc3ng, ¡ Ecommerce reviewing, ¡and ¡doing ¡oversight? Migra3on Integra3on Avoiding ¡unfounded ¡op3mism Site ¡building ¡& ¡Theming • Understands ¡business ¡value • Can ¡magically ¡debug ¡ anything 10
What is the definition of a “GOOD” estimate? 11
90% confidence What ¡is ¡the ¡surface ¡temperature ¡of ¡the ¡ Sun? ¡ ¡(Give ¡a ¡range ¡in ¡Fahrenheit) ¡ A"er ¡all, ¡the ¡process ¡is ¡called ¡ Es2ma2on, ¡not ¡Exac2ma2on. Make ¡your ¡range ¡wide ¡enough ¡ that ¡you ¡feel ¡you ¡are ¡90% ¡confident that ¡your ¡range ¡includes ¡the ¡answer -‑ ¡Phillip ¡Armour 10,000 ¡Degrees ¡F 12
90% confidence How ¡confident ¡is ¡90% ¡confident? The ¡average ¡number ¡of ¡correct ¡ answers ¡was ¡2.8. ¡ ¡Only ¡2% ¡of ¡quiz takers ¡scored ¡8 ¡or ¡more ¡correctly. Most ¡peoples ¡intui've ¡sense of ¡90% ¡confidence ¡is ¡in ¡fact ¡ closer ¡to ¡30% ¡confidence. 13
Software is not developed in a vacuum 14
EXTERNAL FACTORS ARE OFTEN UNACCOUNTED FOR UNSTABLE ¡ REQUIREMENTS ¡ STAFF ¡DIVERTED ¡ FUNCTIONALITY ¡ REMOVED TO ¡SUPPORT ¡ STAFF ¡NOT ¡READY REMOVED TRADE ¡SHOW STAFF ¡DIVERTED ¡TO ¡ REQUIREMENTS ¡ LESS ¡EXPERIENCED ¡ SERVER ¡NOT ¡READY SUPPORT ¡OLD ¡ ADDED STAFF ¡ PROJECT 15
Events that happen during the project nearly always invalidate the assumptions that were used to estimate the project in the first place. 4 1 2 3 Functional Input Staffing Priority Assumptions Assumptions Assumptions Assumptions 16
Software estimation is not just about adding up the sum of the parts 17
The ¡ac'vi'es ¡of ¡a ¡late ¡or ¡compressed ¡ Project Dynamics project ¡create ¡destruc've ¡“late-‑ project” ¡dynamics ¡that ¡make ¡the ¡ project ¡even ¡WORSE ¡than ¡nominal. More ¡ Frequent ¡Re-‑ Apologizing ¡to ¡ Preparing ¡ More ¡ Fixing ¡ Going ¡back ¡to ¡ Status ¡ es3ma3on key ¡customers interim ¡ discussion ¡on ¡ problems ¡that ¡ the ¡contract Mee3ngs releases priority ¡& ¡ arise ¡from ¡ requirements quick ¡and ¡ dirty ¡ workarounds 18
Results 19
Results Timelines Budgets 20
Results Costs 21
“Software does not have a neutral estimation problem. The industry data shows clearly that the software industry has an underestimation problem.” -- Steve McConnell 22
When given the option of a shorter average schedule with higher variability or a longer average schedule with lower variability, 8 out of 10 executives will choose the second option 23
Avoiding Risk 24
Major Areas of Risk Est. ¡Process P r o • 90% confidence • What kind of content j e • Best Estimator type/field/thing c t • Terminology ¡ • Scope w/o specs I n • External Factors • Specific definitions f o Project ¡Chaos y t i v • Lack of end-user : • Setup Costs c involvement or A • Management Costs ¡ d production owner • Other (non-dev) e 7 • Timeline Costs i m • Poor wires/design O 25
Consider your project’s current position within the cone of uncertainty, this will help you gauge the level of accuracy in your estimate. 26
The Cone of Uncertainty Ini,al ¡Product ¡ User ¡Interface ¡ Detailed ¡Design ¡ Product ¡ Requirements ¡ Concept ¡ Design ¡ Complete Defini,on Complete Complete “I ¡want ¡a ¡website” “I ¡have ¡full ¡ “I ¡know ¡the ¡scope ¡of ¡ “I ¡know ¡the ¡specs ¡ documented ¡specs ¡ services” of ¡the ¡project” “I ¡have ¡ and ¡design ¡files” wireframes” 27
Leverage the power of well defined products to move your way through the cone of uncertainty 28
Products Evalua3on ¡of ¡the ¡inner ¡ workings ¡of ¡a ¡current ¡ Audits Drupal ¡site, ¡for ¡upgrade ¡ Drupal ¡Concept ¡Educa3on ¡as ¡ and ¡migra3on ¡planning an ¡entry ¡into ¡the ¡product ¡ Discovery ¡Process Training ¡ Workshops Technical ¡and ¡UI/UX ¡planning ¡ for ¡a ¡large ¡scale ¡development ¡ projects Discovery 29
Know when you are in a chaos project and how to reset 30
Chaos Projects How ¡does ¡ BAD ¡go ¡to ¡ TERRIBLE ? Poor ¡Project ¡ External ¡ Re-‑es,ma,on ¡ Pure ¡Chaos Dynamics Factors or ¡Planning “Chaos projects introduce variability for each following step. The answer is not to continue to re-estimate but instead address each issue through project control.” 31
NEVER, let your estimator forget (or your sales team remove) these important activities 32
Omitted Activities • Setup, ¡Installa3on, ¡Downloads, ¡Builds ¡ Setup • Ramp-‑up, ¡Kickoff, ¡Onboarding, ¡Accoun3ng • Updates, ¡Upgrades, ¡Deployments, ¡Performance Maintenance • Configura3on, ¡Automa3on, ¡Reviews • Vaca3on, ¡Holiday, ¡Sick, ¡Drupalcon Non-‑soMware • Outages, ¡Troubleshoo3ng, ¡Worksta3ons • Stand ¡ups, ¡Contract ¡review, ¡Training, ¡QA ¡review Management • Engagement ¡Management, ¡Staffing, ¡Governance 33
Don’t overcomplicate your “science”. Use few factors and simple formulas over complex. 34
Overcomplicating Estimates Many ¡Factorial ¡Adjustments Few ¡Factorial ¡Adjustments 4x 4x .25x .25x 35
Estimation Techniques 36
Estimating “Things” Lets ¡assume ¡that ¡you ¡are ¡all ¡ expert ¡es2mators ¡and ¡that ¡all ¡the ¡ process ¡and ¡risk ¡areas ¡we ¡have ¡ spoken ¡today ¡you ¡know ¡ PERFECTLY ¡how ¡to ¡avoid. ¡ How ¡many ¡people ¡are ¡in ¡this ¡room ¡ right ¡now? 37
APPROACHES TO ESTIMATING “THINGS” The ¡Hobbyist The ¡Factor ¡ The ¡Percentage ¡ The ¡Data ¡Guy Guy Guy “15 ¡rows ¡5 ¡ ¡ ¡ ¡ “150 ¡person ¡ “I’m ¡guessing ¡ “The ¡last ¡3 ¡ per ¡row” capacity ¡and ¡its ¡ 75 ¡people” sessions ¡have ¡ half ¡full” had ¡XX” Judgement Count Compute Calibra,on 38
Count, Compute, Judge COUNT ¡(& ¡Calibrate) Find ¡something ¡to ¡count ¡that ¡has ¡a ¡direct ¡ 1 correla3on ¡to ¡what ¡you ¡are ¡building Count ¡if ¡at ¡all ¡possible. ¡ ¡ Compute ¡ when ¡you ¡can’t ¡count. ¡Use ¡ Judgement ¡alone ¡only COMPUTE as ¡a ¡last ¡resort. Mul3ply ¡by ¡a ¡sta3s3cally ¡ 2 meaningful ¡(proven) ¡average JUDGE Only ¡make ¡assump3ons ¡ 3 as ¡a ¡final ¡op3on ¡(document) 39
Recommend
More recommend