Lecture Notes for CS 325
Project Management Motivations and Objectives, 16 April 2001
- motivation
- complex, interacting systems need guidance
- many skills required in a software project
- dealing with problems
- objectives
- management - plan activity, control activity, terminate activity
- planning requires estimation - cost, schedule, personnel; qa,
configuration, risk
- cost estimation
- cost estimates used in bidding, budgeting, and planning
- principle costs are time and money
- hardware and software, personnel, overhead costs
- formal cost estimates
- difficulties with cost estimation
- data quality in the estimates - better data leads to better estimates
- later data is better data because its more accurate
- the range of accuracy deviance decreases as projects advance
- with 20% is a good estimate due to slack in the system
- cost estimate models
- a cost-estimate model is a function accepting inputs and producing an
estimate as the output
- what is the function, and what are the inputs
- possible inputs include size, staff characteristics, complexity,
reliability requirements
- more, and more complicated, parameters lead to more complex, but
possibly more accurate, models
- find and measure one or two important inputs, and use a simple
function
- the most important input usually resolves to project size
- loc estimates, or function points
- simple functions
- exponential - effort = a*sizeb
- linear - effort = a*size + b
- fudge factors a and b are determined from statistical
analysis of past projects
- small projects are linear, large projects are exponential
- size estimation
- size measures don't exist early in the project - estimate
- size estimates are tangible and can be linearly combined
- garbage in, garbage out
- size estimates should be detailed, usually are subjective
- the constructive cost model (cocomo)
- a more complicated model - defining project types; adjusting the
size-cost relation with other factors
- project types - organic, semidetatched, and embedded
- organic - small, less rigorous projects
- embedded - large, rigorous, unfamiliar projects
- semidetatched - inbetween organic and embedded
- nominal estimate, determine affecting factors, multiply together
- nominal estimate is an exponential model - model parameters are
determined by the project type
- fifteen cost driver attributes
- product - required reliability, product complexity
- computer - storage, response time
- personnel - programmer experience, tool experience
- project - practices, tools availability
- each attribute is rated 0 through 4 and assigned a multiplier
- all attributes are multiplied to form an effort adjustment factor
- the nominal estimate is multiplied by the eaf to find the final
estimate
- attributes are global, but can be adjusted by local factors
- breaking up a unified cost estimate into phases
- a project size-phase table per project type
- project types shift around phase percentages
- further phase subdivisions into components or modules
- cocomo is actually three models - simple, intermediate, and detailed
This page last modified on 16 April 2001.