Software Project Management
Lecture # 5
Outline
 Estimation
 Introduction
 Software EffortEstimation and Risk
 Project Planning Activities
 Software Scope and Feasibility
 Resources
 Software Project Estimation
 Decomposition Techniques
 Empirical Estimation Models
Introduction
 Software Project Management begins with
'Project Planning’ activities which include:
 Estimation
 Scheduling
 Risk Analysis
 Quality Management Planning
 Change Management Planning
What is Estimation?
 Estimation is to determine how much…
 Money/cost,
 efforts,
 resources and
 time
will be required to build a specific
software based system or product.
Who does Estimation?
 Estimation is done by software project
managers using information solicited
from
 Stakeholders,
 Software engineers and
 Software metrics data from past projects.
Estimation Steps – Summary
 Description of product scope.
 Decomposition of problem into set of
smaller problems.
 Each sub problem is estimated using
historical data, software metrics and
experience (from past projects) as guides.
 Problem complexity and risks are
considered before final estimate is made.
Estimation and Risk
 Estimation carries inherent risk & risk leads
to uncertainty.
 Estimation risk is measured by the degree of
uncertainty in the quantitative estimates
established for resources, cost, and
schedule.
 Availability of comprehensive historical
information and software metrics (from past
projects) helps establish better estimates
and hence reduces risk factors.
Estimation and Risk (Contd.)
 If project scope is poorly understood or
requirements are subject to change then
uncertainty and estimation risk become
dangerously high.
 Thus variability in software requirements
means instability in cost and schedule.
 However, a project manager should not
become obsessive about estimation as
modern software engineering approaches
are iterative in nature hence making it
possible to revise estimates.
Software Project Planning
Process
 Software project planning provides a
framework that enables the manager
to make reasonable estimates of
resources, cost and schedule.
 Although there is inherent uncertainty,
the team embarks on a project plan.
 But, this plan must be adapted and
updated as the project progresses.
Software Project Planning
Activities
 Establish project scope
 Determine feasibility
 Analyze risks
 Define resources
 Estimate cost and effort
 Develop project schedule
Lets discuss these in detail …
Software Scope
 It is defined in one of the following ways:
 A narrative description developed after communication
with all stakeholders
 A set of use-cases developed by end-user
 It describes
 functions & features to be delivered to end-user
 Input and output data
 “content” presented to users as they use the software
 Performance considerations (processing and response
time, etc)
 Constraints (limits placed on software by external
hardware, available memory, or existing systems),
interfaces and reliability that bound the system
Software Feasibility
 Feasibility check is conducted after scope
identification.
 It addresses questions like
 Can we build software to meet this scope?
 Is the project feasible?
 These questions are very crucial but often
overlooked either by software engineers or
by the impatient customers and managers.
Software Feasibility (Contd.)
 Putnam and Myers address feasibility in four
dimensions
 Technology
 Is the project technically feasible? Is it within state of the
art? Can defects be reduced as needed?
 Finance
 Is it financially feasible? Can the development be
completed at a cost that the software organization, the
client or the market can afford
 Time
 Will the project’s time-to-market beat the competition?
 Resources
 Does the organization have enough resources needed to
succeed?
Resources
 After scope and feasibility, next comes
estimation of resources. Three major categories
of resources are:
 People/Human resources
 Reusable software components
 Development environment (s/w & h/w tools)
 Each resource has 4 characteristics
 Description of resource
 Statement of availability
 Time when resource will be required
 Duration of time when resource will be applied
1.Human resources
 This estimation involves
 Selecting Skills (required to complete
development)
 Specifying organizational positions (manager,
senior s/w engr, ..) and specialty
 Determining number of people based on
development effort
 For small projects, single person can do all s/w engg
tasks
 For large projects, more number of people involved
which may be geographically distributed. So, location
of resource also specified
 No. of people can be determined after estimating
development effort (e.g., person-months)
2. Reusable Software Resources
 CBSE emphasizes the creation and reuse of
software building blocks (components)
 4 categories of software components
 Off-the-shelf components
 Ready-to-use existing software acquired from
third party (COTS) or from (internal) past
projects
 Full-experience components
 Existing specifications, designs, code, test data
