SlideShare a Scribd company logo
GROUP MEMBERS
FAIZAN SALEEM (Leader)
ARSALAN SHARIQ
Project Estimation and scheduling
 Outline:
 Estimation overview
 Detailed schedule/planning terminology and processes
Estimation
“The single most important task of a
project: setting realistic expectations.
Unrealistic expectations based on
inaccurate estimates are the single
largest cause of software failure.”
Why its important to you!
 Program development of large software systems
normally experience 200-300%
cost overruns and a 100% schedule slip
 15% of large projects deliver…NOTHING!
 Key reasons…poor management and inaccurate
estimations of development cost and schedule
 If not meeting schedules, developers often pay the
price!
The Problems
 Predicting software cost
 Predicting software schedule
 Controlling software risk
 Managing/tracking project as it progresses
Fundamental estimation
questions
 How much effort is required to complete an activity?
 How much calendar time is needed to complete an
activity?
 What is the total cost of an activity?
 Project estimation and scheduling are interleaved
management activities.
Software cost components
 Hardware and software costs.
 Travel and training costs.
 Effort costs (the dominant factor in most
projects)
 The salaries of engineers involved in the project;
 Social and insurance costs.
 Effort costs must take overheads into account
 Costs of building, heating, lighting.
 Costs of networking and communications.
 Costs of shared facilities (e.g library, staff restaurant,
etc.).
Costing and pricing
 Estimates are made to discover the cost, to the developer,
of producing a software system.
 There is not a simple relationship between the
development cost and the price charged to the customer.
 Broader organisational, economic, political and business
considerations influence the price charged.
Software pricing factors
Market
opportunity
A development organisation may quote a low price because it
wishes to move into a new segment of the software market.
Accepting a low profit on one project may give the opportunity
of more profit later. The experience gained may allow new
products to be developed.
Cost estimate
uncertainty
If an organisation is unsure of its cost estimate, it may increase
its price by some contingency over and above its normal profit.
Contractual terms A c ustomer may be willing to allow the developer to retain
ownership of the source code and reuse it in other projects. The
price charged may then be less than if the software source code
is handed over to the customer.
Requirements
volatility
If the requirements are likely to change, an organisation may
lower its price to win a contract. After the contract is awarded,
high prices can be charged for changes to the requirements.
Financial health Developers in financial difficulty may lower their price to gain
a contract. It is better to make a sm aller than normal profit or
break even than to go out of business.
Nature of Estimates
 Man Months (or Person Months), defined as 152 man-
hours of direct-charged labor
 Schedule in months (requirements complete to
acceptance)
 Well-managed program
4 Common (subjective)
estimation models
 Expert Judgment
 Analogy
 Parkinson’s law
 Price to win
Expert judgment
 One or more experts in both software development and
the application domain use their experience to predict
software costs. Process iterates until some consensus is
reached.
 Advantages: Relatively cheap estimation method. Can be
accurate if experts have direct experience of similar
systems
 Disadvantages: Very inaccurate if there are no experts!
Estimation by analogy
 The cost of a project is computed by comparing the project
to a similar project in the same application domain
 Advantages: May be accurate if project data available and
people/tools the same
 Disadvantages: Impossible if no comparable project has
been tackled. Needs systematically maintained cost
database
Parkinson's Law
 The project costs whatever resources are available
 Advantages: No overspend
 Disadvantages: System is usually unfinished
Cost Pricing to win
 The project costs whatever the customer has to spend on
it
 Advantages: You get the contract
 Disadvantages: The probability that the customer gets the
system he or she wants is small. Costs do not accurately
reflect the work required.
 How do you know what customer has?
 Only a good strategy if you are willing to take a serious loss
to get a first customer, or if Delivery of a radically reduced
product is a real option.
Top-down and bottom-up estimation
 Any of these approaches may be used top-down or
bottom-up.
 Top-down
 Start at the system level and assess the overall system
functionality and how this is delivered through sub-
systems.
 Bottom-up
 Start at the component level and estimate the effort
required for each component. Add these efforts to reach
a final estimate.
Top-down estimation
 Usable without knowledge of the system architecture and
the components that might be part of the system.
 Takes into account costs such as integration, configuration
management and documentation.
 Can underestimate the cost of solving difficult low-level
technical problems.
Bottom-up estimation
 Usable when the architecture of the system is known and
components identified.
 This can be an accurate method if the system has been
designed in detail.
 It may underestimate the costs of system level activities
such as integration and documentation.
Estimation methods
 Each method has strengths and weaknesses.
 Estimation should be based on several methods.
 If these do not return approximately the same result,
