SlideShare a Scribd company logo
1 of 32
Software Development Project Estimation
Oleksandr Katrusha
Senior Engineering Manager
oleksandr.Katrusha@Innovecs.com
“Prediction is very difficult, especially about the future.”
Niels Bohr, Danish physicist
2
Intro
• Estimated length is 60 minutes
• Feel free to ask questions!
• Terminology
• Software Development (Waterfall, my experience)
• Project
• Estimate – number, document
• Effort
• Estimation – process
3
When?
• RFP response / tender bid
• Make go/no-go decisions with a project
• Cost and ROI (return on Investment)
• Plan new phase
• Plan resources / budget
• Calendar-driven
4
Why?
• Define scope and assumptions
• Know price and/or cost
• Justify the price / budget, not to estimate!
• Sell more, sell better
• Input for other processes
• Sales
• Scheduling
• Hiring
• Budgeting
• Correct estimate is crucial for project success!
5
Structure
• Scope. “What?”
• Riskier than underestimation!
• In / out
• Client sees not what you see
• Assumptions and risks. Conditions
• Versions, separation of duties etc..
• Numbers. “How much?”
• Per task in WBS
• Buffers
• Any number is a commitment!
• Wrapping
Experiment - Flower merchant
6
• Have kiosk in Kyiv, ~100 types of flowers
• Ignorant in IT
• 50 to 150 orders per day, private and corporate, wholesale and retail
• Payment in credit card or cash
• Now tracking in Excel - inconvenient, prone to errors and cheating
Need to:
• Track order status (placed, purchased, prepared, delivered, sold)
• Integrate with payment gateway
• In order not to forget delivery and collect payments
• Shelf product does not work, technology does not matter
• How much effort will it take to develop and deploy the
program (in man-hours)?
https://goo.gl/5CCsDs
7
Remember
• Estimation mistakes are very expensive
• The number of (negative) risks is unlimited
• Parkinson's law: ”Work expands so as to fill
the time available for its completion“
• Do not overestimate
• Raise issues and arguments as early as
possible
• Scope creep kills you quick
• And starts from estimate…
8
Prerequisites
• Enough time and other resources
• Know stakeholders and POC
• Read SOW (Statement of Work, contract)
• Deliverables and conditions
• Sales / delivery handover
• Do they know what you develop?
• Do you know what they sell?
• Different KPIs
• Participate in sales process
9
Scope
Unknow
knows
Known
Unknowns
Unknown
Unknowns
Known
knowns
Estimate
Discover
and
estimate
Overestimate
Assume
OR
Put out of scope
Add buffer
10
Define scope
• Collect requirements
• Confirm requirements
• At least by default
• Explicitly state what is out of scope / not estimated
• Or estimate if not sure
• Make it large first (even ridiculous)
• Formal, informal, missing
• Email, talks, references
• Expectations
• Functional
• NFRs
• Legacy artifacts – not only code
• Risky items (not risks)
• “Do it for all forms in the system”
• Captions case
11
Non-functional requirements
• Performance
o Response Time
o Throughput
o …
• Scalability
• Capacity
• Availability
• Reliability
• Recoverability
• Maintainability
• Serviceability
• Security
• Regulatory
(GDPR)
• Manageability
• Environmental
• Data Integrity
• Usability
• Interoperability
12
Create WBS (Work Breakdown structure)
• Types
• Verb – oriented
• Time-phased
• Noun-oriented (features)
• 40 hrs per task max
• 100% of scope
• Non-project activities not included
13
Assumptions
• DoD (Definition of Done)
• Estimation’s “Best before”
• Versions
• Quality bar
• Who does what, support,
subcontractors
• Access to systems (case)
• Hardware requirements &
performance
• Legacy
• Licensing
• Known Unknowns
• Database size (Tb case)
• Integrations
• Legacy code
• …
• Any doubts, comments,
contradictions
• Anything that can be interpreted
wrongly (Tech upgrade case)
14
Units
• Effort vs Duration
• Do you know you team?
• Other projects / tasks
• Man-hours, -days, -weeks
• Billing, time-tracking
• Schedule
• Part-timers, calendars
• Working hours vs effective hours?
• How do you sell it?
• Scheduling /8 /40 /160
• 2 + 2 + 2 = 6 = 8
15
Executors
• Estimate for middle specialist
• Do you know your team?
• Do they have expertise?
• Add to assumptions
• Blends may vary in productivity
by ~50% !
S
M
J
M
J J
S
M
J
M
J
M
1.
2.
16
Who should estimate?
• Trained seniors
• With failure experience 
• But must feel safe
• Parkinson's law
• Cognitive biases
• Planning fallacy
• Probability
• Anchoring
17
Estimate!
 Per WBS item
• Development
• BA/SA ~70% of development
• QA ~50%
• Task contingency 5 - 30% of task time
 Outside of WBS
• Meetings ~20%
• Management ~15%
• DevOps ~5%
 Project buffer 5 - 15% of project time
Tips
• Use powers of two: 0.5, 1, 2, 4, 8, 16, (24), 32, (40)
• Estimate all categories if you can
• Optimistic in small, pessimistic in large
% may vary depending on
domain,
technology,
phase etc.
Sample
estimate,
man-hours
18
19
What is development?
• Read, understand and discuss task
• Code
• Build / Deploy
• Dev test
• Design and discuss solution
• Research and prototype
• Set up IDE, synch with VCS
• Unit test
• Create test data
• Create test scenario
• Fix bugs after dev test
• Check for rules compliance
• Commit / Review
• Fix after review
• Retest (!)
• Commit
• Fix bugs after QA
• Document
• Log status and time
20
Formulae
• Task effort is a random variable with its distribution!
• Three-point estimation
• a - the best case (Optimistic)
• m - the most likely (Realistic)
• b - the worst case (Pessimistic)
• Best case - average amount if task is performed 100 times
• Most likely case given normal problems and opportunities
• Worst case - everything goes wrong
• Weighted average (Expected time in PERT) E = (a + 4m + b) / 6
• Triangular E = (a + m + b) / 3
• Standard deviation S = (b – a) / 6
21
O – R – P
hrs #
1 0 0
2 0 0
3 1 3
4 3 12
5 8 40
6 5 30
7 3 21
8 2 16
9 0 0
10 2 20
11 0 0
12 1 12
25 154 6.16
https://goo.gl/ZUwwVa
What is the “most likely” estimate?
What is the most probable?
22
Expected value
23
Pros and Cons of 3 points
• Takes time and effort
• Still ambiguous what is “Good, Bad, Real”
• Allows to calculate standard deviation
• Better use for risky tasks with high level of uncertainty
• More or less same results with Realistic + Contingency
• Less time
 Agree on what you all mean by “Realistic”
24
Central limit theorem
When independent random variables are added
their properly normalized sum tends toward a normal distribution
even if the original variables themselves are not normally distributed
20–30 tasks for this to be reasonable, and
each of the estimates unbiased
• Tasks are dependent…
• Drucker's Law: "If one thing goes
wrong, everything else will, and
at the same time”
• 6 sigma
 Add (hide) project buffer!
25
Tips
• Be pessimistic first
• “What could go wrong” exercise?
• Use templates, checklists, samples, historical data
• Agree about buffers
• Beware of reverse engineering estimate
• You have no DoD
• Complexity is infinite
26
Checklist – requirements and management
Check if you have not forgotten:
• Planning, time tracking and budget control
• Reporting
• Clarifying and updating requirements and design
• Translation to/from English
• Onboarding and education
• Any system-wide features
• Demo data and environments, demo meetings
• Delivery preparation
• Design update after changes to code
• The actual time spent of estimation (case)
27
Checklist - development
• Post-delivery support and warranty
• Check SOW
• Quality bar
• Code quality
• Unit tests
• Certification
• Environment maintenance and outage
• Receiving access
• Bugs in standard and 3rd-party products
• Backlog from previous phases / projects
28
Checklist - development
• Data management and upgrade
• Security development
• Code review, refactoring and retest
• Performance test and tuning
• Integration with parallel teams or third parties
• Interim upgrades
• Risks of new technologies and frameworks
29
Checklist - test
• Test documentation
• Performance test
• Integration test
• Regression test
• SP / hotfix test
• Test / Demo data setup
• …
30
Wrapping
• Options
• Visible scope and assumptions
• Show / hide details
• Buffers / bug fixing… - client specific
 Elite
 Business
 Economy
31
Recap
Define Scope
Define Assumptions and Risks
Create WBS
Estimate Development per task
Define Contingency per task
Add BA, Test per task
Add Management, Meeting, DevOps, …
Add Project buffer
Check
Pack and sell
32
questions

More Related Content

What's hot

Rancher MasterClass - Avoiding-configuration-drift.pptx
Rancher  MasterClass - Avoiding-configuration-drift.pptxRancher  MasterClass - Avoiding-configuration-drift.pptx
Rancher MasterClass - Avoiding-configuration-drift.pptxLibbySchulze
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelThomas Graf
 
A testing strategy for hexagonal applications
A testing strategy for hexagonal applicationsA testing strategy for hexagonal applications
A testing strategy for hexagonal applicationsMatthias Noback
 
GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)Weaveworks
 
Exploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex GatewayExploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex Gatewayshyamraj55
 
Building a Google Cloud Firestore API with dotnet core
Building a Google Cloud Firestore API with dotnet coreBuilding a Google Cloud Firestore API with dotnet core
Building a Google Cloud Firestore API with dotnet coreMike Melusky
 
Application Profiling for Memory and Performance
Application Profiling for Memory and PerformanceApplication Profiling for Memory and Performance
Application Profiling for Memory and Performancepradeepfn
 
Python and GObject Introspection
Python and GObject IntrospectionPython and GObject Introspection
Python and GObject IntrospectionYuren Ju
 
MicroServices with Containers, Kubernetes & ServiceMesh
MicroServices with Containers, Kubernetes & ServiceMeshMicroServices with Containers, Kubernetes & ServiceMesh
MicroServices with Containers, Kubernetes & ServiceMeshAkash Agrawal
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Vietnam Open Infrastructure User Group
 
Kubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep DiveKubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep DiveMichal Rostecki
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?Alex Borysov
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with KubernetesDeivid Hahn Fração
 
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략Open Source Consulting
 
How Nespresso Uses JIRA Software for Release Management
How Nespresso Uses JIRA Software for Release ManagementHow Nespresso Uses JIRA Software for Release Management
How Nespresso Uses JIRA Software for Release ManagementAtlassian
 
Best Practices in Web Service Design
Best Practices in Web Service DesignBest Practices in Web Service Design
Best Practices in Web Service DesignLorna Mitchell
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 

What's hot (20)

Rancher MasterClass - Avoiding-configuration-drift.pptx
Rancher  MasterClass - Avoiding-configuration-drift.pptxRancher  MasterClass - Avoiding-configuration-drift.pptx
Rancher MasterClass - Avoiding-configuration-drift.pptx
 
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practiceRoom 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux Kernel
 
A testing strategy for hexagonal applications
A testing strategy for hexagonal applicationsA testing strategy for hexagonal applications
A testing strategy for hexagonal applications
 
GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)
 
Exploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex GatewayExploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex Gateway
 
Building a Google Cloud Firestore API with dotnet core
Building a Google Cloud Firestore API with dotnet coreBuilding a Google Cloud Firestore API with dotnet core
Building a Google Cloud Firestore API with dotnet core
 
Application Profiling for Memory and Performance
Application Profiling for Memory and PerformanceApplication Profiling for Memory and Performance
Application Profiling for Memory and Performance
 
Python and GObject Introspection
Python and GObject IntrospectionPython and GObject Introspection
Python and GObject Introspection
 
MicroServices with Containers, Kubernetes & ServiceMesh
MicroServices with Containers, Kubernetes & ServiceMeshMicroServices with Containers, Kubernetes & ServiceMesh
MicroServices with Containers, Kubernetes & ServiceMesh
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
 
Kubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep DiveKubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep Dive
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
 
