SlideShare a Scribd company logo
1 of 30
Download to read offline
STOP
MULTIPLYINGBY4
CHUCK REEVES @MANCHUCK
What is estimation?
Why even estimate?
Why should developers estimate?
I'll tell you how I estimate things. I sit down and figure out how
long I think it would take me to do it. Then I double that time and
then I push it up to the next point on the “Time Progression
Scale”. Were the “Time Progress Scale” starts off: seconds,
minuets, hours and days. So if I think something is going to take
me 4 hours to do. I will double it to 8 and then I would say it
would take me 8 days to get it all completely done start to finish.
And I'm usually right, because there are so many impediments. If
you are the only one doing it yourself your schedule can be very
accurate. Once you have to involve other people, you might as
well just make numbers up. You might as well say “I think this will
take me Blue days to get done”
- Development hell podcast; Episode 29: Snappy to Snappy question
2 + x = 5
Deduction
2 + x = y
Induction
Requirements are the key
Measure what is measurable, but make measurable what is not so
-Galileo Galilei
“Wordy” Expression
Our new Contact form, is a quick and easy way for the sales
team to collect information to contact people to sell our
service. The contact form will require someone to enter in:
Their name, their email address and their phone number.
The sales team will then contact that person to tell them
how awesome our service is
Actors:
Sales – Employees of Initech who promote the
product
Leads – People who are not already signed on for
Initech products
The contact form will have fields for: Name, Email, and Valid
Phone number.
Misplaced Modifier
The contact form allows Leads to enter in: Name, Email and
Valid phone number. The sales team needs a list of leads with
the option to mark as contacted
Top Tip: Prevent children from ingesting dangerous medicines by locking
them in a childproof cupboard. 3 children per cupboard is a good fit
-Periwinkle Jones @peachesanscream
The contact form will have fields for: Name, Email, and Phone number.
All fields are required and must be validated. The sales team needs a list of
leads. Sales team needs a checkbox to mark a lead as contacted
Valid Phone numbers:
(202) 456-1111
555-1212
212-867-5309
1-800-MATTRES
911
+44 871 984 6352
+852 2280 2898
+91 11 2679 1234
fast, rapid, efficient Use a set time: "5 seconds"
valid, including but not limited too,
etc., and so on
Describe what is valid or invalid. use
comprehensive list
maximize, minimize, optimize, at least,
between, several
Be sure to include appropriate values
simple, easy, quick, user-friendly Describe what makes it these
reasonable, when necessary How do you make this judgment?
Source: Software Requirements 2 – Karl Weigers
Be sure you define the technical requirements of what you
are estimating:
UTF-8
First and Last name must be between 3 and 100 characters
Email complies with RFC 822 and no longer than 300 characters and unique in our system
Phone Number < 25 characters and validated with Foo-Bar REST service
Break down requirements into smaller parts:
Email lookup service
Phone validation integration
Form logic
Lead management UI
Historical data
Dry run / Unit test
Confidence Interval (CI)
It is better to be roughly right than precisely wrong.
- John Maynard Keynes
What is the wingspan of a 747
Francis Scott Key wrote the lyrics, but not the music, for the
American National Anthem
Repetition
Pros and Cons
Absurdity Test
Equivalent Bet
90% WIN
10%
Loose
Q. What is the wingspan of a 747
A. 211 ft (64m)
Q. Francis Scott Key wrote the lyrics, but not the music, for the
American National Anthem
A. True
Fuzzy Logic / Tee Shirt
Size Average LOC
Very Small 127
Small 253
Medium 500
Large 1,014
Very Large 1,988
Source: Software Estimation 2 – Steve McConnell
Wideband Delphi Or Group
Round 1
Round 2
Round 3
Hours
1 2 3 4 65 7 8 9
Round 1 – 6.5
Round 2 – 6.8
Round 3 – 6
Bayes Theorem
When you get information, the level of uncertainty will decrease.
P (A|B) =
P (B|A) P(A)
P (B)
Priorities – Urgency Matrix
Important Not Important
Urgent High Priority
Not Urgent Medium Priority Low Priority
Source: Software Requirements 2 – Karl Weigers
Priorities – Prioritization Spreadsheet
Source: Software Requirements 2 – Karl Weigers
https://www.microsoftpressstore.com/store/software-requirements-9780735679665
Feature
Relative
Benefit
Relative
Penalty
Total
Value
Value
%
Dev
Cost
Cost
%
Dev
Risk
Risk
%
Priorit
y
Phone Validation 2 4 8 15.0 8 44.4 9 60.0 0.144
Lead UI 5 3 13 20.0 2 11.1 1 6.7 1.125
Form Logic 9 7 25 40.0 5 27.8 3 20.0 0.837
Email Lookup 5 5 15 25.0 3 16.7 2 13.3 0.833
Totals 21 19 61 100.0 11 100.0 15 100.0
Politics
Remove people from the problem
Focus on Interests not Positions
DO NOT NEGOTIATE YOUR ESTIMATE!!!!!
Final Thoughts
Prefer hours to days (scale easier)
Throwing more developers may not solve the problem
Iterate and be honest
ISBN-13: 978-0735618794
ISBN-13: 978-0735605350
ISBN-13: 978-1118539279
Thank You!
Chuck Reeves @manchuck
Software Estimation: Demystifying the Black Art – by Steve
McConnell | ISBN-13: 978-0735605350
Software Requirements: Practical Techniques for Gathering and
Managing Requirements – by Karl Wiegers ASIN: B0043M56R8
How to Measure Anything: Finding the Value of Intangibles in
Business – by Douglas Hubbard | ISBN-13: 978-1118539279
Dev Hell Podcast - Episode 29: Snappy Answers to Stupid
Questions

More Related Content

What's hot

5 whys - The Path to Resolution
5 whys - The Path to Resolution5 whys - The Path to Resolution
5 whys - The Path to ResolutionTor Ivry
 
How to give awesome
How to give awesomeHow to give awesome
How to give awesomenagrom555
 
Introducing HOSTING Labs - Ed Schaefer
Introducing HOSTING Labs - Ed Schaefer Introducing HOSTING Labs - Ed Schaefer
Introducing HOSTING Labs - Ed Schaefer Hostway|HOSTING
 
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...Kelvin Newman
 
How to have less rubbish ideas #brightonseo
How to have less rubbish ideas #brightonseoHow to have less rubbish ideas #brightonseo
How to have less rubbish ideas #brightonseoKelvin Newman
 

What's hot (6)

5 whys - The Path to Resolution
5 whys - The Path to Resolution5 whys - The Path to Resolution
5 whys - The Path to Resolution
 
How to give awesome
How to give awesomeHow to give awesome
How to give awesome
 
Introducing HOSTING Labs - Ed Schaefer
Introducing HOSTING Labs - Ed Schaefer Introducing HOSTING Labs - Ed Schaefer
Introducing HOSTING Labs - Ed Schaefer
 
5 whys
5 whys5 whys
5 whys
 
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
 
How to have less rubbish ideas #brightonseo
How to have less rubbish ideas #brightonseoHow to have less rubbish ideas #brightonseo
How to have less rubbish ideas #brightonseo
 

Similar to Stop multiplying by 4 Lone Star PHP

Stop multiplying by 4 nyphp
Stop multiplying by 4 nyphpStop multiplying by 4 nyphp
Stop multiplying by 4 nyphpChuck Reeves
 
Stop multiplying by 4 PHP Tour 2014
Stop multiplying by 4 PHP Tour 2014Stop multiplying by 4 PHP Tour 2014
Stop multiplying by 4 PHP Tour 2014Chuck Reeves
 
13 0827 webinar q & a sustainability
13 0827   webinar q & a sustainability13 0827   webinar q & a sustainability
13 0827 webinar q & a sustainabilityCleantechOpen
 
13 0827 webinar q & a sustainability
13 0827   webinar q & a sustainability13 0827   webinar q & a sustainability
13 0827 webinar q & a sustainabilityCleantechOpen
 
When Remembering REALLY Matters - DevLearn 2014 presentation
When Remembering REALLY Matters - DevLearn 2014 presentationWhen Remembering REALLY Matters - DevLearn 2014 presentation
When Remembering REALLY Matters - DevLearn 2014 presentationSharon Boller
 
Creating a culture that provokes failure and boosts improvement
Creating a culture that provokes failure and boosts improvementCreating a culture that provokes failure and boosts improvement
Creating a culture that provokes failure and boosts improvementBen Dressler
 
Controlled assessment
Controlled assessmentControlled assessment
Controlled assessmentAndy Goodwin
 
Rinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine LearningRinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine LearningAnna Chaney
 
Lab - Surface WaterPre-Lab QuestionsWhen a river bends and.docx
Lab - Surface WaterPre-Lab QuestionsWhen a river bends and.docxLab - Surface WaterPre-Lab QuestionsWhen a river bends and.docx
Lab - Surface WaterPre-Lab QuestionsWhen a river bends and.docxsmile790243
 
Assignment 3 GlencoreYour client is the Glencore. It has hire.docx
Assignment 3  GlencoreYour client is the Glencore.  It has hire.docxAssignment 3  GlencoreYour client is the Glencore.  It has hire.docx
Assignment 3 GlencoreYour client is the Glencore. It has hire.docxsherni1
 
[EN] 7 steps to a successful International PR Campaign
[EN] 7 steps to a successful International PR Campaign[EN] 7 steps to a successful International PR Campaign
[EN] 7 steps to a successful International PR CampaignBecomewide
 
4 Cycles Remote Innovation - Communicate & Check
4  Cycles Remote Innovation - Communicate & Check 4  Cycles Remote Innovation - Communicate & Check
4 Cycles Remote Innovation - Communicate & Check Bryan Cassady
 
Effective Use of Surveys in UX | Triangle UXPA Workshop
Effective Use of Surveys in UX | Triangle UXPA WorkshopEffective Use of Surveys in UX | Triangle UXPA Workshop
Effective Use of Surveys in UX | Triangle UXPA WorkshopAmanda Stockwell
 
Mit elearning design workshop day
Mit elearning design workshop dayMit elearning design workshop day
Mit elearning design workshop dayCammy Bean
 
Directions for response to discussion post students will resp
Directions for response to discussion post students will respDirections for response to discussion post students will resp
Directions for response to discussion post students will respSONU61709
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users AnonymousDave Haeffner
 
SurveyMonkey Audience - Survey Writing Guide
SurveyMonkey Audience - Survey Writing GuideSurveyMonkey Audience - Survey Writing Guide
SurveyMonkey Audience - Survey Writing GuideBrent Chudoba
 
Branchout 2017 - Day 1 Session - Effi Fuks-Leichtag
Branchout 2017 - Day 1 Session - Effi Fuks-LeichtagBranchout 2017 - Day 1 Session - Effi Fuks-Leichtag
Branchout 2017 - Day 1 Session - Effi Fuks-LeichtagBranch
 
Roadmap to your success
Roadmap to your successRoadmap to your success
Roadmap to your successWeAllWinGlobal
 

Similar to Stop multiplying by 4 Lone Star PHP (20)

Stop multiplying by 4 nyphp
Stop multiplying by 4 nyphpStop multiplying by 4 nyphp
Stop multiplying by 4 nyphp
 
Stop multiplying by 4 PHP Tour 2014
Stop multiplying by 4 PHP Tour 2014Stop multiplying by 4 PHP Tour 2014
Stop multiplying by 4 PHP Tour 2014
 
13 0827 webinar q & a sustainability
13 0827   webinar q & a sustainability13 0827   webinar q & a sustainability
13 0827 webinar q & a sustainability
 
13 0827 webinar q & a sustainability
13 0827   webinar q & a sustainability13 0827   webinar q & a sustainability
13 0827 webinar q & a sustainability
 
When Remembering REALLY Matters - DevLearn 2014 presentation
When Remembering REALLY Matters - DevLearn 2014 presentationWhen Remembering REALLY Matters - DevLearn 2014 presentation
When Remembering REALLY Matters - DevLearn 2014 presentation
 
Creating a culture that provokes failure and boosts improvement
Creating a culture that provokes failure and boosts improvementCreating a culture that provokes failure and boosts improvement
Creating a culture that provokes failure and boosts improvement
 
Controlled assessment
Controlled assessmentControlled assessment
Controlled assessment
 
Rinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine LearningRinse and Repeat : The Spiral of Applied Machine Learning
Rinse and Repeat : The Spiral of Applied Machine Learning
 
Lab - Surface WaterPre-Lab QuestionsWhen a river bends and.docx
Lab - Surface WaterPre-Lab QuestionsWhen a river bends and.docxLab - Surface WaterPre-Lab QuestionsWhen a river bends and.docx
Lab - Surface WaterPre-Lab QuestionsWhen a river bends and.docx
 
Assignment 3 GlencoreYour client is the Glencore. It has hire.docx
Assignment 3  GlencoreYour client is the Glencore.  It has hire.docxAssignment 3  GlencoreYour client is the Glencore.  It has hire.docx
Assignment 3 GlencoreYour client is the Glencore. It has hire.docx
 
[EN] 7 steps to a successful International PR Campaign
[EN] 7 steps to a successful International PR Campaign[EN] 7 steps to a successful International PR Campaign
[EN] 7 steps to a successful International PR Campaign
 
4 Cycles Remote Innovation - Communicate & Check
4  Cycles Remote Innovation - Communicate & Check 4  Cycles Remote Innovation - Communicate & Check
4 Cycles Remote Innovation - Communicate & Check
 
Effective Use of Surveys in UX | Triangle UXPA Workshop
Effective Use of Surveys in UX | Triangle UXPA WorkshopEffective Use of Surveys in UX | Triangle UXPA Workshop
Effective Use of Surveys in UX | Triangle UXPA Workshop
 
Mit elearning design workshop day
Mit elearning design workshop dayMit elearning design workshop day
Mit elearning design workshop day
 
Directions for response to discussion post students will resp
Directions for response to discussion post students will respDirections for response to discussion post students will resp
Directions for response to discussion post students will resp
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
Mini Map
Mini MapMini Map
Mini Map
 
SurveyMonkey Audience - Survey Writing Guide
SurveyMonkey Audience - Survey Writing GuideSurveyMonkey Audience - Survey Writing Guide
SurveyMonkey Audience - Survey Writing Guide
 
Branchout 2017 - Day 1 Session - Effi Fuks-Leichtag
Branchout 2017 - Day 1 Session - Effi Fuks-LeichtagBranchout 2017 - Day 1 Session - Effi Fuks-Leichtag
Branchout 2017 - Day 1 Session - Effi Fuks-Leichtag
 
Roadmap to your success
Roadmap to your successRoadmap to your success
Roadmap to your success
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Stop multiplying by 4 Lone Star PHP

  • 2.
  • 3. What is estimation? Why even estimate? Why should developers estimate?
  • 4. I'll tell you how I estimate things. I sit down and figure out how long I think it would take me to do it. Then I double that time and then I push it up to the next point on the “Time Progression Scale”. Were the “Time Progress Scale” starts off: seconds, minuets, hours and days. So if I think something is going to take me 4 hours to do. I will double it to 8 and then I would say it would take me 8 days to get it all completely done start to finish. And I'm usually right, because there are so many impediments. If you are the only one doing it yourself your schedule can be very accurate. Once you have to involve other people, you might as well just make numbers up. You might as well say “I think this will take me Blue days to get done” - Development hell podcast; Episode 29: Snappy to Snappy question
  • 5. 2 + x = 5 Deduction
  • 6. 2 + x = y Induction
  • 7. Requirements are the key Measure what is measurable, but make measurable what is not so -Galileo Galilei
  • 8. “Wordy” Expression Our new Contact form, is a quick and easy way for the sales team to collect information to contact people to sell our service. The contact form will require someone to enter in: Their name, their email address and their phone number. The sales team will then contact that person to tell them how awesome our service is
  • 9. Actors: Sales – Employees of Initech who promote the product Leads – People who are not already signed on for Initech products The contact form will have fields for: Name, Email, and Valid Phone number.
  • 10. Misplaced Modifier The contact form allows Leads to enter in: Name, Email and Valid phone number. The sales team needs a list of leads with the option to mark as contacted Top Tip: Prevent children from ingesting dangerous medicines by locking them in a childproof cupboard. 3 children per cupboard is a good fit -Periwinkle Jones @peachesanscream
  • 11. The contact form will have fields for: Name, Email, and Phone number. All fields are required and must be validated. The sales team needs a list of leads. Sales team needs a checkbox to mark a lead as contacted Valid Phone numbers: (202) 456-1111 555-1212 212-867-5309 1-800-MATTRES 911 +44 871 984 6352 +852 2280 2898 +91 11 2679 1234
  • 12. fast, rapid, efficient Use a set time: "5 seconds" valid, including but not limited too, etc., and so on Describe what is valid or invalid. use comprehensive list maximize, minimize, optimize, at least, between, several Be sure to include appropriate values simple, easy, quick, user-friendly Describe what makes it these reasonable, when necessary How do you make this judgment? Source: Software Requirements 2 – Karl Weigers
  • 13. Be sure you define the technical requirements of what you are estimating: UTF-8 First and Last name must be between 3 and 100 characters Email complies with RFC 822 and no longer than 300 characters and unique in our system Phone Number < 25 characters and validated with Foo-Bar REST service
  • 14. Break down requirements into smaller parts: Email lookup service Phone validation integration Form logic Lead management UI
  • 15. Historical data Dry run / Unit test Confidence Interval (CI) It is better to be roughly right than precisely wrong. - John Maynard Keynes
  • 16. What is the wingspan of a 747 Francis Scott Key wrote the lyrics, but not the music, for the American National Anthem
  • 17. Repetition Pros and Cons Absurdity Test Equivalent Bet
  • 19. Q. What is the wingspan of a 747 A. 211 ft (64m) Q. Francis Scott Key wrote the lyrics, but not the music, for the American National Anthem A. True
  • 20. Fuzzy Logic / Tee Shirt Size Average LOC Very Small 127 Small 253 Medium 500 Large 1,014 Very Large 1,988 Source: Software Estimation 2 – Steve McConnell
  • 21. Wideband Delphi Or Group Round 1 Round 2 Round 3 Hours 1 2 3 4 65 7 8 9 Round 1 – 6.5 Round 2 – 6.8 Round 3 – 6
  • 22. Bayes Theorem When you get information, the level of uncertainty will decrease. P (A|B) = P (B|A) P(A) P (B)
  • 23. Priorities – Urgency Matrix Important Not Important Urgent High Priority Not Urgent Medium Priority Low Priority Source: Software Requirements 2 – Karl Weigers
  • 24. Priorities – Prioritization Spreadsheet Source: Software Requirements 2 – Karl Weigers https://www.microsoftpressstore.com/store/software-requirements-9780735679665 Feature Relative Benefit Relative Penalty Total Value Value % Dev Cost Cost % Dev Risk Risk % Priorit y Phone Validation 2 4 8 15.0 8 44.4 9 60.0 0.144 Lead UI 5 3 13 20.0 2 11.1 1 6.7 1.125 Form Logic 9 7 25 40.0 5 27.8 3 20.0 0.837 Email Lookup 5 5 15 25.0 3 16.7 2 13.3 0.833 Totals 21 19 61 100.0 11 100.0 15 100.0
  • 25. Politics Remove people from the problem Focus on Interests not Positions DO NOT NEGOTIATE YOUR ESTIMATE!!!!!
  • 26. Final Thoughts Prefer hours to days (scale easier) Throwing more developers may not solve the problem Iterate and be honest
  • 30. Thank You! Chuck Reeves @manchuck Software Estimation: Demystifying the Black Art – by Steve McConnell | ISBN-13: 978-0735605350 Software Requirements: Practical Techniques for Gathering and Managing Requirements – by Karl Wiegers ASIN: B0043M56R8 How to Measure Anything: Finding the Value of Intangibles in Business – by Douglas Hubbard | ISBN-13: 978-1118539279 Dev Hell Podcast - Episode 29: Snappy Answers to Stupid Questions