then you have insufficient information available to make
an estimate.
 Some action should be taken to find out more in order to
make more accurate estimates.
 Pricing to win is sometimes the only applicable method.
Pricing to win
 This approach may seem unethical and un-businesslike.
 However, when detailed information is lacking it may be
the only appropriate strategy.
 The project cost is agreed on the basis of an outline
proposal and the development is constrained by that
cost.
 A detailed specification may be negotiated or an
evolutionary approach used for system development.
Algorithmic cost modeling
 Cost is estimated as a mathematical function of product,
project and process attributes whose values are estimated
by project managers
 The function is derived from a study of historical costing
data
 Most commonly used product attribute for cost
estimation is LOC (code size)
 Most models are basically similar but with different
attribute values
Criteria for a Good Model
 Defined—clear what is estimated
 Accurate
 Objective—avoids subjective factors
 Results understandable
 Detailed
 Stable—second order relationships
 Right Scope
 Easy to Use
 Causal—future data not required
 Parsimonious—everything present is important
 A measure of the rate at which individual
engineers involved in software development
produce software and associated
documentation.
 Not quality-oriented although quality assurance is a factor
in productivity assessment.
 Essentially, we want to measure useful
functionality produced per time unit.
Software productivity
 Size related measures based on some output from the
software process. This may be lines of delivered source
code, object code instructions, etc.
 Function-related measures based on an estimate of the
functionality of the delivered software. Function-points
are the best known of this type of measure.
Productivity measures
Estimation techniques
 There is no simple way to make an accurate estimate
of the effort required to develop a software system
 Initial estimates are based on inadequate information in
a user requirements definition;
 The software may run on unfamiliar computers or use
new technology;
 The people in the project may be unknown.
 Project cost estimates may be self-fulfilling
 The estimate defines the budget and the product is
adjusted to meet the budget.
Changing technologies
 Changing technologies may mean that previous
estimating experience does not carry over to new
systems
 Distributed object systems rather than mainframe
systems;
 Use of web services;
 Use of ERP or database-centred systems;
 Use of off-the-shelf software;
 Development for and with reuse;
 Development using scripting languages;
 The use of CASE tools and program generators.
Compression Techniques
 Shorten the overall duration of the project
 Crashing
 Looks at cost and schedule tradeoffs
 Gain greatest compression with least cost
 Add resources to critical path tasks
 Limit or reduce requirements (scope)
 Changing the sequence of tasks
 Fast Tracking
 Overlapping of phases, activities or tasks that would otherwise be
sequential
 Involves some risk
 May cause rework
QUESTIONS
THANK YOU
Faizan Saleem
faizansaleem2803@yahoo.com
www.facebook.com/faiz.saleem
Presented by
Engr.Faizan Saleem
Software Engineer
Bahria University Karachi Campus
faizansaleem2803@yahoo.com
www.facebook.com/faiz.saleem

More Related Content

What's hot

Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
Kudzai Rerayi
 
Best Practices in Software Cost Estimation - Metrikon 2015 - Frank Vogelezang
Best Practices in Software Cost Estimation - Metrikon 2015 - Frank VogelezangBest Practices in Software Cost Estimation - Metrikon 2015 - Frank Vogelezang
Best Practices in Software Cost Estimation - Metrikon 2015 - Frank Vogelezang
Frank Vogelezang
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Ashis Kumar Chanda
 
Introduction to Software Cost Estimation
Introduction to Software Cost EstimationIntroduction to Software Cost Estimation
Introduction to Software Cost Estimation
Hemanth Raj
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
Return on Intelligence
 
Bridging the gap rob de munnik - dutch tax office
Bridging the gap   rob de munnik - dutch tax officeBridging the gap   rob de munnik - dutch tax office
Bridging the gap rob de munnik - dutch tax office
Nesma
 
Effort estimation for software development
Effort estimation for software developmentEffort estimation for software development
Effort estimation for software development
Spyros Ktenas
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Mirza Obaid
 
Software engineering 9 software cost estimation
Software engineering 9 software cost estimationSoftware engineering 9 software cost estimation
Software engineering 9 software cost estimation
Vaibhav Khanna
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Nesma
 
Risk Management
Risk ManagementRisk Management
Risk Management
Narendra Pankaj
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
Nesma
 
Creating QA Dashboard
Creating QA DashboardCreating QA Dashboard
Creating QA DashboardPetro Porchuk
 
