0% found this document useful (0 votes)
52 views

Software Project Planning: Basic Objective

The document discusses software project planning. It describes the basic objective of planning as creating a path to a successful project by defining processes, estimating costs and schedules, and identifying risks. The main output is a project management plan and schedule. Key planning tasks include defining processes, estimating effort and costs, scheduling milestones, and identifying risks. COCOMO models are also summarized as approaches to algorithmic cost estimation.

Uploaded by

Wardah Imdad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Software Project Planning: Basic Objective

The document discusses software project planning. It describes the basic objective of planning as creating a path to a successful project by defining processes, estimating costs and schedules, and identifying risks. The main output is a project management plan and schedule. Key planning tasks include defining processes, estimating effort and costs, scheduling milestones, and identifying risks. COCOMO models are also summarized as approaches to algorithmic cost estimation.

Uploaded by

Wardah Imdad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 16

Software Project Planning

Basic objective
 To create a plan to meet the commitments of the project, I.e. create a path that, if
followed, will lead to a successful project
 Planning involves defining the software development life cycle process to be
followed, cost & effort estimates, detailed schedule, plan for quality, risk
management, etc.
Main Output
 A project management plan and the project schedule
Key Planning Tasks
 Define suitable processes for executing the project
 Estimate effort & cost
 Define project milestones and create a schedule
 Define quality objectives and a quality plan
 Identify risks and make plans to mitigate them
 Define project-tracking procedures, training plan, team organization, etc.

Software Engineering 1
Cont…

 Software project managers are responsible for planning and scheduling project
development.

 They supervise the work to ensure that it is carried out to the required standard and
quality. They monitor to check that the development is on time and within budget.

 The project planning must incorporate the major issue like project size estimation,
cost & effort estimation, scheduling, project monitoring and reviews, personnel
selection and evaluation, and risk management.

 Software planning begins before technical work starts, continues as the software
evolves from concept to reality, and ends only when the software is retired.

Software Engineering 2
Project Planning

 In order to conduct a successful software project, we must understand


 Scope of product to be developed
 The risk to be incurred
 The resources required
 Tasks to be accomplished
 The cost to be expended
 The schedule to be followed
 The project size is the key parameter for estimation of other planning activities.

 It is an input to all cost estimation models, development time and schedule for the
project.

Software Engineering 3
Project Planning

 Resources requirements are estimated on the basis of cost and development time.

 Project scheduling may prove to be very useful for controlling and monitoring the
progress of the project. This is dependent on the resources and development time.

Size Estimation

Cost & Effort Estimation Development Time

Resources Requirements

Project Scheduling
Software Engineering 4
Project Cost Estimation

 Organizations need to make software effort and cost estimates. Effort


estimate is key to planning activities - schedule, cost, resources depend on
it
 There are two types of technique that can be used to do this:

 Experience-based techniques
 The estimate of the effort required to develop the software project is based on
the manager’s experience of past projects and the application domain.
 Essentially, the manager makes an informed judgment of what the effort
requirements are likely to be.
 Algorithmic cost modeling
 In this approach, a formulaic approach is used to compute the project effort
based on estimates of product attributes, such as size.

Software Engineering 5
Project Cost Estimation (Estimate Uncertainty)

 Estimation accuracy can improve with more information about the project
 Early estimates are more likely to be inaccurate than later
 More uncertainties in the start

 With more info, estimation becomes easier

Software Engineering 6
Experience Based Approach

 Experience-based techniques rely on judgments based on experience of past


projects and the effort expended in these projects on software development
activities.

 Typically, you identify the deliverables to be produced in a project to be developed.

 You document these in a spreadsheet, estimate them individually and compute the
total effort required.

 It usually helps to get a group of people involved in the effort estimation and to ask
each member of the group to explain their estimate.

Software Engineering 7
Problem with Experience Based Approach

 The difficulty with experience-based techniques is that a new software project may
not have much in common with previous projects.

 Software development changes very quickly and a project will often use unfamiliar
techniques such as web services, application system configuration or HTML5.

 If you have not worked with these techniques, your previous experience may not
help you to estimate the effort required, making it more difficult to produce
accurate costs and schedule estimates.

Software Engineering 8
Algorithmic Cost Estimation

 Cost is estimated as a mathematical function of project attributes whose values


are estimated by project managers:

 Effort = A * SizeB

 The most commonly used product attribute for cost estimation is code size.

 Most models are similar but they use different values for A and B.

 COCOMO (Cost Constructive Model) is widely used to estimate the effort and
cost.

Software Engineering 9
COCOMO (Basic Model)

 The basic model aims at estimating the effort in a quick and rough fashion for
the most of the small to medium sized software projects.

 COCOMO considers three modes of the software development : Organic, Semi


– detached and Embedded.

 Organic Mode
 In the organic mode, small sized projects are developed by small team of experienced
developers in the very familiar environment.

 In this mode, project size falls between 2 to 50 KLOC.

Software Engineering 10
COCOMO (Basic Model)

 Embedded Mode
 In embedded mode, large size projects are developed. In this mode, projects to be
developed are unique, innovative and very complex (Real Time Systems, Complex
Interfaces).

 Developers have little previous experience of developing these kind of projects.


Typically project size may be as large as it crosses 300 KLOC.

 Semi – detached Mode


 Everything in between of the above two modes, falls within the semi detached mode
of software development.

Software Engineering 11
COCOMO (Basic Model)

 The basic COCOMO equation takes the form

E = a (KLOC)b

D = c (E)d

 Where E is the effort required in Person – Month, and D is the development


time in months. a, b, c and d are project based coefficients.

Project a b c d
Organic 2.4 1.05 2.5 0.38
Semi - detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32

Software Engineering 12
COCOMO (Basic Model)

Software Engineering 13
COCOMO (Intermediate Model)

 The basic model allowed for a quick and rough estimate, but it resulted in a lack
of accuracy.
 Berry Boehm introduced an additional set of 15 cost drivers in the intermediate
model to take account of the software development environment.
 Cost drivers are used to adjust the nominal cost of a project to the actual project
environment, hence increasing the accuracy of the estimate.
 The cost drivers are grouped into four categories:
 Product Attributes
 Required software reliability (RELY)
 Database Size (DATA)
 Product Complexity (CPLX)
 Computer Attributes
 Execution time constraint (TIME)
 Main storage constraint (STOR)
 Virtual Machine Volatility (VIRT)
 Computer Turnaround Time (TURN)
Software Engineering 14
COCOMO (Intermediate Model)

 Personnel Attributes
 Analyst capability (ACAP)
 Application experience (AEXP)
 Programmer Capability (PCAP)
 Virtual Machine Experience (VEXP)
 Programming Language Experience (LEXP)
 Project Attributes
 Modern Programming Practices (MODP)
 Use of Software Tools (TOOL)
 Required Development Schedule (SCED)

 Each cost driver is rated for a given project environment. This rating varies from very
low, low, nominal, high, very high to extra high. Each of the rating is associated with the
multiplier values for the 15 cost drivers.

Software Engineering 15
COCOMO (Intermediate Model)

 The multiplying factors for all 15 cost drivers are multiplied to get the Effort
Adjustment Factor (EAF).
 The intermediate COCOMO equations take the form

E = a (KLOC)b * EAF
D = c (E)d

Project a b c d
Organic 3.2 1.05 2.5 0.38
Semi - detached 3.0 1.12 2.5 0.35
Embedded 2.8 1.20 2.5 0.32

Software Engineering 16

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy