SlideShare a Scribd company logo
1 of 50
www.ExigenServices.com
The art of project estimation
Damir Tenishev
Ph.D., Project Manager
July 2013
2
Goals
• Understand the goals and scope of estimation
• Study estimation approaches
• Learn and compare some estimation techniques
• Understand applicability for specific techniques
• Review common estimation mistakes
• Study of the effects of large scale projects on estimates
• Share practical experience in estimation
Scope: classical estimation techniques
3
What is necessary to make estimations?
• Software requirements
• Time for estimation
• Team of software experts to make estimations
• Subject matter experts to clarify the requirements
• Knowledge base for implementation approaches and required effort
• Information about special conditions (team size, technologies, client-specific)
Start when you are ready
4
Expected result
• Scope to be implemented
• Total effort to be spent to implement the project
• Project budget
• Project schedule
– Project decomposition
– Project and key stages’ duration
• Staffing plan
• Risk management plan
• Assumptions
It is all about resources
5
Need to be clarified
• Product requirements
– Functional requirements
– Non-functional requirements (performance, stability, scalability, and etc.)
– Production, testing and etc. environments
• Project requirements
– Technologies
– Business trip policy
– Support policy
6
Effective estimations
• Define estimation subject. What you are going to estimate?
• Make decomposition and work breakdown structure (WBS)
– Divide until you have easy explainable tasks with obvious implementation
– Keep breakdown hierarchy
– Add dependencies
• Use historical data and gathered experience
• Use several experts
• Make tasks clustering and average estimates
• Take into account real productivity of your team
Divide and empire
7
Good questions
• Explain in one sentence what have to be done?
• How this will be used? Who are the end users?
• What is the value? Can we drop this?
• What is the similar feature we have implemented/estimated before?
• What is the effort for implementation and what is estimated duration?
• What can be done to make this two times faster, cheaper?
• What can be done to parallelize work on this task? What pros and cons will be?
• What is the easiest way to implement this feature?
• What dependencies do we have from and to other tasks?
• Who can do this work? What experience is necessary?
• What environment for this task is assumed?
• What are the risks? How they can be mitigated?
• What is permanent and what can vary in the feature?
Communicate!
8
Typical mistakes
• Differences in definition of done
• Incomplete requirements
• Lack of time for clarification and making more precise estimation
• Unawareness of time factor for large systems (they are grown, not built)
• Mistakes in decomposition
• Loosing significant details or parts of functionality
• Neglect of communication delays (with customer, experts, and etc.)
• Team size is not taken into account (internal communications and other aspects)
• Lack of specific knowledge (business area or technology)
• Misconception of required and estimated delivery
• Ignoring cost of support produced code and data
• Ignoring risks
• Cognitive biases
You have to care about many things
9
Cognitive biases
• We do not examine every possible option or every scrap of data before we make a
decision
• We adopt certain rules of thumb and take other shortcuts when we make choices
• In some cases, our cognitive limitations lead to poor estimations
• Cognitive biases
– Overconfidence
– Sunk-cost effect
– Availability bias (recency effect)
– Confirmation bias
– Anchoring bias
– Illusory correlation
– Hindsight bias
Praemonitus, praemunitus
10
Classification of project estimations
• By type of estimation
– Product metrics
– Effort estimation
– Duration estimation
• By goals
– Commercial offer
– Forecast and planning
• By techniques
– By historical model
– Expert methods
– Parametric
What is your goal?
11
Estimation techniques
• Historical model usage
• Expert methods
– Three point estimation
– Delphi
– Wideband Delphi
– Planning poker
• Parametric methods
– Proxy-based estimation (PROBE)
– Function point
– Use case point
– Weighted Micro Function Points
What is your approach?
12
Basic steps: summary
• Decomposition
• Discovering dependencies
• Identification of experts for every specific area
• Gathering and clarifying requirements
• Analysis for applicability of existing solutions and technologies
• Estimating by expert
• Tracking reasoning and assumptions for decisions
• Identifications of risks
• Getting summary estimation for task
• Comparison with other tasks’ estimations
• Making summary estimation
Always have a checklist
13
Three point estimation
• Task estimation based on three values
– Optimistic (O)
– Most likely or normal (M)
– Pessimistic (P)
• Double triangular distribution is used
S = 0.5 S = 0.5
MO P
14
Three point estimation: math
Expected time
Standard deviation
Project time
Project standard deviation
Assumption: All project’s tasks are consecutive.
15
Three point estimation: confidence level
Confidence level Standard deviation
68 % SD
90 % 1.645 x SD
95 % 2 x SD
99.7 % 3 x SD
Note: Information systems typically use the 90% confidence level for all project and task estimates.
16
Three point estimation: example
Tasks O M P E SD
Task 1 1 3 8
Task 2 2 5 20
Confidence
68 %
(E ± SD )
90 %
(E ± 1.645*SD)
95 %
(E ± 2 *SD)
99.7 %
(E ± 3*SD)
Task 1 3.5 ± 1.17=> 2.33 to 4.66 1.58 to 5.42 1.17 to 5.83
Task 2 7± 3 => 4 to 10 2.06 to 11.93 2 to 9
Project (consecutive tasks):
17
Delphi method: estimation matrix
Expert 1 Expert 2 Expert 3 Average
Task 1 Attempt 1
Attempt 2
Attempt 3
10
10
11
5
8
10
20
15
12
11.7
11
11
Task 2 Attempt 1
Attempt 2
Attempt 3
15
16
18
30
20
18
8
20
19
17.7
18.7
18.3
Task 3 Attempt 1
Attempt 2
Attempt 3
11
10
8
4
5
6
6
7
7
7
7.3
7
• Decomposition into tasks
• Anonymous estimation
• Announcement of average estimation as well as reasons for them
• Transition to next estimation iteration
18
Delphi method: features and applicability
• Strengths
– Works well for ambiguity
– Lead to joint agreement and corporate liability
– Easy to adopt to time restrictions
– Anonymous estimations eliminate authority influence
– Assumptions are documented, discussed and agreed
• Weaknesses
– There is no formal reasoning for estimation. As a result there is no formal reasoning
for customer
– Decomposition rules are not defined
– Some creative ideas can be lost since majority opinion is prevail
– It is possible that people will agree with other’s estimate without cogitation
– Need to have at least 4 experts
19
Wideband Delphi method
Involves greater interaction and more communication between participants
Execution steps
1. Coordinator presents each expert with a specification and an estimation form.
2. Coordinator calls a group meeting in which the experts discuss estimation issues
with the coordinator and each other.
3. Experts fill out forms anonymously.
4. Coordinator prepares and distributes a summary of the estimates
5. Coordinator calls a group meeting, specifically focusing on having the experts
discuss points where their estimates vary widely
6. Experts fill out forms, again anonymously, and steps 4 to 6 are iterated for as
many rounds as appropriate.
20
Planning poker (sprint planning meeting, planning game)
21
Planning poker: pros and cons
Pros:
• It is fun!
• Minimizes anchoring
• Team work which build up a team
• Corporate liability
• Expertized and reasoning sharing
Cons:
• Expensive
• Can take significant time for clarifications
• Difficult to implement in distributed projects
• Difficult to make “weight” to experts’ estimates
• Personalities can affect the estimates
22
Proxy-based estimation (PROBE) method
• Used mostly in feasibility studies (evaluating best process, economic feasibility of
the project)
• Divide requirements by classes
• Every class must be estimated by
– Complexity
– Size
• Class assigned to every specific task
23
Template for PROBE method
Requirement/task Class Effort
Retrieve image 1 3.5 hours
Print of screen 2 4.6 hours
Print on paper 2 4.6 hours
Class Size Complexity Effort
1: data retrieval 1 2 3.5 hours
2: image printing 2 2 4.6 hours
Small Medium Large
Simple 1.5 hours 2.3 hours 3.8 hours
Normal 3.5 hours 4.6 hours 5.9 hours
Complex 5.5 hours 6.7 hours 8.1 hours
24
PROBE: features and applicability
• Strengths
– Similar tasks estimates in the same way
– Simplifies staffing and resource assignment
• Weaknesses
– Need deep understanding of the technology
– Provides very rough estimations
25
Functional point analysis: terms
• Logical data types
– Internal logical file (ILF) – user visible internal data structure
– External interface file (EIF) – data, used by application, but exists outside of
application
• Processes
– External input (EI) – process of data transfer from user or EIF to ILF.
– External output (EO) – process of data transfer from one or many ILF to user or EIF
with mandatory data conversion (processing).
– External inquiries (EQ) – process of data transfer without conversion.
• Data elements
– Record Element Type (RET) - user recognizable sub group of data elements
– File Type Referenced (FTR) - file type referenced by a transaction
– Data Element Type (DET) - unique user recognizable, non-recursive field
26
FPA: sample
Application being measured
Another
application
ILF
EIF
math
User domain
EI EO
EO
EI
EQ
EQ
27
Functional point analysis: approach
• Assign specific weight to every data type, interface, and process
• Calculation of unadjusted function point (UFP) based on number of elements and
their weights.
• Calculate Value Adjustment Factor (VAF) based on technical and environmental
requirements (General System Characteristics (GSC) - by tables with weights for
every specific case).
• Calculation of adjusted function points (AFP) based on UFP and coefficient above.
28
FPA: features and applicability
• Strengths
– Indifferent to implementation process and technology
– Artifacts can be used for further architecture development
– Provide estimation in “common units” and shows project’s complexity independently
of supplier competency
– Can be made by one person or can be made in parallel to speed up
• Weaknesses
– Requires a lot of time to understand and apply in correct way.
– Difficult to adjust to specific company processes and experience.
– Doesn’t provide decomposition for production stages and operations.
29
Use Case Points
Used when Unified Modeling Language (UML) and Rational Unified Process (RUP)
methodologies are being used for software design and development.
• Unadjusted Use Case Weight (UUCW) – number and complexity of use cases
• Unadjusted Actor Weight (UAW) - number and complexity of actors
• Technical Complexity Factor (TCF) - technical aspects of development
• Environmental Complexity Factor (ECF) - environmental factors
30
Unadjusted Use Case Weight (UUCW)
• Based on the number and complexity of the use cases for the system
• To find the UUCW for a system, each of the use cases must be identified and
classified as Simple, Average or Complex based on the number of transactions the
use case contains
Use Case Classification No. of Transactions Weight
Simple 1 to 3 transactions 5
Average 4 to 7 transactions 10
Complex 8 or more transactions 15
31
Unadjusted Actor Weight (UAW)
• Calculated based on the number and complexity of the actors for the system
• Actors must be identified and classified as Simple, Average or Complex based the
type of actor
Actor Classification Type of Actor Weight
Simple
External system that must interact with the system using
a well-defined API
1
Average
External system that must interact with the system using
standard communication protocols (e.g. TCP/IP, FTP,
HTTP, database)
2
Complex Human actor using a GUI application interface 3
32
Technical Complexity Factor (TCF)
• Determined by assigning a score (perceived complexity factor) between 0 (factor
is irrelevant) and 5 (factor is essential) to each of the 13 technical factors listed in
the table
• This score is then multiplied by the defined weighted value for each factor.
Factor Description Weight
T1 Distributed system 2.0
T2 Response time/performance objectives 1.0
T3 End-user efficiency 1.0
T4 Internal processing complexity 1.0
… … …
33
Environmental Complexity Factor (ECF)
• It is determined by assigning a score between 0 (no experience) and 5 (expert) to
each of the 8 environmental factors listed in the table
• This score is then multiplied by the defined weighted value for each factor.
Factor Description Weight
E1 Familiarity with development process used 1.5
E2 Application experience 0.5
E3 Object-oriented experience of team 1.0
E4 Lead analyst capability 0.5
E5 Motivation of the team 1.0
… … …
34
Use Case Points (UCP)
Finally the UCP can be calculated once the unadjusted project size (UUCW and UAW),
technical factor (TCF) and environmental factor (ECF) have been determined. The
UCP is calculated based on the following formula:
UCP = (UUCW + UAW) * TCF * ECF
This estimation includes development only. It not consider testing, configuration
management, support, and etc.
35
Use case points: features and applicability
• Strengths
– Not necessary to involve the experts
– Technical expertize not needed
– Can be used for rough pre-sale estimation
– Can be made very fast
– Intuitive enough for the customer
• Weaknesses
– Estimates only requirements, but not tasks. They have to be estimated later.
– Strongly depends on requirements completeness
– Coefficients need to be adjusted for the company
36
Weighted Micro Function Points
• Produces more accurate results than traditional software sizing methodologies,
while requiring less configuration and knowledge from the end user, as most of
the estimation is based on automatic measurements of an existing source code.
• Uses a parser to understand the source code breaking it down into micro
functions and derive several code complexity and volume metrics, which are then
dynamically interpolated into a final effort score.
• As a result can be used only with analogy based cost predictions.
37
Project evaluation and review technique (PERT)
Statistical tool that is designed to analyze and represent the tasks involved in
completing a given project.
Commonly used in conjunction with the critical path method (CPM).
• A PERT chart is a tool that facilitates decision making. The first draft of a PERT
chart will number its events sequentially in 10s (10, 20, 30, etc.) to allow the later
insertion of additional events.
• Two consecutive events in a PERT chart are linked by activities, which are
conventionally represented as arrows.
• The events are presented in a logical sequence and no activity can commence
until its immediately preceding event is completed.
• The planner decides which milestones should be PERT events and also decides
their “proper” sequence.
• A PERT chart may have multiple pages with many sub-tasks.
38
PERT diagram
39
PERT: Advantages and disadvantages
• Strengths
– PERT chart explicitly defines and makes visible dependencies (precedence
relationships) between the work breakdown structure (commonly WBS) elements
– PERT facilitates identification of the critical path and makes this visible
– PERT facilitates identification of early start, late start, and slack for each activity
– PERT provides for potentially reduced project duration due to better understanding of
dependencies leading to improved overlapping of activities and tasks where feasible.
– The large amount of project data can be organized & presented in diagram for use in
decision making.
• Weaknesses
– There can be potentially hundreds or thousands of activities and individual
dependency relationships
– The lack of a timeframe on most PERT/CPM charts makes it harder to show status
40
Estimations for large scale projects
41
Why the project scale matters?
• Work can’t be perfectly partitioned
Team size
Duration
Team sizeDuration
Perfectly partitioned Not partitionable
42
Large scale project: How fast we can be?
43
Project size: communication overhead
Team size
Overhead,%
Establish
communication
processes
Dividing into
teams
44
Project size: Learning curve
Time
Overhead,%
Learning curve for
new developer
Effort spent
by buddy
Reference performance
45
Learning in large scale project
• Large amount of API, code, documents
• Many people share necessary knowledge
• Resources can be reassigned between domains or teams
• Requirements interference
Time
Overhead,%
Team size
Overhead,%
Project scale
Overhead,%
46
Brooks’ law
Team size
Projectduration
47
Brook law’s parameters
E0 – effort without communication overhead
TS – team size
RI – Requirements Interference, %
LO – Learning Overheads, %
CO – Communication Overheads, %
1+LO*RI*(TS-1)+CO*RI*TS*(TS-1)
TS
Duration = E0*
48
Brooks law with team granularity
For instance for 4 developers and 2 testers:
Team Granularity = (4+2)/4 = 1,5
Total number of people on a project
Maximum amount of people in specific activity
TG =
Team Granularity is a coefficient which shows number of possible parallel activities
on the project.
RI1 + LO *
TS
TG
– 1 + RI*
TS
TG
TS
TG
– 1*
D = E0*
TS
* CO*
49
To be continued…
• Planning
– Critical path method (CPM)
50
Are you awake?
No one knew what rabbit thought,
because he was very well-mannered.

More Related Content

What's hot

Software Estimation Technique
Software Estimation TechniqueSoftware Estimation Technique
Software Estimation TechniqueGeorge Ukkuru
 
Effort estimation for software development
Effort estimation for software developmentEffort estimation for software development
Effort estimation for software developmentSpyros Ktenas
 
Estimating Projects for Time and Cost
Estimating Projects for Time and CostEstimating Projects for Time and Cost
Estimating Projects for Time and Costrickteplitz
 
PM Estimation techniques
PM Estimation techniquesPM Estimation techniques
PM Estimation techniquesChander Parkash
 
Software Cost and Effort Esitmation
Software Cost and Effort EsitmationSoftware Cost and Effort Esitmation
Software Cost and Effort EsitmationMuhammad Taqi
 
software-effort_estimation(updated)9 ch05
 software-effort_estimation(updated)9 ch05 software-effort_estimation(updated)9 ch05
software-effort_estimation(updated)9 ch05Shahid Riaz
 
Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Lviv Startup Club
 
Software Project Scheduling Diagrams
Software Project Scheduling DiagramsSoftware Project Scheduling Diagrams
Software Project Scheduling DiagramsSaqib Raza
 
Bottom-up time estimations techiques
Bottom-up time estimations techiquesBottom-up time estimations techiques
Bottom-up time estimations techiquesJ. Scott Christianson
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Software Test Estimation
Software Test EstimationSoftware Test Estimation
Software Test EstimationJatin Kochhar
 
Project scheduling and tracking
Project scheduling and trackingProject scheduling and tracking
Project scheduling and trackingComputer_ at_home
 
Spm unit iii-risk-intro
Spm unit iii-risk-introSpm unit iii-risk-intro
Spm unit iii-risk-introKanchana Devi
 
Basis of Estimate Processes
Basis of Estimate ProcessesBasis of Estimate Processes
Basis of Estimate ProcessesGlen Alleman
 
Estimation guidelines and templates
Estimation guidelines and templatesEstimation guidelines and templates
Estimation guidelines and templatesHoa PN Thaycacac
 
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Promet Source
 

What's hot (20)

Software Estimation Technique
Software Estimation TechniqueSoftware Estimation Technique
Software Estimation Technique
 
Daniel dumitrescu
Daniel dumitrescuDaniel dumitrescu
Daniel dumitrescu
 
Effort estimation for software development
Effort estimation for software developmentEffort estimation for software development
Effort estimation for software development
 
Estimating Projects for Time and Cost
Estimating Projects for Time and CostEstimating Projects for Time and Cost
Estimating Projects for Time and Cost
 
Cost estimating
Cost estimatingCost estimating
Cost estimating
 
PM Estimation techniques
PM Estimation techniquesPM Estimation techniques
PM Estimation techniques
 
Software Cost and Effort Esitmation
Software Cost and Effort EsitmationSoftware Cost and Effort Esitmation
Software Cost and Effort Esitmation
 
software-effort_estimation(updated)9 ch05
 software-effort_estimation(updated)9 ch05 software-effort_estimation(updated)9 ch05
software-effort_estimation(updated)9 ch05
 
Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality"
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
 
Software Project Scheduling Diagrams
Software Project Scheduling DiagramsSoftware Project Scheduling Diagrams
Software Project Scheduling Diagrams
 
Bottom-up time estimations techiques
Bottom-up time estimations techiquesBottom-up time estimations techiques
Bottom-up time estimations techiques
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software Test Estimation
Software Test EstimationSoftware Test Estimation
Software Test Estimation
 
Project scheduling and tracking
Project scheduling and trackingProject scheduling and tracking
Project scheduling and tracking
 
Wideband Delphi Estimation
Wideband Delphi EstimationWideband Delphi Estimation
Wideband Delphi Estimation
 
Spm unit iii-risk-intro
Spm unit iii-risk-introSpm unit iii-risk-intro
Spm unit iii-risk-intro
 
Basis of Estimate Processes
Basis of Estimate ProcessesBasis of Estimate Processes
Basis of Estimate Processes
 
Estimation guidelines and templates
Estimation guidelines and templatesEstimation guidelines and templates
Estimation guidelines and templates
 
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
 

Viewers also liked

Estimating Time & Costs
 Estimating Time & Costs Estimating Time & Costs
Estimating Time & Costsmairemic
 
Stakeholder analysis
Stakeholder analysisStakeholder analysis
Stakeholder analysisStefan Csosz
 
Profsoux2014 presentation by Pavelchuk
Profsoux2014 presentation by PavelchukProfsoux2014 presentation by Pavelchuk
Profsoux2014 presentation by PavelchukReturn on Intelligence
 
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceApache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceReturn on Intelligence
 
Successful interview for a young IT specialist
Successful interview for a young IT specialistSuccessful interview for a young IT specialist
Successful interview for a young IT specialistReturn on Intelligence
 
Non Blocking Algorithms at Traffic Conditions
Non Blocking Algorithms at Traffic ConditionsNon Blocking Algorithms at Traffic Conditions
Non Blocking Algorithms at Traffic ConditionsReturn on Intelligence
 
Service design principles and patterns
Service design principles and patternsService design principles and patterns
Service design principles and patternsReturn on Intelligence
 

Viewers also liked (20)

Large Scale Software Project
Large Scale Software ProjectLarge Scale Software Project
Large Scale Software Project
 
Estimating Time & Costs
 Estimating Time & Costs Estimating Time & Costs
Estimating Time & Costs
 
Stakeholder analysis
Stakeholder analysisStakeholder analysis
Stakeholder analysis
 
Profsoux2014 presentation by Pavelchuk
Profsoux2014 presentation by PavelchukProfsoux2014 presentation by Pavelchuk
Profsoux2014 presentation by Pavelchuk
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Apache Maven 2 Part 2
Apache Maven 2 Part 2Apache Maven 2 Part 2
Apache Maven 2 Part 2
 
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceApache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
 
How to develop your creativity
How to develop your creativityHow to develop your creativity
How to develop your creativity
 
Quality Principles
Quality PrinciplesQuality Principles
Quality Principles
 
English for E-mails
English for E-mailsEnglish for E-mails
English for E-mails
 
Windows Azure: Quick start
Windows Azure: Quick startWindows Azure: Quick start
Windows Azure: Quick start
 
Time Management
Time ManagementTime Management
Time Management
 
Agile Project Grows
Agile Project GrowsAgile Project Grows
Agile Project Grows
 
Successful interview for a young IT specialist
Successful interview for a young IT specialistSuccessful interview for a young IT specialist
Successful interview for a young IT specialist
 
Non Blocking Algorithms at Traffic Conditions
Non Blocking Algorithms at Traffic ConditionsNon Blocking Algorithms at Traffic Conditions
Non Blocking Algorithms at Traffic Conditions
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
 
Service design principles and patterns
Service design principles and patternsService design principles and patterns
Service design principles and patterns
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
Principles of personal effectiveness
Principles of personal effectivenessPrinciples of personal effectiveness
Principles of personal effectiveness
 

Similar to The art of project estimation

Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topicsAmnah_Ch
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).pptWaniHBisen
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineImaginet
 
Designing the expert system
Designing the expert systemDesigning the expert system
Designing the expert systemasimnawaz54
 
5_6134023428304274682.pptx
5_6134023428304274682.pptx5_6134023428304274682.pptx
5_6134023428304274682.pptxgamingpro22
 
PA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfPA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfhulk smash
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.pptAteeqaKokab1
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdAqeelAbbas94
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 

Similar to The art of project estimation (20)

The Art of Project Estimation
The Art of Project EstimationThe Art of Project Estimation
The Art of Project Estimation
 
Unified process
Unified processUnified process
Unified process
 
Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topics
 
Interactive SDLC
Interactive SDLCInteractive SDLC
Interactive SDLC
 
Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).ppt
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Designing the expert system
Designing the expert systemDesigning the expert system
Designing the expert system
 
5_6134023428304274682.pptx
5_6134023428304274682.pptx5_6134023428304274682.pptx
5_6134023428304274682.pptx
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 
PA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfPA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdf
 
Agile Bureaucracy
Agile BureaucracyAgile Bureaucracy
Agile Bureaucracy
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.ppt
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 

More from Return on Intelligence

Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classificationReturn on Intelligence
 
Differences between Testing in Waterfall and Agile
Differences between Testing in Waterfall and AgileDifferences between Testing in Waterfall and Agile
Differences between Testing in Waterfall and AgileReturn on Intelligence
 
Организация внутренней системы обучения
Организация внутренней системы обученияОрганизация внутренней системы обучения
Организация внутренней системы обученияReturn on Intelligence
 
Shared position in a project: testing and analysis
Shared position in a project: testing and analysisShared position in a project: testing and analysis
Shared position in a project: testing and analysisReturn on Intelligence
 
Оценка задач выполняемых по итеративной разработке
Оценка задач выполняемых по итеративной разработкеОценка задач выполняемых по итеративной разработке
Оценка задач выполняемых по итеративной разработкеReturn on Intelligence
 
Velocity как инструмент планирования и управления проектом
Velocity как инструмент планирования и управления проектомVelocity как инструмент планирования и управления проектом
Velocity как инструмент планирования и управления проектомReturn on Intelligence
 

More from Return on Intelligence (15)

Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
 
Differences between Testing in Waterfall and Agile
Differences between Testing in Waterfall and AgileDifferences between Testing in Waterfall and Agile
Differences between Testing in Waterfall and Agile
 
Windows azurequickstart
Windows azurequickstartWindows azurequickstart
Windows azurequickstart
 
Организация внутренней системы обучения
Организация внутренней системы обученияОрганизация внутренней системы обучения
Организация внутренней системы обучения
 
Shared position in a project: testing and analysis
Shared position in a project: testing and analysisShared position in a project: testing and analysis
Shared position in a project: testing and analysis
 
Introduction to Business Etiquette
Introduction to Business EtiquetteIntroduction to Business Etiquette
Introduction to Business Etiquette
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Оценка задач выполняемых по итеративной разработке
Оценка задач выполняемых по итеративной разработкеОценка задач выполняемых по итеративной разработке
Оценка задач выполняемых по итеративной разработке
 
Meetings arranging
Meetings arrangingMeetings arranging
Meetings arranging
 
Resolving conflicts
Resolving conflictsResolving conflicts
Resolving conflicts
 
Cross-cultural communication
Cross-cultural communicationCross-cultural communication
Cross-cultural communication
 
Velocity как инструмент планирования и управления проектом
Velocity как инструмент планирования и управления проектомVelocity как инструмент планирования и управления проектом
Velocity как инструмент планирования и управления проектом
 
Testing your code
Testing your codeTesting your code
Testing your code
 
Reports Project
Reports ProjectReports Project
Reports Project
 
Business Analyst lecture
Business Analyst lectureBusiness Analyst lecture
Business Analyst lecture
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"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
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"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
 

