You are on page 1of 17

Project Planning

CIS 375
Bruce R. Maxim
UM-Dearborn

1
Planning Objectives
To provide a framework that allows a
software manager to make an estimate
of resources, cost, and schedule.
Project outcomes should be bounded by
'best case' and 'worst case' scenarios.
Estimates should be updated as the
project progresses.

2
Software Scope
data to be processed or produced
control parameters
function
performance
constraints
external interfaces
reliability
3
Scope Definition
Determine the customer's overall goals for
the proposed system and any expected
benefits.
Determine the customer's perceptions
concerning the nature of a good solution to
the problem.
Evaluate the effectiveness of the customer
meeting.

4
Product Feasibility
Technical feasibility is not a good
enough reason to build a product.
The product must meet the customer's
needs and not be available as an off-
the-shelf purchase.

5
Resource Estimation
Human Resources
number of people required and skills needed to
complete the development project
Project Methods and Tools
Reusable Software Resources
off-the-shelf components
modifiable components
new components
Development Environment
hardware and software required during the
development process
6
Estimation Options
Delay estimation until late in the project.
Base estimates on similar projects already
completed.
Use simple decomposition techniques to
estimate project cost and effort.
Use empirical models for software cost and
effort estimation.
Automated tools may assist with project
decomposition and estimation.

7
Decomposition Techniques -1
Software sizing
fuzzy logic
function point calculation
standard component
%change
Process-based estimation
decomposition based on tasks required to
complete the software process framework

8
Decomposition Techniques - 2
Problem-based estimation
using lines of code (LOC) decomposition
focuses on software functions
using function point (FP) decomposition
focuses on information domain
characteristics

9
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
10
Regression

11
Correlation and Regression
Mean = (xi)/n
Variance
x = (xi2)/n - (mean)2
Covariance
xy = (xi yi)/n (meanx)(meany)
Correlation
r = xy / x y
Regression
y = mx + b
m = xy / (x)2
b = meany m * meanx
12
X Y X^2 X*Y Y^2

1 1 1 1 1

3 2 9 6 4

4 4 16 16 16

6 4 36 24 16

8 5 64 40 25

9 7 81 63 49

11 8 121 88 64

14 9 190 126 81

56 40 524 364 256


Totals
13
14
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.

15
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. 16
Decision Tree

17

You might also like