from past projects similar to software to be
developed (for current project). May require
little modifications
2. Reusable Software Resources
 Partial experience component
 Existing specifications, designs, code, test
data from past projects related to software to
be developed (for current project) but will
require substantial modifications
 New components
 Software components that must be built for
current project
3. (Development) Environment
resources
 Software Engineering Environment (SEE)
includes hardware and software support for
a software project
 Hardware and software elements availability
and time window must be specified
Software Project Estimation
 Options for cost and effort estimates:
 Delay estimation until late in project
 Not a practical approach
 Base estimation on similar past projects
 Reasonable approach but not always successful
 Use simple decomposition techniques to
generate estimates
 Divide and conquer approach. Divide project into major
activities/functions and make estimates
 Use some empirical model for estimation
 Complements decomposition techniques
 Which option is better?
 Each approach can be used as a cross-check for the other
Decomposition Techniques
 Decomposition can be performed in two
aspects
 Decomposition of problem
 Decomposition of process
 Estimation uses one or both forms of
decompositions. But before this, software
size must be estimated.
Software Sizing
 Proper estimation of software size and
mapping of size estimate to human effort,
calendar time and cost are important things
which contribute to accuracy of overall
software project estimation.
 In project planning, size refers to a
quantifiable outcome.
 Direct approach – size is measured as LOC
 Indirect approach – size is measured as
function-points
Software Sizing (Contd.)
 Putnam and Myers suggested 4 different
approaches for sizing problem
 Fuzzy logic sizing
 Function point sizing
 Standard component sizing
 Change sizing
Other types of estimations…
 Problem based estimation (LOC-
based and FP-based)
 Process-based estimation
 Use-case based estimation
References
 Today’s lecture contents were taken
from chapter 23 – “Software
Engineering, A Practitioner's
Approach” by Roger Pressman

More Related Content

PPT
Software estimation
PDF
Software Project Planning and Estimation.pdf
PPT
Software Engineering (Project Planning & Estimation)
PPTX
SE - Lecture 11 - Software Project Estimation.pptx
PPT
Lecture5
PPTX
11. estimation-1
PPTX
Software engineering 8 Software project planning
PPT
Softwareproject planning
Software estimation
Software Project Planning and Estimation.pdf
Software Engineering (Project Planning & Estimation)
SE - Lecture 11 - Software Project Estimation.pptx
Lecture5
11. estimation-1
Software engineering 8 Software project planning
Softwareproject planning

Similar to Software EffortEstimation and Risk Project Planning Activities Software Scope and Feasibility Resources Software Project Estimation Decomposition Techniques Empirical Estimation Models (20)

PPTX
SE-Lecture-5.pptx
PPT
Software Project management
PDF
project planning components.pdf
PPTX
mithuujyshsyshshnshsbsgshsgehhehgebe.pptx
PPTX
Estimation sharbani bhattacharya
PPTX
PDF
005614116.pdf
PPTX
estimation-for-software-projects-chapter-26-ppt.pptx
PDF
SE_Chapterrrrrrrrrrrrrrrrrrrrrrrrrr3.pdf
PPTX
Software Project Management
PPTX
Software project planning in software engineering by ram k paliwal unit 2
PDF
Software Project Estimation
PDF
Spm project planning
PPT
Chapter_05_Software Project Planning.ppt
PPT
lec3.ppt
PPT
Lecture6
PDF
Guide to Software Estimation
PDF
ITFT - Project planning
PPSX
Cost estimation
SE-Lecture-5.pptx
Software Project management
project planning components.pdf
mithuujyshsyshshnshsbsgshsgehhehgebe.pptx
Estimation sharbani bhattacharya
005614116.pdf
estimation-for-software-projects-chapter-26-ppt.pptx
SE_Chapterrrrrrrrrrrrrrrrrrrrrrrrrr3.pdf
Software Project Management
Software project planning in software engineering by ram k paliwal unit 2
Software Project Estimation
Spm project planning
Chapter_05_Software Project Planning.ppt
lec3.ppt
Lecture6
Guide to Software Estimation
ITFT - Project planning
Cost estimation
Ad

Recently uploaded (20)