What Does Done Look Like?
What Does Done Look Like?What Does Done Look Like?
What Does Done Look Like?
Glen Alleman
 
7.2 Budget Estimates
7.2 Budget Estimates7.2 Budget Estimates
7.2 Budget Estimates
DavidMcLachlan1
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning V
Gagan Deep
 
Risk Adjusted Estimating Techniques
Risk Adjusted Estimating TechniquesRisk Adjusted Estimating Techniques
Risk Adjusted Estimating Techniques
Government Contract Pricing Summit
 
Spm unit iii-risk-intro
Spm unit iii-risk-introSpm unit iii-risk-intro
Spm unit iii-risk-intro
Kanchana Devi
 
Basis of Estimate Processes
Basis of Estimate ProcessesBasis of Estimate Processes
Basis of Estimate Processes
Glen Alleman
 

What's hot (20)

Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Software Estimation Checklist
Software Estimation ChecklistSoftware Estimation Checklist
Software Estimation Checklist
 
Best Practices in Software Cost Estimation - Metrikon 2015 - Frank Vogelezang
Best Practices in Software Cost Estimation - Metrikon 2015 - Frank VogelezangBest Practices in Software Cost Estimation - Metrikon 2015 - Frank Vogelezang
Best Practices in Software Cost Estimation - Metrikon 2015 - Frank Vogelezang
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Introduction to Software Cost Estimation
Introduction to Software Cost EstimationIntroduction to Software Cost Estimation
Introduction to Software Cost Estimation
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
 
Bridging the gap rob de munnik - dutch tax office
Bridging the gap   rob de munnik - dutch tax officeBridging the gap   rob de munnik - dutch tax office
Bridging the gap rob de munnik - dutch tax office
 
Effort estimation for software development
Effort estimation for software developmentEffort estimation for software development
Effort estimation for software development
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Software engineering 9 software cost estimation
Software engineering 9 software cost estimationSoftware engineering 9 software cost estimation
Software engineering 9 software cost estimation
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
 
Creating QA Dashboard
Creating QA DashboardCreating QA Dashboard
Creating QA Dashboard
 
What Does Done Look Like?
What Does Done Look Like?What Does Done Look Like?
What Does Done Look Like?
 
7.2 Budget Estimates
7.2 Budget Estimates7.2 Budget Estimates
7.2 Budget Estimates
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning V
 
Risk Adjusted Estimating Techniques
Risk Adjusted Estimating TechniquesRisk Adjusted Estimating Techniques
Risk Adjusted Estimating Techniques
 
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
 

Viewers also liked

Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimationKashif Aleem
 
Residential Apartment Building
Residential Apartment BuildingResidential Apartment Building
Residential Apartment Building
Abhinav Ranganath Panyam Vuppu
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Haitham Ahmed
 
Ch23 project planning
Ch23 project planningCh23 project planning
Ch23 project planning
software-engineering-book
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
kamal
 
Managing Project Resources
Managing Project ResourcesManaging Project Resources
Managing Project ResourcesToyin Osunlaja
 

Viewers also liked (7)

Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimation
 
Residential Apartment Building
Residential Apartment BuildingResidential Apartment Building
Residential Apartment Building
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Ch23 project planning
Ch23 project planningCh23 project planning
Ch23 project planning
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
Managing Project Resources
Managing Project ResourcesManaging Project Resources
Managing Project Resources
 

Similar to Estimation

Project Estimation.ppt
Project Estimation.pptProject Estimation.ppt
Project Estimation.ppt
SURAJITDASBAURI
 
Project Estimation.ppt
Project Estimation.pptProject Estimation.ppt
Project Estimation.ppt
SharanabasappaDegoan
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23koolkampus
 
Project management
Project managementProject management
Project managementAhmed Said
 
How to Estimate Software Development Project Cost.pdf
How to Estimate Software Development Project Cost.pdfHow to Estimate Software Development Project Cost.pdf
How to Estimate Software Development Project Cost.pdf
Vrinsoft Technology
 
Lect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost EstimationLect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost Estimation
Mubashir Ali
 
A Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation MethodsA Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation Methods
Editor IJCATR
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
IJCI JOURNAL
 
spm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.pptspm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.ppt
RidyaGupta1
 
cost factor.ppt
cost factor.pptcost factor.ppt
cost factor.ppt
AVUDAI1
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
Santosh Ramachandran
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metrics
Piyush Sohaney
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...
Glen Alleman
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
ssuser7f90ae
 
Avoid software project horror stories - check the reality value of the estima...
Avoid software project horror stories - check the reality value of the estima...Avoid software project horror stories - check the reality value of the estima...
Avoid software project horror stories - check the reality value of the estima...
Harold van Heeringen
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
vishal choudhary
 
How Can I Use SNAP to Improve My Estimation Practices?
How Can I Use SNAP to Improve My Estimation Practices?How Can I Use SNAP to Improve My Estimation Practices?
How Can I Use SNAP to Improve My Estimation Practices?
DCG Software Value
 

Similar to Estimation (20)

Project Estimation.ppt
Project Estimation.pptProject Estimation.ppt
Project Estimation.ppt
 
Project Estimation.ppt
Project Estimation.pptProject Estimation.ppt
Project Estimation.ppt
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Project management
Project managementProject management
Project management
 
How to Estimate Software Development Project Cost.pdf
How to Estimate Software Development Project Cost.pdfHow to Estimate Software Development Project Cost.pdf
How to Estimate Software Development Project Cost.pdf
 
SE_Unit 2.pptx
SE_Unit 2.pptxSE_Unit 2.pptx
SE_Unit 2.pptx
 
Ch26
Ch26Ch26
Ch26
 
Lect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost EstimationLect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost Estimation
 
A Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation MethodsA Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation Methods
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
 
spm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.pptspm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.ppt
 
