尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Software Engineering
(CSI 321)
Project Planning &
Estimation
1
Introduction
• Software project management begins with a set of
activities that are collectively called project planning.
• The software project planner must estimate three
things before a project begins:
– How long it will take?
– How much effort will be required?
– How many people will be involved?
• In addition, the planner must predict the resources
(h/w & s/w) that will be required and the risk
involved.
2
Introduction
• Software project planning encompasses five major
activities –
1) Estimation
2) Scheduling
3) Risk analysis
4) Quality management planning
5) Change management planning
3
Project Planning
• The overall goal of project planning is to
establish a logical strategy for controlling,
tracking, and monitoring a complex technical
project.
• Why?
– So that end result gets done on time, with quality!
4
The Project Planning Process
• The objective of software project planning is to
provide a framework that enables the manager to
make reasonable estimates of resources, cost, and
schedule.
• The project plan must be adapted and updated as
the project proceeds.
– The more you know, the better you estimate. So, update
your estimates as the project progresses.
5
6
Task Set for Project Planning
1) Establish project scope
2) Determine feasibility
3) Analyze risks
4) Define required resources
– Determine human resources required
– Define reusable software resources
– Identify environmental resources
7
Task Set for Project Planning
5) Estimate Cost and Effort
– Decompose the problem
– Develop two or more estimates using size, function points,
process tasks or use-cases
– Reconcile the estimates
6) Develop a project Schedule
– Establish a meaningful task set
– Define a task network
– Use scheduling tools to develop a timeline chart
– Define schedule tracking mechanisms
8
Estimation
• Estimation involves determining how much money, effort,
resources and time it will take to build a specific software.
• Estimation of resources, cost, and schedule for a software
engineering effort requires:
– Experience
– Access to good historical information (metrics)
– The courage to commit to quantitative predictions when
qualitative information is all that exists
• Estimation carries inherent risk and this risk leads to
uncertainty.
To Understand Scope ...
• Understand the customers needs
• Understand the business context
• Understand the project boundaries
• Understand the customer’s motivation
• Understand the likely paths for change
• Understand that ...
Even when you understand,
nothing is guaranteed!
9
Software Scope
• Software scope describes:
– Functions and features that are to be delivered to end-users
– Data that are input and output
– “Content” that is presented to users as a consequence of using
the software
– Performance, constraints, interfaces, and reliability that bound
the system.
• Scope is defined using one of two techniques:
1) A narrative description of software scope is developed after
communication with all stakeholders.
2) A set of use-cases is developed by end-users.
10
Feasibility
• Once software scope is well-understood, it is necessary to
determine the feasibility of the software.
• Project feasibility is important, BUT a consideration of
business need is MORE important. Why?!!?
==> It does no good to build a high-tech system that no one
wants!
• Feasibility study is a crucial part of the estimation process.
– A study that determines whether a requested system
makes economic, technical and operational sense for an
organization
– Conducted by the Project Manager
– Takes place before the system is constructed
11
Feasibility
• Software feasibility has four solid dimensions –
1) Technology
2) Finance
3) Time
4) Resources
• Scoping is not enough. Once scope is understood, the
software team & others must work to determine if it can
be done within these dimensions. This is a crucial part of
estimation process (but often overlooked).
12
13
Project Resources
project
people
skills
number
location
reusable
softwareOTS
components
full-experience
components
new
components
part.-experience
components
environment
hardware
software
tools
network
resources
Resource Estimation
• The software project planner must conduct an estimation of
the resources required to accomplish the software
development effort.
• Three major categories of software engineering resources –
1) People(Human Resources)
2) Reusable software components
3) Development environment (hardware & software tools)
• Each of the resources is specified with four characteristics –
– Description of the resource
– A statement of availability
– When the resource will be required
– Duration of time that resource will be applied
14
Resource Estimation
1) Human Resources
– Number of people required and skills needed to complete the
development project, location of human resources
1) Reusable Software Resources
– Off-the-shelf components
– Full-experience components
– Partial-experience components
– New components
1) Environmental Resources
– Hardware and software required during the development
process
15
Software Project Estimation
• Project scope must be explicitly defined
• Task and/or functional decomposition is necessary
• Historical measures (metrics) are very helpful
• At least two different techniques should be used
• Remember that uncertainty is inherent in the
estimation process
16
Estimation Options
 To achieve reliable cost & effort estimates, a number of
