SlideShare a Scribd company logo
1 of 31
Download to read offline
SOFTWARE PROJECT
PLANNING AND COSTING
Software Cost Estimation
SE518
Lecture-3
Project Planning Components
• Software Scope
• Resources
• Project Estimation
• De-composition Techniques
• Empirical estimation models
• Make or Buy Decision
• Estimation Tools (Manual and Automated)
De-composition Techniques
Software project estimation is a form of problem solving.
If the problem is complex, it must be decomposed to
smaller problems.
Decomposition have two point of views
1. Decomposition of the problem
2. Decomposition of the process
In estimation we use one or both methods of partitioning
De-composition Techniques
Decomposition of the process
1. Framework selection (communication, planning etc)
2. How do we accomplish this framework activity?”
For example, a small, relatively simple project might require
the following work tasks for the communication activity:
• Develop list of clarification issues.
• Meet with stakeholders to address clarification issues.
• Jointly develop a statement of scope.
• Review the statement of scope with all concerned.
• Modify the statement of scope as required
De-composition Techniques
In case of complex project, the communication activities
can be broken down into
• Review the customer request.
• Plan and schedule a formal, facilitated meeting with all
stakeholders.
• Conduct research to specify the proposed solution and
existing approaches.
• Prepare a “working document” and an agenda for the
formal meeting.
• Conduct the meeting.
De-composition Techniques
• Jointly develop mini-specs that reflect data, functional,
and behavioral features of the software. Alternatively,
develop use cases that describe the software from the
user’s point of view.
• Review each mini-spec or use case for correctness,
consistency, and lack of ambiguity.
• Assemble the mini-specs into a scoping document.
• Review the scoping document or collection of use cases
with all concerned.
• Modify the scoping document or use cases as required.
De-composition Techniques
• Software project estimation prediction
Accuracy
of Project
Estimate
(Prediction)
Proper size
estimation
Ability to
translate
estimate into
effort, time &
money
Degree of
abilities of
software
team
Stability of
product
requirements
De-composition Techniques
• Software Sizing
• size refers to a quantifiable outcome of the software
project.
• size can be measured in lines of code (LOC).
• size can represented as function points (FP)
De-composition Techniques
• Software Sizing
• Analogy sizing (planner must identify type of
application & its magnitude on a qualitative scale)
• Divide the historical produce size data into size ranges.
• Compare the planned product with these prior products.
• Based on this comparison, select the size that seems most
appropriate for the new product.
• Function point sizing (information domain
characteristics), Function points are derived using an empirical
relationship based on countable (direct) measures of software’s
information domain (external inputs, external outputs, external
interface, internal logical files etc) and qualitative assessments
of software complexity.
De-composition Techniques
• Software Sizing
• Standard component sizing (generic components of a
particular application like every mis application have to input
data, reporting etc). Historical data may also be used.
• Change sizing (existing software modifications e.g addition,
modification, deletion etc.)
• User stories sizing
• It represent the relative sizing of the user story. It is a unit of
estimation used by Agile teams to estimate User Stories.
When the product owner wants some features to be
developed he/she desires to know how soon the team can
complete the features and how many resources it will take to
complete the work.
11
Decomposition Techniques
• Process-based estimation
• decomposition based on tasks required to complete the software
process framework
• Problem-based estimation
• using lines of code (LOC) decomposition focuses on software
functions
• using function point (FP) decomposition focuses on information
domain characteristics
Empirical Estimation Models
• An estimation model for computer software uses
empirically derived formulas to predict effort as a function
of LOC.
• Structure of estimation model
E = A + B x (ev)C
Models
• Walston-Felix model
• Bailey-Basili model
• Boehm simple model
• Doty model for KLOC > 9
13
Empirical Estimation Models
• Experiential Models
• Typically derived from regression analysis of
historical software project data with estimated
person-months as the dependent variable
• Static Estimation Model
• does not include time as an independent variable
• Constructive Cost Model (COCOMO)
• Dynamic Estimation Models
• usually takes time or development phase into
account
• Software Equation Model
14
Make Buy Decision
• Based on Data
• It may be more cost effective to acquire a piece of
software rather than develop it.
• Decision tree analysis provides a systematic way
to sort through the make-buy decision.
• As a rule outsourcing software development
requires more skillful management than does in-
house development of the same product.
Make up or Buy Decision
• Software may be purchased (or licensed) off-the-shelf.
• “full experience” or “partial-experience” software
components may be acquired and then modified and
integrated to meet specific needs.
• Software may be custom built by an outside contractor to
meet the specifications.
Make up or Buy Decision
For expensive software products, the following guidelines
can be applied:
1. Develop specifications for function and performance of
the desired software.
2. Define measurable characteristics whenever possible.
3. Estimate the internal cost to develop and the delivery
date.
4. Select three or four candidate applications that best
meet your specifications. OR Select reusable software
components that will assist in constructing the required
application.
Make up or Buy Decision
4. Develop a comparison matrix that presents a head-to-
head comparison of key functions.
5. Alternatively, conduct benchmark tests to compare
candidate software.
6. Evaluate each software package or component based
on past product quality, vendor support, product
direction (identification and selection of implementation
strategy, execution) , reputation etc.
7. Contact other users of the software and ask for
opinions.
Make up or Buy Decision
Following points may also influence make/buy decision:
• Delivery time of both products.
• Will the cost of acquisition plus the cost of customization
be less than the cost of developing the software
internally?
• Will the cost of outside support (e.g., a maintenance
contract) be less than the cost of internal support?
19
Decision Process
1. Develop specifications.
2. Estimate internal cost & delivery.
3. Select 3 or 4 candidate packages.
4. Select reasonable components.
5. Build a cost-benefit comparison matrix (key
function performance) or use conduct
benchmark tests of candidate software
6. Evaluate each software package or
component based on history with the
product or vendor.
7. Contact other users.
Cost Estimation Techniques
• Manual software Estimating Methods
• Manual Project Level Estimates using rules of thumb
• Manual Phase Level Estimates using ratios and percentages
• Manual Activity Level Estimates using work breakdown structure
• Automated Software Estimating Methods
• Automated Project Level Estimates using rules of thumb
• Automated Phase Level Estimates using ratios and percentages
• Automated Activity Level Estimates using work breakdown
structure
Cost Estimation Techniques
•The most accurate forms of software cost
estimation are the
•Manual activity-level estimates using
work-breakdown structures and
•Automated activity-level or task-level
estimates (micro-estimation) cost
estimating at either the activity or the task
level, and used for larger projects only.
Manual Project Level Estimates using
rules of thumb
• Oldest method
• Not accurate
• In use due to simplicity for smaller projects.
• Example
Examples of rules of thumb using the lines-of-code-metrics
might be “JAVA applications average 500 code statements
per staff month” or “JAVA applications cost an average of
Rs 1000 per line of code to develop.”
Manual Project Level Estimates using
rules of thumb
• Its simple method and easy to do.
• However, simplistic estimates using rules of thumb should
not serve as the basis of contracts or formal budgets for
software projects.
• Calendar months = (Function points) 0.4
Manual Phase Level Estimates using
ratios and percentages
• Its start with overall project level estimates
• Then ratios and percentages are assigned to various phases of
the project.
• Number of phases would run from five to eight
• Requirements gathering, analysis & design, coding, testing,
installation and training.
• Example
We are going to develop an application of 100 functional points
or having 10,000 LOC. Using rule of thumb from manual project
estimation, we assume that this project will average 500 code
statements per month. Then effort will take 20 months
10,000=500xmonths
Manual Phase Level Estimates using
ratios and percentages
• Typical effort percentages of five phases are
• Requirements 10%
• Analysis and design 20%
• Coding 30%
• Testing 30%
• Installation & training 5%
Manual Phase Level Estimates using
ratios and percentages
• Issues
• In real world, percentages vary widely for every activity on the basis
of type of projects
• Many kinds of software work span over multiple phases or run the
entire duration of the project like documentation
• Activities that are not phased, may accidently be omitted from the
estimates
Manual Phase Level Estimates using
ratios and percentages
• Issues
Example- 1: smaller projects coding is 60%, larger projects coding is
15-20%, however testing % may be increased.
Fix percentage can not be used
Example-2: week estimation of activities span over multiple phases
like documentation, starts during requirements phase and end after
testing
These must be considered
Example-3
Quality assurance, technical writing & integration are not identified as
phases. In complex projects it takes 25-30% effort.
That’s why most manual estimates tends towards excessive
optimism for both cost and schedule.
Manual Phase Level Estimates using
ratios and percentages
Slightly more useful than overall project estimates and
are just about as easy to prepare.
However, they are far from sufficient for contracts, budgets, or
serious business purposes
Manual Activity Level Estimates using
work breakdown structure
• Estimation of each activity or task using a formal work-
breakdown structure is the most accurate of the manual
methods.
Conditions of Manual Estimation
• Can be used for early estimates before requirements
• Small projects, which can be completed with one or two
programmers
• Low value projects with no critical business impacts
Not use full in situation like
• contract purposes for software development and
maintenance
• Larger projects
• Projects with significance business impact.
Automated Estimating Methods
• Its same as in manual method
• Just easier and simpler due to automated tool
• Its also called Macro-estimation
• Its starts with general equitation's of staffing, effort etc