cost factor.ppt
cost factor.pptcost factor.ppt
cost factor.ppt
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
Agile cost estimation
Agile cost estimationAgile cost estimation
Agile cost estimation
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metrics
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
Avoid software project horror stories - check the reality value of the estima...
Avoid software project horror stories - check the reality value of the estima...Avoid software project horror stories - check the reality value of the estima...
Avoid software project horror stories - check the reality value of the estima...
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
How Can I Use SNAP to Improve My Estimation Practices?
How Can I Use SNAP to Improve My Estimation Practices?How Can I Use SNAP to Improve My Estimation Practices?
How Can I Use SNAP to Improve My Estimation Practices?
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Estimation

  • 1. GROUP MEMBERS FAIZAN SALEEM (Leader) ARSALAN SHARIQ
  • 2. Project Estimation and scheduling  Outline:  Estimation overview  Detailed schedule/planning terminology and processes
  • 3. Estimation “The single most important task of a project: setting realistic expectations. Unrealistic expectations based on inaccurate estimates are the single largest cause of software failure.”
  • 4. Why its important to you!  Program development of large software systems normally experience 200-300% cost overruns and a 100% schedule slip  15% of large projects deliver…NOTHING!  Key reasons…poor management and inaccurate estimations of development cost and schedule  If not meeting schedules, developers often pay the price!
  • 5. The Problems  Predicting software cost  Predicting software schedule  Controlling software risk  Managing/tracking project as it progresses
  • 6. Fundamental estimation questions  How much effort is required to complete an activity?  How much calendar time is needed to complete an activity?  What is the total cost of an activity?  Project estimation and scheduling are interleaved management activities.
  • 7. Software cost components  Hardware and software costs.  Travel and training costs.  Effort costs (the dominant factor in most projects)  The salaries of engineers involved in the project;  Social and insurance costs.  Effort costs must take overheads into account  Costs of building, heating, lighting.  Costs of networking and communications.  Costs of shared facilities (e.g library, staff restaurant, etc.).
  • 8. Costing and pricing  Estimates are made to discover the cost, to the developer, of producing a software system.  There is not a simple relationship between the development cost and the price charged to the customer.  Broader organisational, economic, political and business considerations influence the price charged.
  • 9. Software pricing factors Market opportunity A development organisation may quote a low price because it wishes to move into a new segment of the software market. Accepting a low profit on one project may give the opportunity of more profit later. The experience gained may allow new products to be developed. Cost estimate uncertainty If an organisation is unsure of its cost estimate, it may increase its price by some contingency over and above its normal profit. Contractual terms A c ustomer may be willing to allow the developer to retain ownership of the source code and reuse it in other projects. The price charged may then be less than if the software source code is handed over to the customer. Requirements volatility If the requirements are likely to change, an organisation may lower its price to win a contract. After the contract is awarded, high prices can be charged for changes to the requirements. Financial health Developers in financial difficulty may lower their price to gain a contract. It is better to make a sm aller than normal profit or break even than to go out of business.
  • 10. Nature of Estimates  Man Months (or Person Months), defined as 152 man- hours of direct-charged labor  Schedule in months (requirements complete to acceptance)  Well-managed program
  • 11. 4 Common (subjective) estimation models  Expert Judgment  Analogy  Parkinson’s law  Price to win
  • 12. Expert judgment  One or more experts in both software development and the application domain use their experience to predict software costs. Process iterates until some consensus is reached.  Advantages: Relatively cheap estimation method. Can be accurate if experts have direct experience of similar systems  Disadvantages: Very inaccurate if there are no experts!
  • 13. Estimation by analogy  The cost of a project is computed by comparing the project to a similar project in the same application domain  Advantages: May be accurate if project data available and people/tools the same  Disadvantages: Impossible if no comparable project has been tackled. Needs systematically maintained cost database
  • 14. Parkinson's Law  The project costs whatever resources are available  Advantages: No overspend  Disadvantages: System is usually unfinished
  • 15. Cost Pricing to win  The project costs whatever the customer has to spend on it  Advantages: You get the contract  Disadvantages: The probability that the customer gets the system he or she wants is small. Costs do not accurately reflect the work required.  How do you know what customer has?  Only a good strategy if you are willing to take a serious loss to get a first customer, or if Delivery of a radically reduced product is a real option.
  • 16. Top-down and bottom-up estimation  Any of these approaches may be used top-down or bottom-up.  Top-down  Start at the system level and assess the overall system functionality and how this is delivered through sub- systems.  Bottom-up  Start at the component level and estimate the effort required for each component. Add these efforts to reach a final estimate.
  • 17. Top-down estimation  Usable without knowledge of the system architecture and the components that might be part of the system.  Takes into account costs such as integration, configuration management and documentation.  Can underestimate the cost of solving difficult low-level technical problems.
  • 18. Bottom-up estimation  Usable when the architecture of the system is known and components identified.  This can be an accurate method if the system has been designed in detail.  It may underestimate the costs of system level activities such as integration and documentation.
  • 19. Estimation methods  Each method has strengths and weaknesses.  Estimation should be based on several methods.  If these do not return approximately the same result, then you have insufficient information available to make an estimate.  Some action should be taken to find out more in order to make more accurate estimates.  Pricing to win is sometimes the only applicable method.
  • 20. Pricing to win  This approach may seem unethical and un-businesslike.  However, when detailed information is lacking it may be the only appropriate strategy.  The project cost is agreed on the basis of an outline proposal and the development is constrained by that cost.  A detailed specification may be negotiated or an evolutionary approach used for system development.
  • 21. Algorithmic cost modeling  Cost is estimated as a mathematical function of product, project and process attributes whose values are estimated by project managers  The function is derived from a study of historical costing data  Most commonly used product attribute for cost estimation is LOC (code size)  Most models are basically similar but with different attribute values
  • 22. Criteria for a Good Model  Defined—clear what is estimated  Accurate  Objective—avoids subjective factors  Results understandable  Detailed  Stable—second order relationships  Right Scope  Easy to Use  Causal—future data not required  Parsimonious—everything present is important
  • 23.  A measure of the rate at which individual engineers involved in software development produce software and associated documentation.  Not quality-oriented although quality assurance is a factor in productivity assessment.  Essentially, we want to measure useful functionality produced per time unit. Software productivity
  • 24.  Size related measures based on some output from the software process. This may be lines of delivered source code, object code instructions, etc.  Function-related measures based on an estimate of the functionality of the delivered software. Function-points are the best known of this type of measure. Productivity measures
  • 25. Estimation techniques  There is no simple way to make an accurate estimate of the effort required to develop a software system  Initial estimates are based on inadequate information in a user requirements definition;  The software may run on unfamiliar computers or use new technology;  The people in the project may be unknown.  Project cost estimates may be self-fulfilling  The estimate defines the budget and the product is adjusted to meet the budget.
  • 26. Changing technologies  Changing technologies may mean that previous estimating experience does not carry over to new systems  Distributed object systems rather than mainframe systems;  Use of web services;  Use of ERP or database-centred systems;  Use of off-the-shelf software;  Development for and with reuse;  Development using scripting languages;  The use of CASE tools and program generators.
  • 27. Compression Techniques  Shorten the overall duration of the project  Crashing  Looks at cost and schedule tradeoffs  Gain greatest compression with least cost  Add resources to critical path tasks  Limit or reduce requirements (scope)  Changing the sequence of tasks  Fast Tracking  Overlapping of phases, activities or tasks that would otherwise be sequential  Involves some risk  May cause rework
  • 30. Presented by Engr.Faizan Saleem Software Engineer Bahria University Karachi Campus faizansaleem2803@yahoo.com www.facebook.com/faiz.saleem