options arise –
1) Delay estimation until late in the project
– not practical
1) Base estimates on similar projects already completed
– work reasonably well
1) Use simple decomposition techniques to estimate project
cost and effort
2) Use empirical models for software cost and effort estimation
17
Estimation Techniques
1) Past (similar) project experience
2) Decomposition technique
– task breakdown and effort estimates
– size (e.g., LOC, FP) estimates
1) Empirical techniques use empirically derived
expressions for effort & time estimation
18
Decomposition Techniques
• Size
– Lines of code (LOC) – direct approach
– Function point(FP) – indirect approach
• Software sizing
– Fuzzy Logic
– Function Point calculation
– Standard component
– % Change
• Process-based estimation
– Decomposition based on tasks required to
complete the software process framework
19
Conventional Methods: LOC/FP Approach
• Compute LOC/FP using estimates of information
domain values
• Use historical data to build estimates for the project
20
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)
• An algorithmic software cost estimation model developed by
Barry Boehm. The model uses a basic regression formula, with
parameters that are derived from historical project data and
current project characteristics.
• Dynamic Estimation Models
– Usually takes time or development phase into account
– Software Equation Model
21
The Make/Buy Decision
• 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.
22
A decision tree helps “Make/Buy Decision”
23
system Xsystem X
reusereuse
simple (0.30)simple (0.30)
difficult (0.70)difficult (0.70)
minorminor changeschanges
(0.40)(0.40)
majormajor
changeschanges
(0.60)(0.60)
simple (0.20)simple (0.20)
complex (0.80)complex (0.80)
majormajor changeschanges (0.30)(0.30)
minorminor changeschanges
(0.70)(0.70)
$380,000$380,000
$450,000$450,000
$275,000$275,000
$310,000$310,000
$490,000$490,000
$210,000$210,000
$400,000$400,000
buybuy
contractcontract
without changes (0.60)without changes (0.60)
with changes (0.40)with changes (0.40)
$350,000$350,000
$500,000$500,000
buildbuild
Computing Expected Cost
expected cost =expected cost = (path probability) x (estimated path cost)(path probability) x (estimated path cost)
ii ii
For example, the expected cost to build is:For example, the expected cost to build is:
expected cost = 0.30($380K)+0.70($450K)expected cost = 0.30($380K)+0.70($450K)
buildbuild
= $429 K= $429 K
Similarly,Similarly,
expected cost = $382Kexpected cost = $382K
reusereuse
expected cost = $267Kexpected cost = $267K
buybuy
24
expected costexpected cost = $410K= $410K
contractcontract
The Decision Making Process
• Cost is NOT the only criterion to consider while
making a decision.
• Many other criteria (not just cost ) must be
considered during the decision making process.
– Availability
– Experience of the developer/vendor/contractor
– Conformance to requirements
– Local “politics”
– Likelihood of change
25
Outsourcing
 What is outsourcing?
• Outsourcing is the practice of turning over
responsibility of some or all of an organization's
information systems applications and operations to
an outside firm.
– Hiring an external vendor, developer, or service provider
to create the system
– Requires least amount of resources and little in-house
experience
– Gives access to greater resources and experience
– Can be a good alternative for a new system
– Has become quite popular in recent years
26
Outsourcing
 What are the reasons to outsource?
– Cost-effective
– Take advantage of economies of scale
– Free up internal resources
– Reduce time to market
– Increase process efficiencies
– System development is a non-core activity for the
organization
27
Outsourcing
 What are the possible risks in outsourcing?
• Risks include possibly
– Losing confidential information
– Losing control over future development
– Losing learning opportunities
– Expertise is transferred to the outside
organization
28
Project Estimation: Summary
• Software cost & effort estimation will never be an
exact science, because too many variables involved –
– Human
– Technical
– Environmental
– Political
• But a combination of good historical data and
systematic techniques can improve estimation
accuracy.
29

More Related Content

What's hot

Project scheduling and tracking
Project scheduling and trackingProject scheduling and tracking
Project scheduling and tracking
Computer_ at_home
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
Nur Islam
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
Priya Tomar
 
Software metrics
Software metricsSoftware metrics
Software metrics
syeda madeha azmat
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
Muhammad Yousuf Abdul Qadir
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
Software quality
Software qualitySoftware quality
Software quality
Sara Mehmood
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
Parminder Singh
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
ubaidullah75790
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
REHMAT ULLAH
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
Santhi thi
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
KarthigaiSelviS3
 