More Related Content

Similar to project planning components.pdf

UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxDevnath13
 
Using Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process ImprovementUsing Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process ImprovementQuantitative Software Management, Inc.
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manualVivek Kumar Sinha
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3Azhar Shaik
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfavishekpradhan24
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and schedulingSulman Ahmed
 

Similar to project planning components.pdf (20)

Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptx
 
Using Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process ImprovementUsing Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process Improvement
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Unit 1.pdf
Unit 1.pdfUnit 1.pdf
Unit 1.pdf
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Unit 5
Unit   5Unit   5
Unit 5
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Wbs
WbsWbs
Wbs
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
 

More from saman Iftikhar (14)

This-that-these-those.pdf
This-that-these-those.pdfThis-that-these-those.pdf
This-that-these-those.pdf
 
02Data updated.pdf
02Data updated.pdf02Data updated.pdf
02Data updated.pdf
 
Clustering.pdf
Clustering.pdfClustering.pdf
Clustering.pdf
 
networking lab
networking labnetworking lab
networking lab
 
Science
Science Science
Science
 
O p
O pO p
O p
 
Interface andexceptions
Interface andexceptionsInterface andexceptions
Interface andexceptions
 
Ethical principles in psychological research
Ethical principles in psychological researchEthical principles in psychological research
Ethical principles in psychological research
 
polysemy tag detect in tag sets
polysemy tag detect in tag setspolysemy tag detect in tag sets
polysemy tag detect in tag sets
 
Selection
SelectionSelection
Selection
 
Pipeline
PipelinePipeline
Pipeline
 
Context diagram
Context diagramContext diagram
Context diagram
 
Database
DatabaseDatabase
Database
 
Flags registers
Flags registersFlags registers
Flags registers
 

Recently uploaded

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 

project planning components.pdf

  • 1. SOFTWARE PROJECT PLANNING AND COSTING Software Cost Estimation SE518 Lecture-3
  • 2. Project Planning Components • Software Scope • Resources • Project Estimation • De-composition Techniques • Empirical estimation models • Make or Buy Decision • Estimation Tools (Manual and Automated)
  • 3. De-composition Techniques Software project estimation is a form of problem solving. If the problem is complex, it must be decomposed to smaller problems. Decomposition have two point of views 1. Decomposition of the problem 2. Decomposition of the process In estimation we use one or both methods of partitioning
  • 4. De-composition Techniques Decomposition of the process 1. Framework selection (communication, planning etc) 2. How do we accomplish this framework activity?” For example, a small, relatively simple project might require the following work tasks for the communication activity: • Develop list of clarification issues. • Meet with stakeholders to address clarification issues. • Jointly develop a statement of scope. • Review the statement of scope with all concerned. • Modify the statement of scope as required
  • 5. De-composition Techniques In case of complex project, the communication activities can be broken down into • Review the customer request. • Plan and schedule a formal, facilitated meeting with all stakeholders. • Conduct research to specify the proposed solution and existing approaches. • Prepare a “working document” and an agenda for the formal meeting. • Conduct the meeting.
  • 6. De-composition Techniques • Jointly develop mini-specs that reflect data, functional, and behavioral features of the software. Alternatively, develop use cases that describe the software from the user’s point of view. • Review each mini-spec or use case for correctness, consistency, and lack of ambiguity. • Assemble the mini-specs into a scoping document. • Review the scoping document or collection of use cases with all concerned. • Modify the scoping document or use cases as required.
  • 7. De-composition Techniques • Software project estimation prediction Accuracy of Project Estimate (Prediction) Proper size estimation Ability to translate estimate into effort, time & money Degree of abilities of software team Stability of product requirements
  • 8. De-composition Techniques • Software Sizing • size refers to a quantifiable outcome of the software project. • size can be measured in lines of code (LOC). • size can represented as function points (FP)
  • 9. De-composition Techniques • Software Sizing • Analogy sizing (planner must identify type of application & its magnitude on a qualitative scale) • Divide the historical produce size data into size ranges. • Compare the planned product with these prior products. • Based on this comparison, select the size that seems most appropriate for the new product. • Function point sizing (information domain characteristics), Function points are derived using an empirical relationship based on countable (direct) measures of software’s information domain (external inputs, external outputs, external interface, internal logical files etc) and qualitative assessments of software complexity.
  • 10. De-composition Techniques • Software Sizing • Standard component sizing (generic components of a particular application like every mis application have to input data, reporting etc). Historical data may also be used. • Change sizing (existing software modifications e.g addition, modification, deletion etc.) • User stories sizing • It represent the relative sizing of the user story. It is a unit of estimation used by Agile teams to estimate User Stories. When the product owner wants some features to be developed he/she desires to know how soon the team can complete the features and how many resources it will take to complete the work.
  • 11. 11 Decomposition Techniques • Process-based estimation • decomposition based on tasks required to complete the software process framework • Problem-based estimation • using lines of code (LOC) decomposition focuses on software functions • using function point (FP) decomposition focuses on information domain characteristics
  • 12. Empirical Estimation Models • An estimation model for computer software uses empirically derived formulas to predict effort as a function of LOC. • Structure of estimation model E = A + B x (ev)C Models • Walston-Felix model • Bailey-Basili model • Boehm simple model • Doty model for KLOC > 9
  • 13. 13 Empirical Estimation Models • Experiential Models • Typically derived from regression analysis of historical software project data with estimated person-months as the dependent variable • Static Estimation Model • does not include time as an independent variable • Constructive Cost Model (COCOMO) • Dynamic Estimation Models • usually takes time or development phase into account • Software Equation Model
  • 14. 14 Make Buy Decision • Based on Data • It may be more cost effective to acquire a piece of software rather than develop it. • Decision tree analysis provides a systematic way to sort through the make-buy decision. • As a rule outsourcing software development requires more skillful management than does in- house development of the same product.
  • 15. Make up or Buy Decision • Software may be purchased (or licensed) off-the-shelf. • “full experience” or “partial-experience” software components may be acquired and then modified and integrated to meet specific needs. • Software may be custom built by an outside contractor to meet the specifications.
  • 16. Make up or Buy Decision For expensive software products, the following guidelines can be applied: 1. Develop specifications for function and performance of the desired software. 2. Define measurable characteristics whenever possible. 3. Estimate the internal cost to develop and the delivery date. 4. Select three or four candidate applications that best meet your specifications. OR Select reusable software components that will assist in constructing the required application.
  • 17. Make up or Buy Decision 4. Develop a comparison matrix that presents a head-to- head comparison of key functions. 5. Alternatively, conduct benchmark tests to compare candidate software. 6. Evaluate each software package or component based on past product quality, vendor support, product direction (identification and selection of implementation strategy, execution) , reputation etc. 7. Contact other users of the software and ask for opinions.
  • 18. Make up or Buy Decision Following points may also influence make/buy decision: • Delivery time of both products. • Will the cost of acquisition plus the cost of customization be less than the cost of developing the software internally? • Will the cost of outside support (e.g., a maintenance contract) be less than the cost of internal support?
  • 19. 19 Decision Process 1. Develop specifications. 2. Estimate internal cost & delivery. 3. Select 3 or 4 candidate packages. 4. Select reasonable components. 5. Build a cost-benefit comparison matrix (key function performance) or use conduct benchmark tests of candidate software 6. Evaluate each software package or component based on history with the product or vendor. 7. Contact other users.
  • 20. Cost Estimation Techniques • Manual software Estimating Methods • Manual Project Level Estimates using rules of thumb • Manual Phase Level Estimates using ratios and percentages • Manual Activity Level Estimates using work breakdown structure • Automated Software Estimating Methods • Automated Project Level Estimates using rules of thumb • Automated Phase Level Estimates using ratios and percentages • Automated Activity Level Estimates using work breakdown structure
  • 21. Cost Estimation Techniques •The most accurate forms of software cost estimation are the •Manual activity-level estimates using work-breakdown structures and •Automated activity-level or task-level estimates (micro-estimation) cost estimating at either the activity or the task level, and used for larger projects only.
  • 22. Manual Project Level Estimates using rules of thumb • Oldest method • Not accurate • In use due to simplicity for smaller projects. • Example Examples of rules of thumb using the lines-of-code-metrics might be “JAVA applications average 500 code statements per staff month” or “JAVA applications cost an average of Rs 1000 per line of code to develop.”
  • 23. Manual Project Level Estimates using rules of thumb • Its simple method and easy to do. • However, simplistic estimates using rules of thumb should not serve as the basis of contracts or formal budgets for software projects. • Calendar months = (Function points) 0.4
  • 24. Manual Phase Level Estimates using ratios and percentages • Its start with overall project level estimates • Then ratios and percentages are assigned to various phases of the project. • Number of phases would run from five to eight • Requirements gathering, analysis & design, coding, testing, installation and training. • Example We are going to develop an application of 100 functional points or having 10,000 LOC. Using rule of thumb from manual project estimation, we assume that this project will average 500 code statements per month. Then effort will take 20 months 10,000=500xmonths
  • 25. Manual Phase Level Estimates using ratios and percentages • Typical effort percentages of five phases are • Requirements 10% • Analysis and design 20% • Coding 30% • Testing 30% • Installation & training 5%
  • 26. Manual Phase Level Estimates using ratios and percentages • Issues • In real world, percentages vary widely for every activity on the basis of type of projects • Many kinds of software work span over multiple phases or run the entire duration of the project like documentation • Activities that are not phased, may accidently be omitted from the estimates
  • 27. Manual Phase Level Estimates using ratios and percentages • Issues Example- 1: smaller projects coding is 60%, larger projects coding is 15-20%, however testing % may be increased. Fix percentage can not be used Example-2: week estimation of activities span over multiple phases like documentation, starts during requirements phase and end after testing These must be considered Example-3 Quality assurance, technical writing & integration are not identified as phases. In complex projects it takes 25-30% effort. That’s why most manual estimates tends towards excessive optimism for both cost and schedule.
  • 28. Manual Phase Level Estimates using ratios and percentages Slightly more useful than overall project estimates and are just about as easy to prepare. However, they are far from sufficient for contracts, budgets, or serious business purposes
  • 29. Manual Activity Level Estimates using work breakdown structure • Estimation of each activity or task using a formal work- breakdown structure is the most accurate of the manual methods.
  • 30. Conditions of Manual Estimation • Can be used for early estimates before requirements • Small projects, which can be completed with one or two programmers • Low value projects with no critical business impacts Not use full in situation like • contract purposes for software development and maintenance • Larger projects • Projects with significance business impact.
  • 31. Automated Estimating Methods • Its same as in manual method • Just easier and simpler due to automated tool • Its also called Macro-estimation • Its starts with general equitation's of staffing, effort etc