PPT
Risk Management What is Risk Management Risk Management Strategies Software R...
PPTX
EXT.-EDU-809-EXTENSION-POLICY-AND-GOALS-.pptx
PDF
Personal-Professional-Development-in-Nursing-1.pdf
PPTX
Time Management 2 power point presentation
PPTX
The Impact of Hofstede’s 6D Model on Emotional Intelligence in Global Teams.pptx
PPTX
Organizing and Staffing, Staffing process.pptx
PPT
risk management (contd.) Risk Identification Risk Components and Drivers Risk...
PDF
The Pearson Complete Course for CISM Certification: Unit 3
PDF
SpatzAI Micro-Conflict Resolution Toolkit - Fairer Teamwork Globally
PPTX
SM_Behavior Based Safety (BBS)_Unit V.pptx
PPTX
management development and careerr planning.pptx
DOC
咨询WSU毕业证学历认证,多恩大学毕业证国外本科学位证
PDF
Geopolitics and the Dynamic Competition Framework
PPT
development_theories chapter 3.ppt undfer
PDF
Jim Kaskade Biography Highlighting A Career Journey August 21 2025
PPTX
Organisational Leadership and Change Management
PPTX
Lean Thinking: Making Efficiency an Everyday Thing
PPTX
Unit 6: Product service and brand.pptx mm
PPT
The Management Spectrum 4 Ps in Project Management
DOC
TAMUK毕业证学历认证,北科罗拉多大学毕业证文凭
Risk Management What is Risk Management Risk Management Strategies Software R...
EXT.-EDU-809-EXTENSION-POLICY-AND-GOALS-.pptx
Personal-Professional-Development-in-Nursing-1.pdf
Time Management 2 power point presentation
The Impact of Hofstede’s 6D Model on Emotional Intelligence in Global Teams.pptx
Organizing and Staffing, Staffing process.pptx
risk management (contd.) Risk Identification Risk Components and Drivers Risk...
The Pearson Complete Course for CISM Certification: Unit 3
SpatzAI Micro-Conflict Resolution Toolkit - Fairer Teamwork Globally
SM_Behavior Based Safety (BBS)_Unit V.pptx
management development and careerr planning.pptx
咨询WSU毕业证学历认证,多恩大学毕业证国外本科学位证
Geopolitics and the Dynamic Competition Framework
development_theories chapter 3.ppt undfer
Jim Kaskade Biography Highlighting A Career Journey August 21 2025
Organisational Leadership and Change Management
Lean Thinking: Making Efficiency an Everyday Thing
Unit 6: Product service and brand.pptx mm
The Management Spectrum 4 Ps in Project Management
TAMUK毕业证学历认证,北科罗拉多大学毕业证文凭
Ad

Software EffortEstimation and Risk Project Planning Activities Software Scope and Feasibility Resources Software Project Estimation Decomposition Techniques Empirical Estimation Models

  • 2. Outline  Estimation  Introduction  Software EffortEstimation and Risk  Project Planning Activities  Software Scope and Feasibility  Resources  Software Project Estimation  Decomposition Techniques  Empirical Estimation Models
  • 3. Introduction  Software Project Management begins with 'Project Planning’ activities which include:  Estimation  Scheduling  Risk Analysis  Quality Management Planning  Change Management Planning
  • 4. What is Estimation?  Estimation is to determine how much…  Money/cost,  efforts,  resources and  time will be required to build a specific software based system or product.
  • 5. Who does Estimation?  Estimation is done by software project managers using information solicited from  Stakeholders,  Software engineers and  Software metrics data from past projects.
  • 6. Estimation Steps – Summary  Description of product scope.  Decomposition of problem into set of smaller problems.  Each sub problem is estimated using historical data, software metrics and experience (from past projects) as guides.  Problem complexity and risks are considered before final estimate is made.
  • 7. Estimation and Risk  Estimation carries inherent risk & risk leads to uncertainty.  Estimation risk is measured by the degree of uncertainty in the quantitative estimates established for resources, cost, and schedule.  Availability of comprehensive historical information and software metrics (from past projects) helps establish better estimates and hence reduces risk factors.
  • 8. Estimation and Risk (Contd.)  If project scope is poorly understood or requirements are subject to change then uncertainty and estimation risk become dangerously high.  Thus variability in software requirements means instability in cost and schedule.  However, a project manager should not become obsessive about estimation as modern software engineering approaches are iterative in nature hence making it possible to revise estimates.
  • 9. Software Project Planning Process  Software project planning provides a framework that enables the manager to make reasonable estimates of resources, cost and schedule.  Although there is inherent uncertainty, the team embarks on a project plan.  But, this plan must be adapted and updated as the project progresses.
  • 10. Software Project Planning Activities  Establish project scope  Determine feasibility  Analyze risks  Define resources  Estimate cost and effort  Develop project schedule Lets discuss these in detail …
  • 11. Software Scope  It is defined in one of the following ways:  A narrative description developed after communication with all stakeholders  A set of use-cases developed by end-user  It describes  functions & features to be delivered to end-user  Input and output data  “content” presented to users as they use the software  Performance considerations (processing and response time, etc)  Constraints (limits placed on software by external hardware, available memory, or existing systems), interfaces and reliability that bound the system
  • 12. Software Feasibility  Feasibility check is conducted after scope identification.  It addresses questions like  Can we build software to meet this scope?  Is the project feasible?  These questions are very crucial but often overlooked either by software engineers or by the impatient customers and managers.
  • 13. Software Feasibility (Contd.)  Putnam and Myers address feasibility in four dimensions  Technology  Is the project technically feasible? Is it within state of the art? Can defects be reduced as needed?  Finance  Is it financially feasible? Can the development be completed at a cost that the software organization, the client or the market can afford  Time  Will the project’s time-to-market beat the competition?  Resources  Does the organization have enough resources needed to succeed?
  • 14. Resources  After scope and feasibility, next comes estimation of resources. Three major categories of resources are:  People/Human resources  Reusable software components  Development environment (s/w & h/w tools)  Each resource has 4 characteristics  Description of resource  Statement of availability  Time when resource will be required  Duration of time when resource will be applied
  • 15. 1.Human resources  This estimation involves  Selecting Skills (required to complete development)  Specifying organizational positions (manager, senior s/w engr, ..) and specialty  Determining number of people based on development effort  For small projects, single person can do all s/w engg tasks  For large projects, more number of people involved which may be geographically distributed. So, location of resource also specified  No. of people can be determined after estimating development effort (e.g., person-months)
  • 16. 2. Reusable Software Resources  CBSE emphasizes the creation and reuse of software building blocks (components)  4 categories of software components  Off-the-shelf components  Ready-to-use existing software acquired from third party (COTS) or from (internal) past projects  Full-experience components  Existing specifications, designs, code, test data from past projects similar to software to be developed (for current project). May require little modifications
  • 17. 2. Reusable Software Resources  Partial experience component  Existing specifications, designs, code, test data from past projects related to software to be developed (for current project) but will require substantial modifications  New components  Software components that must be built for current project
  • 18. 3. (Development) Environment resources  Software Engineering Environment (SEE) includes hardware and software support for a software project  Hardware and software elements availability and time window must be specified
  • 19. Software Project Estimation  Options for cost and effort estimates:  Delay estimation until late in project  Not a practical approach  Base estimation on similar past projects  Reasonable approach but not always successful  Use simple decomposition techniques to generate estimates  Divide and conquer approach. Divide project into major activities/functions and make estimates  Use some empirical model for estimation  Complements decomposition techniques  Which option is better?  Each approach can be used as a cross-check for the other
  • 20. Decomposition Techniques  Decomposition can be performed in two aspects  Decomposition of problem  Decomposition of process  Estimation uses one or both forms of decompositions. But before this, software size must be estimated.
  • 21. Software Sizing  Proper estimation of software size and mapping of size estimate to human effort, calendar time and cost are important things which contribute to accuracy of overall software project estimation.  In project planning, size refers to a quantifiable outcome.  Direct approach – size is measured as LOC  Indirect approach – size is measured as function-points
  • 22. Software Sizing (Contd.)  Putnam and Myers suggested 4 different approaches for sizing problem  Fuzzy logic sizing  Function point sizing  Standard component sizing  Change sizing
  • 23. Other types of estimations…  Problem based estimation (LOC- based and FP-based)  Process-based estimation  Use-case based estimation
  • 24. References  Today’s lecture contents were taken from chapter 23 – “Software Engineering, A Practitioner's Approach” by Roger Pressman