Software project management Improving Team Effectiveness
Software project management Improving Team EffectivenessSoftware project management Improving Team Effectiveness
Software project management Improving Team Effectiveness
REHMAT ULLAH
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
lalithambiga kamaraj
 
Code generation
Code generationCode generation
Code generation
Aparna Nayak
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
HendMuhammad
 

What's hot (20)

Project scheduling and tracking
Project scheduling and trackingProject scheduling and tracking
Project scheduling and tracking
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software quality
Software qualitySoftware quality
Software quality
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Software project management Improving Team Effectiveness
Software project management Improving Team EffectivenessSoftware project management Improving Team Effectiveness
Software project management Improving Team Effectiveness
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Code generation
Code generationCode generation
Code generation
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 

Similar to Software Engineering (Project Planning & Estimation)

Software engineering 8 Software project planning
Software engineering 8 Software project planningSoftware engineering 8 Software project planning
Software engineering 8 Software project planning
Vaibhav Khanna
 
project planning-estimation
project planning-estimationproject planning-estimation
project planning-estimation
Reetesh Gupta
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptx
TangZhiSiang
 
Softwareproject planning
Softwareproject planningSoftwareproject planning
Softwareproject planning
saurabhshertukde
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
ShauryaGupta38
 
Software Engineering Software Project Management
Software Engineering Software Project ManagementSoftware Engineering Software Project Management
Software Engineering Software Project Management
Dr Anuranjan Misra
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
ADARSHN40
 
3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx
AbhishekKumar66407
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
saman Iftikhar
 
5_6134023428304274682.pptx
5_6134023428304274682.pptx5_6134023428304274682.pptx
5_6134023428304274682.pptx
gamingpro22
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Rupesh Vaishnav
 
Week 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptxWeek 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptx
syedusama54
 
Software estimation models ii lec .05
Software estimation models ii lec .05Software estimation models ii lec .05
Software estimation models ii lec .05
Noor Ul Hudda Memon
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
Shree M.L.Kakadiya MCA mahila college, Amreli
 
SPM 3.pdf
SPM 3.pdfSPM 3.pdf
SPM 3.pdf
1688JASMEETSINGH
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
SIMONTHOMAS S
 
Chapter 2.ppt
Chapter 2.pptChapter 2.ppt
Chapter 2.ppt
amanuel236786
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdf
austdali
 

Similar to Software Engineering (Project Planning & Estimation) (20)

Software engineering 8 Software project planning
Software engineering 8 Software project planningSoftware engineering 8 Software project planning
Software engineering 8 Software project planning
 
project planning-estimation
project planning-estimationproject planning-estimation
project planning-estimation
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptx
 
Softwareproject planning
Softwareproject planningSoftwareproject planning
Softwareproject planning
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Software Engineering Software Project Management
Software Engineering Software Project ManagementSoftware Engineering Software Project Management
Software Engineering Software Project Management
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
 
3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
5_6134023428304274682.pptx
5_6134023428304274682.pptx5_6134023428304274682.pptx
5_6134023428304274682.pptx
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Week 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptxWeek 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptx
 
Software estimation models ii lec .05
Software estimation models ii lec .05Software estimation models ii lec .05
Software estimation models ii lec .05
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 
SPM 3.pdf
SPM 3.pdfSPM 3.pdf
SPM 3.pdf
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Chapter 2.ppt
Chapter 2.pptChapter 2.ppt
Chapter 2.ppt
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdf
 

More from ShudipPal

Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
ShudipPal
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
ShudipPal
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
ShudipPal
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)
ShudipPal
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
ShudipPal
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
ShudipPal
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
ShudipPal
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)
ShudipPal
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )
ShudipPal
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
ShudipPal
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
ShudipPal
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
ShudipPal
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)
ShudipPal
 

More from ShudipPal (16)

Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)
 

Recently uploaded

Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024
khabri85
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
PriyaKumari928991
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
RuchiRathor2
 
Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17
Celine George
 
Accounting for Restricted Grants When and How To Record Properly
Accounting for Restricted Grants  When and How To Record ProperlyAccounting for Restricted Grants  When and How To Record Properly
Accounting for Restricted Grants When and How To Record Properly
TechSoup
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapitolTechU
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
yarusun
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Quiz Club IIT Kanpur
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Kalna College
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
Kalna College
 