CKA_1st.pptx
CKA_1st.pptxCKA_1st.pptx
CKA_1st.pptx
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
 
How Nespresso Uses JIRA Software for Release Management
How Nespresso Uses JIRA Software for Release ManagementHow Nespresso Uses JIRA Software for Release Management
How Nespresso Uses JIRA Software for Release Management
 
Best Practices in Web Service Design
Best Practices in Web Service DesignBest Practices in Web Service Design
Best Practices in Web Service Design
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 

Similar to Software development project estimation

Project Management 101: Communication is 90% of the Job
Project Management 101: Communication is 90% of the JobProject Management 101: Communication is 90% of the Job
Project Management 101: Communication is 90% of the JobBeth Fischi, PMP
 
IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...
IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...
IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...IWMW
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and schedulingSulman Ahmed
 
Estimating time-tracking
Estimating time-trackingEstimating time-tracking
Estimating time-trackingLeigh White
 
From Project Manager to Scrum Master
From Project Manager to Scrum MasterFrom Project Manager to Scrum Master
From Project Manager to Scrum MasterLitheSpeed
 
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014Jonathon Hill
 
Applying TQM and the Toyota Production System in Development of Software Arti...
Applying TQM and the Toyota Production System in Development of Software Arti...Applying TQM and the Toyota Production System in Development of Software Arti...
Applying TQM and the Toyota Production System in Development of Software Arti...Dave Litwiller
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)Syed Muhammad Hammad
 
Estimates or #NoEstimates by Enes Pelko
Estimates or #NoEstimates by Enes PelkoEstimates or #NoEstimates by Enes Pelko
Estimates or #NoEstimates by Enes PelkoBosnia Agile
 
Identifying and measuring testing debt
Identifying and measuring testing debtIdentifying and measuring testing debt
Identifying and measuring testing debtPeter Varhol
 
Effective engineer
Effective engineerEffective engineer
Effective engineerTony Vu
 
Scoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an AgencyScoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an AgencyJohn Giaconia
 
Scoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an AgencyScoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an AgencyKara Hansen
 
Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8Syed Muhammad Hammad
 
2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrfJohnnie Fox
 
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Andy Talbot
 

Similar to Software development project estimation (20)

Project Management 101: Communication is 90% of the Job
Project Management 101: Communication is 90% of the JobProject Management 101: Communication is 90% of the Job
Project Management 101: Communication is 90% of the Job
 
IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...
IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...
IWMW 2004: It Always Takes Longer Than You Think (Even If You Think It Will T...
 
Wbs
WbsWbs
Wbs
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
 
Estimating time-tracking
Estimating time-trackingEstimating time-tracking
Estimating time-tracking
 
From Project Manager to Scrum Master
From Project Manager to Scrum MasterFrom Project Manager to Scrum Master
From Project Manager to Scrum Master
 
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
 
Applying TQM and the Toyota Production System in Development of Software Arti...
Applying TQM and the Toyota Production System in Development of Software Arti...Applying TQM and the Toyota Production System in Development of Software Arti...
Applying TQM and the Toyota Production System in Development of Software Arti...
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)
 
Estimates or #NoEstimates by Enes Pelko
Estimates or #NoEstimates by Enes PelkoEstimates or #NoEstimates by Enes Pelko
Estimates or #NoEstimates by Enes Pelko
 
Identifying and measuring testing debt
Identifying and measuring testing debtIdentifying and measuring testing debt
Identifying and measuring testing debt
 
Effective engineer
Effective engineerEffective engineer
Effective engineer
 
Scoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an AgencyScoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an Agency
 
Scoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an AgencyScoping and Estimating WordPress Projects as an Agency
Scoping and Estimating WordPress Projects as an Agency
 
Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8
 
Estimating for Fixed Price Projects
Estimating for Fixed Price ProjectsEstimating for Fixed Price Projects
Estimating for Fixed Price Projects
 
2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf
 
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...
 
The Art of Project Estimation
The Art of Project EstimationThe Art of Project Estimation
The Art of Project Estimation
 
Estimation Protips
Estimation ProtipsEstimation Protips
Estimation Protips
 

Recently uploaded

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

Software development project estimation

  • 1. Software Development Project Estimation Oleksandr Katrusha Senior Engineering Manager oleksandr.Katrusha@Innovecs.com “Prediction is very difficult, especially about the future.” Niels Bohr, Danish physicist
  • 2. 2 Intro • Estimated length is 60 minutes • Feel free to ask questions! • Terminology • Software Development (Waterfall, my experience) • Project • Estimate – number, document • Effort • Estimation – process
  • 3. 3 When? • RFP response / tender bid • Make go/no-go decisions with a project • Cost and ROI (return on Investment) • Plan new phase • Plan resources / budget • Calendar-driven
  • 4. 4 Why? • Define scope and assumptions • Know price and/or cost • Justify the price / budget, not to estimate! • Sell more, sell better • Input for other processes • Sales • Scheduling • Hiring • Budgeting • Correct estimate is crucial for project success!
  • 5. 5 Structure • Scope. “What?” • Riskier than underestimation! • In / out • Client sees not what you see • Assumptions and risks. Conditions • Versions, separation of duties etc.. • Numbers. “How much?” • Per task in WBS • Buffers • Any number is a commitment! • Wrapping
  • 6. Experiment - Flower merchant 6 • Have kiosk in Kyiv, ~100 types of flowers • Ignorant in IT • 50 to 150 orders per day, private and corporate, wholesale and retail • Payment in credit card or cash • Now tracking in Excel - inconvenient, prone to errors and cheating Need to: • Track order status (placed, purchased, prepared, delivered, sold) • Integrate with payment gateway • In order not to forget delivery and collect payments • Shelf product does not work, technology does not matter • How much effort will it take to develop and deploy the program (in man-hours)? https://goo.gl/5CCsDs
  • 7. 7 Remember • Estimation mistakes are very expensive • The number of (negative) risks is unlimited • Parkinson's law: ”Work expands so as to fill the time available for its completion“ • Do not overestimate • Raise issues and arguments as early as possible • Scope creep kills you quick • And starts from estimate…
  • 8. 8 Prerequisites • Enough time and other resources • Know stakeholders and POC • Read SOW (Statement of Work, contract) • Deliverables and conditions • Sales / delivery handover • Do they know what you develop? • Do you know what they sell? • Different KPIs • Participate in sales process
  • 10. 10 Define scope • Collect requirements • Confirm requirements • At least by default • Explicitly state what is out of scope / not estimated • Or estimate if not sure • Make it large first (even ridiculous) • Formal, informal, missing • Email, talks, references • Expectations • Functional • NFRs • Legacy artifacts – not only code • Risky items (not risks) • “Do it for all forms in the system” • Captions case
  • 11. 11 Non-functional requirements • Performance o Response Time o Throughput o … • Scalability • Capacity • Availability • Reliability • Recoverability • Maintainability • Serviceability • Security • Regulatory (GDPR) • Manageability • Environmental • Data Integrity • Usability • Interoperability
  • 12. 12 Create WBS (Work Breakdown structure) • Types • Verb – oriented • Time-phased • Noun-oriented (features) • 40 hrs per task max • 100% of scope • Non-project activities not included
  • 13. 13 Assumptions • DoD (Definition of Done) • Estimation’s “Best before” • Versions • Quality bar • Who does what, support, subcontractors • Access to systems (case) • Hardware requirements & performance • Legacy • Licensing • Known Unknowns • Database size (Tb case) • Integrations • Legacy code • … • Any doubts, comments, contradictions • Anything that can be interpreted wrongly (Tech upgrade case)
  • 14. 14 Units • Effort vs Duration • Do you know you team? • Other projects / tasks • Man-hours, -days, -weeks • Billing, time-tracking • Schedule • Part-timers, calendars • Working hours vs effective hours? • How do you sell it? • Scheduling /8 /40 /160 • 2 + 2 + 2 = 6 = 8
  • 15. 15 Executors • Estimate for middle specialist • Do you know your team? • Do they have expertise? • Add to assumptions • Blends may vary in productivity by ~50% ! S M J M J J S M J M J M 1. 2.
  • 16. 16 Who should estimate? • Trained seniors • With failure experience  • But must feel safe • Parkinson's law • Cognitive biases • Planning fallacy • Probability • Anchoring
  • 17. 17 Estimate!  Per WBS item • Development • BA/SA ~70% of development • QA ~50% • Task contingency 5 - 30% of task time  Outside of WBS • Meetings ~20% • Management ~15% • DevOps ~5%  Project buffer 5 - 15% of project time Tips • Use powers of two: 0.5, 1, 2, 4, 8, 16, (24), 32, (40) • Estimate all categories if you can • Optimistic in small, pessimistic in large % may vary depending on domain, technology, phase etc.
  • 19. 19 What is development? • Read, understand and discuss task • Code • Build / Deploy • Dev test • Design and discuss solution • Research and prototype • Set up IDE, synch with VCS • Unit test • Create test data • Create test scenario • Fix bugs after dev test • Check for rules compliance • Commit / Review • Fix after review • Retest (!) • Commit • Fix bugs after QA • Document • Log status and time
  • 20. 20 Formulae • Task effort is a random variable with its distribution! • Three-point estimation • a - the best case (Optimistic) • m - the most likely (Realistic) • b - the worst case (Pessimistic) • Best case - average amount if task is performed 100 times • Most likely case given normal problems and opportunities • Worst case - everything goes wrong • Weighted average (Expected time in PERT) E = (a + 4m + b) / 6 • Triangular E = (a + m + b) / 3 • Standard deviation S = (b – a) / 6
  • 21. 21 O – R – P hrs # 1 0 0 2 0 0 3 1 3 4 3 12 5 8 40 6 5 30 7 3 21 8 2 16 9 0 0 10 2 20 11 0 0 12 1 12 25 154 6.16 https://goo.gl/ZUwwVa What is the “most likely” estimate? What is the most probable?
  • 23. 23 Pros and Cons of 3 points • Takes time and effort • Still ambiguous what is “Good, Bad, Real” • Allows to calculate standard deviation • Better use for risky tasks with high level of uncertainty • More or less same results with Realistic + Contingency • Less time  Agree on what you all mean by “Realistic”
  • 24. 24 Central limit theorem When independent random variables are added their properly normalized sum tends toward a normal distribution even if the original variables themselves are not normally distributed 20–30 tasks for this to be reasonable, and each of the estimates unbiased • Tasks are dependent… • Drucker's Law: "If one thing goes wrong, everything else will, and at the same time” • 6 sigma  Add (hide) project buffer!
  • 25. 25 Tips • Be pessimistic first • “What could go wrong” exercise? • Use templates, checklists, samples, historical data • Agree about buffers • Beware of reverse engineering estimate • You have no DoD • Complexity is infinite
  • 26. 26 Checklist – requirements and management Check if you have not forgotten: • Planning, time tracking and budget control • Reporting • Clarifying and updating requirements and design • Translation to/from English • Onboarding and education • Any system-wide features • Demo data and environments, demo meetings • Delivery preparation • Design update after changes to code • The actual time spent of estimation (case)
  • 27. 27 Checklist - development • Post-delivery support and warranty • Check SOW • Quality bar • Code quality • Unit tests • Certification • Environment maintenance and outage • Receiving access • Bugs in standard and 3rd-party products • Backlog from previous phases / projects
  • 28. 28 Checklist - development • Data management and upgrade • Security development • Code review, refactoring and retest • Performance test and tuning • Integration with parallel teams or third parties • Interim upgrades • Risks of new technologies and frameworks
  • 29. 29 Checklist - test • Test documentation • Performance test • Integration test • Regression test • SP / hotfix test • Test / Demo data setup • …
  • 30. 30 Wrapping • Options • Visible scope and assumptions • Show / hide details • Buffers / bug fixing… - client specific  Elite  Business  Economy
  • 31. 31 Recap Define Scope Define Assumptions and Risks Create WBS Estimate Development per task Define Contingency per task Add BA, Test per task Add Management, Meeting, DevOps, … Add Project buffer Check Pack and sell