The art of project estimation

  • 1. www.ExigenServices.com The art of project estimation Damir Tenishev Ph.D., Project Manager July 2013
  • 2. 2 Goals • Understand the goals and scope of estimation • Study estimation approaches • Learn and compare some estimation techniques • Understand applicability for specific techniques • Review common estimation mistakes • Study of the effects of large scale projects on estimates • Share practical experience in estimation Scope: classical estimation techniques
  • 3. 3 What is necessary to make estimations? • Software requirements • Time for estimation • Team of software experts to make estimations • Subject matter experts to clarify the requirements • Knowledge base for implementation approaches and required effort • Information about special conditions (team size, technologies, client-specific) Start when you are ready
  • 4. 4 Expected result • Scope to be implemented • Total effort to be spent to implement the project • Project budget • Project schedule – Project decomposition – Project and key stages’ duration • Staffing plan • Risk management plan • Assumptions It is all about resources
  • 5. 5 Need to be clarified • Product requirements – Functional requirements – Non-functional requirements (performance, stability, scalability, and etc.) – Production, testing and etc. environments • Project requirements – Technologies – Business trip policy – Support policy
  • 6. 6 Effective estimations • Define estimation subject. What you are going to estimate? • Make decomposition and work breakdown structure (WBS) – Divide until you have easy explainable tasks with obvious implementation – Keep breakdown hierarchy – Add dependencies • Use historical data and gathered experience • Use several experts • Make tasks clustering and average estimates • Take into account real productivity of your team Divide and empire
  • 7. 7 Good questions • Explain in one sentence what have to be done? • How this will be used? Who are the end users? • What is the value? Can we drop this? • What is the similar feature we have implemented/estimated before? • What is the effort for implementation and what is estimated duration? • What can be done to make this two times faster, cheaper? • What can be done to parallelize work on this task? What pros and cons will be? • What is the easiest way to implement this feature? • What dependencies do we have from and to other tasks? • Who can do this work? What experience is necessary? • What environment for this task is assumed? • What are the risks? How they can be mitigated? • What is permanent and what can vary in the feature? Communicate!
  • 8. 8 Typical mistakes • Differences in definition of done • Incomplete requirements • Lack of time for clarification and making more precise estimation • Unawareness of time factor for large systems (they are grown, not built) • Mistakes in decomposition • Loosing significant details or parts of functionality • Neglect of communication delays (with customer, experts, and etc.) • Team size is not taken into account (internal communications and other aspects) • Lack of specific knowledge (business area or technology) • Misconception of required and estimated delivery • Ignoring cost of support produced code and data • Ignoring risks • Cognitive biases You have to care about many things
  • 9. 9 Cognitive biases • We do not examine every possible option or every scrap of data before we make a decision • We adopt certain rules of thumb and take other shortcuts when we make choices • In some cases, our cognitive limitations lead to poor estimations • Cognitive biases – Overconfidence – Sunk-cost effect – Availability bias (recency effect) – Confirmation bias – Anchoring bias – Illusory correlation – Hindsight bias Praemonitus, praemunitus
  • 10. 10 Classification of project estimations • By type of estimation – Product metrics – Effort estimation – Duration estimation • By goals – Commercial offer – Forecast and planning • By techniques – By historical model – Expert methods – Parametric What is your goal?
  • 11. 11 Estimation techniques • Historical model usage • Expert methods – Three point estimation – Delphi – Wideband Delphi – Planning poker • Parametric methods – Proxy-based estimation (PROBE) – Function point – Use case point – Weighted Micro Function Points What is your approach?
  • 12. 12 Basic steps: summary • Decomposition • Discovering dependencies • Identification of experts for every specific area • Gathering and clarifying requirements • Analysis for applicability of existing solutions and technologies • Estimating by expert • Tracking reasoning and assumptions for decisions • Identifications of risks • Getting summary estimation for task • Comparison with other tasks’ estimations • Making summary estimation Always have a checklist
  • 13. 13 Three point estimation • Task estimation based on three values – Optimistic (O) – Most likely or normal (M) – Pessimistic (P) • Double triangular distribution is used S = 0.5 S = 0.5 MO P
  • 14. 14 Three point estimation: math Expected time Standard deviation Project time Project standard deviation Assumption: All project’s tasks are consecutive.
  • 15. 15 Three point estimation: confidence level Confidence level Standard deviation 68 % SD 90 % 1.645 x SD 95 % 2 x SD 99.7 % 3 x SD Note: Information systems typically use the 90% confidence level for all project and task estimates.
  • 16. 16 Three point estimation: example Tasks O M P E SD Task 1 1 3 8 Task 2 2 5 20 Confidence 68 % (E ± SD ) 90 % (E ± 1.645*SD) 95 % (E ± 2 *SD) 99.7 % (E ± 3*SD) Task 1 3.5 ± 1.17=> 2.33 to 4.66 1.58 to 5.42 1.17 to 5.83 Task 2 7± 3 => 4 to 10 2.06 to 11.93 2 to 9 Project (consecutive tasks):
  • 17. 17 Delphi method: estimation matrix Expert 1 Expert 2 Expert 3 Average Task 1 Attempt 1 Attempt 2 Attempt 3 10 10 11 5 8 10 20 15 12 11.7 11 11 Task 2 Attempt 1 Attempt 2 Attempt 3 15 16 18 30 20 18 8 20 19 17.7 18.7 18.3 Task 3 Attempt 1 Attempt 2 Attempt 3 11 10 8 4 5 6 6 7 7 7 7.3 7 • Decomposition into tasks • Anonymous estimation • Announcement of average estimation as well as reasons for them • Transition to next estimation iteration
  • 18. 18 Delphi method: features and applicability • Strengths – Works well for ambiguity – Lead to joint agreement and corporate liability – Easy to adopt to time restrictions – Anonymous estimations eliminate authority influence – Assumptions are documented, discussed and agreed • Weaknesses – There is no formal reasoning for estimation. As a result there is no formal reasoning for customer – Decomposition rules are not defined – Some creative ideas can be lost since majority opinion is prevail – It is possible that people will agree with other’s estimate without cogitation – Need to have at least 4 experts
  • 19. 19 Wideband Delphi method Involves greater interaction and more communication between participants Execution steps 1. Coordinator presents each expert with a specification and an estimation form. 2. Coordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other. 3. Experts fill out forms anonymously. 4. Coordinator prepares and distributes a summary of the estimates 5. Coordinator calls a group meeting, specifically focusing on having the experts discuss points where their estimates vary widely 6. Experts fill out forms, again anonymously, and steps 4 to 6 are iterated for as many rounds as appropriate.
  • 20. 20 Planning poker (sprint planning meeting, planning game)
  • 21. 21 Planning poker: pros and cons Pros: • It is fun! • Minimizes anchoring • Team work which build up a team • Corporate liability • Expertized and reasoning sharing Cons: • Expensive • Can take significant time for clarifications • Difficult to implement in distributed projects • Difficult to make “weight” to experts’ estimates • Personalities can affect the estimates
  • 22. 22 Proxy-based estimation (PROBE) method • Used mostly in feasibility studies (evaluating best process, economic feasibility of the project) • Divide requirements by classes • Every class must be estimated by – Complexity – Size • Class assigned to every specific task
  • 23. 23 Template for PROBE method Requirement/task Class Effort Retrieve image 1 3.5 hours Print of screen 2 4.6 hours Print on paper 2 4.6 hours Class Size Complexity Effort 1: data retrieval 1 2 3.5 hours 2: image printing 2 2 4.6 hours Small Medium Large Simple 1.5 hours 2.3 hours 3.8 hours Normal 3.5 hours 4.6 hours 5.9 hours Complex 5.5 hours 6.7 hours 8.1 hours
  • 24. 24 PROBE: features and applicability • Strengths – Similar tasks estimates in the same way – Simplifies staffing and resource assignment • Weaknesses – Need deep understanding of the technology – Provides very rough estimations
  • 25. 25 Functional point analysis: terms • Logical data types – Internal logical file (ILF) – user visible internal data structure – External interface file (EIF) – data, used by application, but exists outside of application • Processes – External input (EI) – process of data transfer from user or EIF to ILF. – External output (EO) – process of data transfer from one or many ILF to user or EIF with mandatory data conversion (processing). – External inquiries (EQ) – process of data transfer without conversion. • Data elements – Record Element Type (RET) - user recognizable sub group of data elements – File Type Referenced (FTR) - file type referenced by a transaction – Data Element Type (DET) - unique user recognizable, non-recursive field
  • 26. 26 FPA: sample Application being measured Another application ILF EIF math User domain EI EO EO EI EQ EQ
  • 27. 27 Functional point analysis: approach • Assign specific weight to every data type, interface, and process • Calculation of unadjusted function point (UFP) based on number of elements and their weights. • Calculate Value Adjustment Factor (VAF) based on technical and environmental requirements (General System Characteristics (GSC) - by tables with weights for every specific case). • Calculation of adjusted function points (AFP) based on UFP and coefficient above.
  • 28. 28 FPA: features and applicability • Strengths – Indifferent to implementation process and technology – Artifacts can be used for further architecture development – Provide estimation in “common units” and shows project’s complexity independently of supplier competency – Can be made by one person or can be made in parallel to speed up • Weaknesses – Requires a lot of time to understand and apply in correct way. – Difficult to adjust to specific company processes and experience. – Doesn’t provide decomposition for production stages and operations.
  • 29. 29 Use Case Points Used when Unified Modeling Language (UML) and Rational Unified Process (RUP) methodologies are being used for software design and development. • Unadjusted Use Case Weight (UUCW) – number and complexity of use cases • Unadjusted Actor Weight (UAW) - number and complexity of actors • Technical Complexity Factor (TCF) - technical aspects of development • Environmental Complexity Factor (ECF) - environmental factors
  • 30. 30 Unadjusted Use Case Weight (UUCW) • Based on the number and complexity of the use cases for the system • To find the UUCW for a system, each of the use cases must be identified and classified as Simple, Average or Complex based on the number of transactions the use case contains Use Case Classification No. of Transactions Weight Simple 1 to 3 transactions 5 Average 4 to 7 transactions 10 Complex 8 or more transactions 15
  • 31. 31 Unadjusted Actor Weight (UAW) • Calculated based on the number and complexity of the actors for the system • Actors must be identified and classified as Simple, Average or Complex based the type of actor Actor Classification Type of Actor Weight Simple External system that must interact with the system using a well-defined API 1 Average External system that must interact with the system using standard communication protocols (e.g. TCP/IP, FTP, HTTP, database) 2 Complex Human actor using a GUI application interface 3
  • 32. 32 Technical Complexity Factor (TCF) • Determined by assigning a score (perceived complexity factor) between 0 (factor is irrelevant) and 5 (factor is essential) to each of the 13 technical factors listed in the table • This score is then multiplied by the defined weighted value for each factor. Factor Description Weight T1 Distributed system 2.0 T2 Response time/performance objectives 1.0 T3 End-user efficiency 1.0 T4 Internal processing complexity 1.0 … … …
  • 33. 33 Environmental Complexity Factor (ECF) • It is determined by assigning a score between 0 (no experience) and 5 (expert) to each of the 8 environmental factors listed in the table • This score is then multiplied by the defined weighted value for each factor. Factor Description Weight E1 Familiarity with development process used 1.5 E2 Application experience 0.5 E3 Object-oriented experience of team 1.0 E4 Lead analyst capability 0.5 E5 Motivation of the team 1.0 … … …
  • 34. 34 Use Case Points (UCP) Finally the UCP can be calculated once the unadjusted project size (UUCW and UAW), technical factor (TCF) and environmental factor (ECF) have been determined. The UCP is calculated based on the following formula: UCP = (UUCW + UAW) * TCF * ECF This estimation includes development only. It not consider testing, configuration management, support, and etc.
  • 35. 35 Use case points: features and applicability • Strengths – Not necessary to involve the experts – Technical expertize not needed – Can be used for rough pre-sale estimation – Can be made very fast – Intuitive enough for the customer • Weaknesses – Estimates only requirements, but not tasks. They have to be estimated later. – Strongly depends on requirements completeness – Coefficients need to be adjusted for the company
  • 36. 36 Weighted Micro Function Points • Produces more accurate results than traditional software sizing methodologies, while requiring less configuration and knowledge from the end user, as most of the estimation is based on automatic measurements of an existing source code. • Uses a parser to understand the source code breaking it down into micro functions and derive several code complexity and volume metrics, which are then dynamically interpolated into a final effort score. • As a result can be used only with analogy based cost predictions.
  • 37. 37 Project evaluation and review technique (PERT) Statistical tool that is designed to analyze and represent the tasks involved in completing a given project. Commonly used in conjunction with the critical path method (CPM). • A PERT chart is a tool that facilitates decision making. The first draft of a PERT chart will number its events sequentially in 10s (10, 20, 30, etc.) to allow the later insertion of additional events. • Two consecutive events in a PERT chart are linked by activities, which are conventionally represented as arrows. • The events are presented in a logical sequence and no activity can commence until its immediately preceding event is completed. • The planner decides which milestones should be PERT events and also decides their “proper” sequence. • A PERT chart may have multiple pages with many sub-tasks.
  • 39. 39 PERT: Advantages and disadvantages • Strengths – PERT chart explicitly defines and makes visible dependencies (precedence relationships) between the work breakdown structure (commonly WBS) elements – PERT facilitates identification of the critical path and makes this visible – PERT facilitates identification of early start, late start, and slack for each activity – PERT provides for potentially reduced project duration due to better understanding of dependencies leading to improved overlapping of activities and tasks where feasible. – The large amount of project data can be organized & presented in diagram for use in decision making. • Weaknesses – There can be potentially hundreds or thousands of activities and individual dependency relationships – The lack of a timeframe on most PERT/CPM charts makes it harder to show status
  • 40. 40 Estimations for large scale projects
  • 41. 41 Why the project scale matters? • Work can’t be perfectly partitioned Team size Duration Team sizeDuration Perfectly partitioned Not partitionable
  • 42. 42 Large scale project: How fast we can be?
  • 43. 43 Project size: communication overhead Team size Overhead,% Establish communication processes Dividing into teams
  • 44. 44 Project size: Learning curve Time Overhead,% Learning curve for new developer Effort spent by buddy Reference performance
  • 45. 45 Learning in large scale project • Large amount of API, code, documents • Many people share necessary knowledge • Resources can be reassigned between domains or teams • Requirements interference Time Overhead,% Team size Overhead,% Project scale Overhead,%
  • 47. 47 Brook law’s parameters E0 – effort without communication overhead TS – team size RI – Requirements Interference, % LO – Learning Overheads, % CO – Communication Overheads, % 1+LO*RI*(TS-1)+CO*RI*TS*(TS-1) TS Duration = E0*
  • 48. 48 Brooks law with team granularity For instance for 4 developers and 2 testers: Team Granularity = (4+2)/4 = 1,5 Total number of people on a project Maximum amount of people in specific activity TG = Team Granularity is a coefficient which shows number of possible parallel activities on the project. RI1 + LO * TS TG – 1 + RI* TS TG TS TG – 1* D = E0* TS * CO*
  • 49. 49 To be continued… • Planning – Critical path method (CPM)
  • 50. 50 Are you awake? No one knew what rabbit thought, because he was very well-mannered.

Editor's Notes

  1. Overconfidence Psychologists have shown that human beings are systematically overconfident in our judgmentsThe sunk-cost effect refers to the tendency for people to escalate commitment to a course of action in which theyhave made substantial prior investments of time, money, or other resources. The recency effect is actually one particular form of what is called the availability bias – the last is most confidence.Confirmation bias refers to our tendency to gather and rely on information that confirms our existing views andto avoid or downplay information that disconfirms our preexisting hypotheses.Anchoring bias refers to the notion that we sometimes allow an initial reference point to distort our estimates.Illusory correlation - explains why stereotypes often form and persist.Hindsight bias - refers to the fact that we look back at past events and judge them as easily predictable when theyclearly were not as easily foreseen.