Observational Learning
Observational Learning Observational Learning
Observational Learning
sanamushtaq922
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
Frederic Fovet
 
pol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdfpol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdf
BiplabHalder13
 
220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology
Kalna College
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
MJDuyan
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
roshanranjit222
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
Erasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES CroatiaErasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES Croatia
whatchangedhowreflec
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
MattVassar1
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
ShwetaGawande8
 

Recently uploaded (20)

Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
 
Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17
 
Accounting for Restricted Grants When and How To Record Properly
Accounting for Restricted Grants  When and How To Record ProperlyAccounting for Restricted Grants  When and How To Record Properly
Accounting for Restricted Grants When and How To Record Properly
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
 
Observational Learning
Observational Learning Observational Learning
Observational Learning
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
 
pol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdfpol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdf
 
220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
Erasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES CroatiaErasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES Croatia
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
 

Software Engineering (Project Planning & Estimation)

  • 1. Software Engineering (CSI 321) Project Planning & Estimation 1
  • 2. Introduction • Software project management begins with a set of activities that are collectively called project planning. • The software project planner must estimate three things before a project begins: – How long it will take? – How much effort will be required? – How many people will be involved? • In addition, the planner must predict the resources (h/w & s/w) that will be required and the risk involved. 2
  • 3. Introduction • Software project planning encompasses five major activities – 1) Estimation 2) Scheduling 3) Risk analysis 4) Quality management planning 5) Change management planning 3
  • 4. Project Planning • The overall goal of project planning is to establish a logical strategy for controlling, tracking, and monitoring a complex technical project. • Why? – So that end result gets done on time, with quality! 4
  • 5. The Project Planning Process • The objective of software project planning is to provide a framework that enables the manager to make reasonable estimates of resources, cost, and schedule. • The project plan must be adapted and updated as the project proceeds. – The more you know, the better you estimate. So, update your estimates as the project progresses. 5
  • 6. 6 Task Set for Project Planning 1) Establish project scope 2) Determine feasibility 3) Analyze risks 4) Define required resources – Determine human resources required – Define reusable software resources – Identify environmental resources
  • 7. 7 Task Set for Project Planning 5) Estimate Cost and Effort – Decompose the problem – Develop two or more estimates using size, function points, process tasks or use-cases – Reconcile the estimates 6) Develop a project Schedule – Establish a meaningful task set – Define a task network – Use scheduling tools to develop a timeline chart – Define schedule tracking mechanisms
  • 8. 8 Estimation • Estimation involves determining how much money, effort, resources and time it will take to build a specific software. • Estimation of resources, cost, and schedule for a software engineering effort requires: – Experience – Access to good historical information (metrics) – The courage to commit to quantitative predictions when qualitative information is all that exists • Estimation carries inherent risk and this risk leads to uncertainty.
  • 9. To Understand Scope ... • Understand the customers needs • Understand the business context • Understand the project boundaries • Understand the customer’s motivation • Understand the likely paths for change • Understand that ... Even when you understand, nothing is guaranteed! 9
  • 10. Software Scope • Software scope describes: – Functions and features that are to be delivered to end-users – Data that are input and output – “Content” that is presented to users as a consequence of using the software – Performance, constraints, interfaces, and reliability that bound the system. • Scope is defined using one of two techniques: 1) A narrative description of software scope is developed after communication with all stakeholders. 2) A set of use-cases is developed by end-users. 10
  • 11. Feasibility • Once software scope is well-understood, it is necessary to determine the feasibility of the software. • Project feasibility is important, BUT a consideration of business need is MORE important. Why?!!? ==> It does no good to build a high-tech system that no one wants! • Feasibility study is a crucial part of the estimation process. – A study that determines whether a requested system makes economic, technical and operational sense for an organization – Conducted by the Project Manager – Takes place before the system is constructed 11
  • 12. Feasibility • Software feasibility has four solid dimensions – 1) Technology 2) Finance 3) Time 4) Resources • Scoping is not enough. Once scope is understood, the software team & others must work to determine if it can be done within these dimensions. This is a crucial part of estimation process (but often overlooked). 12
  • 14. Resource Estimation • The software project planner must conduct an estimation of the resources required to accomplish the software development effort. • Three major categories of software engineering resources – 1) People(Human Resources) 2) Reusable software components 3) Development environment (hardware & software tools) • Each of the resources is specified with four characteristics – – Description of the resource – A statement of availability – When the resource will be required – Duration of time that resource will be applied 14
  • 15. Resource Estimation 1) Human Resources – Number of people required and skills needed to complete the development project, location of human resources 1) Reusable Software Resources – Off-the-shelf components – Full-experience components – Partial-experience components – New components 1) Environmental Resources – Hardware and software required during the development process 15
  • 16. Software Project Estimation • Project scope must be explicitly defined • Task and/or functional decomposition is necessary • Historical measures (metrics) are very helpful • At least two different techniques should be used • Remember that uncertainty is inherent in the estimation process 16
  • 17. Estimation Options  To achieve reliable cost & effort estimates, a number of options arise – 1) Delay estimation until late in the project – not practical 1) Base estimates on similar projects already completed – work reasonably well 1) Use simple decomposition techniques to estimate project cost and effort 2) Use empirical models for software cost and effort estimation 17
  • 18. Estimation Techniques 1) Past (similar) project experience 2) Decomposition technique – task breakdown and effort estimates – size (e.g., LOC, FP) estimates 1) Empirical techniques use empirically derived expressions for effort & time estimation 18
  • 19. Decomposition Techniques • Size – Lines of code (LOC) – direct approach – Function point(FP) – indirect approach • Software sizing – Fuzzy Logic – Function Point calculation – Standard component – % Change • Process-based estimation – Decomposition based on tasks required to complete the software process framework 19
  • 20. Conventional Methods: LOC/FP Approach • Compute LOC/FP using estimates of information domain values • Use historical data to build estimates for the project 20
  • 21. 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) • An algorithmic software cost estimation model developed by Barry Boehm. The model uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics. • Dynamic Estimation Models – Usually takes time or development phase into account – Software Equation Model 21
  • 22. The Make/Buy Decision • 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. 22
  • 23. A decision tree helps “Make/Buy Decision” 23 system Xsystem X reusereuse simple (0.30)simple (0.30) difficult (0.70)difficult (0.70) minorminor changeschanges (0.40)(0.40) majormajor changeschanges (0.60)(0.60) simple (0.20)simple (0.20) complex (0.80)complex (0.80) majormajor changeschanges (0.30)(0.30) minorminor changeschanges (0.70)(0.70) $380,000$380,000 $450,000$450,000 $275,000$275,000 $310,000$310,000 $490,000$490,000 $210,000$210,000 $400,000$400,000 buybuy contractcontract without changes (0.60)without changes (0.60) with changes (0.40)with changes (0.40) $350,000$350,000 $500,000$500,000 buildbuild
  • 24. Computing Expected Cost expected cost =expected cost = (path probability) x (estimated path cost)(path probability) x (estimated path cost) ii ii For example, the expected cost to build is:For example, the expected cost to build is: expected cost = 0.30($380K)+0.70($450K)expected cost = 0.30($380K)+0.70($450K) buildbuild = $429 K= $429 K Similarly,Similarly, expected cost = $382Kexpected cost = $382K reusereuse expected cost = $267Kexpected cost = $267K buybuy 24 expected costexpected cost = $410K= $410K contractcontract
  • 25. The Decision Making Process • Cost is NOT the only criterion to consider while making a decision. • Many other criteria (not just cost ) must be considered during the decision making process. – Availability – Experience of the developer/vendor/contractor – Conformance to requirements – Local “politics” – Likelihood of change 25
  • 26. Outsourcing  What is outsourcing? • Outsourcing is the practice of turning over responsibility of some or all of an organization's information systems applications and operations to an outside firm. – Hiring an external vendor, developer, or service provider to create the system – Requires least amount of resources and little in-house experience – Gives access to greater resources and experience – Can be a good alternative for a new system – Has become quite popular in recent years 26
  • 27. Outsourcing  What are the reasons to outsource? – Cost-effective – Take advantage of economies of scale – Free up internal resources – Reduce time to market – Increase process efficiencies – System development is a non-core activity for the organization 27
  • 28. Outsourcing  What are the possible risks in outsourcing? • Risks include possibly – Losing confidential information – Losing control over future development – Losing learning opportunities – Expertise is transferred to the outside organization 28
  • 29. Project Estimation: Summary • Software cost & effort estimation will never be an exact science, because too many variables involved – – Human – Technical – Environmental – Political • But a combination of good historical data and systematic techniques can improve estimation accuracy. 29
  翻译: