Software cost estimation and anxiety

Software Cost Estimation


CONTROL the cost of a project
hardware
travel and training
effort costs (SW engineers)


Use historical cost info to develop a model based on some SW metric (like size) related to the cost of the project. An estimate is made of that metric and the model predicts the effort required


Parkinson's law, a project will cost whatever there is available to spend on it


splitting overall cost among components


calculate cost of components and sum to arrive at overall cost


NO SINGLE TECHNIQUE IS ADEQUATE IN ISOLATION


Parameters associated with each model are highly organization dependent


Project cost estimates are self fulfilling; the estimate is used to define the project budget and the product is adjusted to meet the budget


DECISION MAKING AID. Help make decisions.


COCOMO
-communication overhead ~familiarity, complexity


EFFORT = A (KDSI) ^ b   "Effort is exponential function of size"   (Size ~ KDSI)


development schedule TIME required to complete the project given sufficient personnel resources are available


DEVELOPMENT SCHEDULE
PEOPLE


ASSUMPTIONS
productivity estimate
time is a function of effort NOT #of SW engineers


ADDING MORE PEOPLE TO A PROJECT ALREADY BEHIND SCHEDULE IS UNLIKELY TO HELP


product reliability, database size, execution and storage constraints personenelattributes and use of SW tools
PRODUCT ATTRIBUTES, COMPTUER ATTRIBUTES, PERSONNEL ATTRIBUTES, PROJECT


PRODUCT ATTRIBUTES
required software reliability (RELY): This is rated on a scale from very low where a software failure would only result in slight inconvenience, through nominal where a failure would result in moderate recoverable losses, to very high where failure involves risk to human life.


Database size(DATA) This is rated from low where the size of the database(in bytes) is less than 10 times the number of DSIs, through nominal where the database size is between 10 and 100 times the system size,


Product complexity (CPLX) This is rated on a scale very low to extra high low complexity uses simple I/O operations, simple data structures and 'straight line' code. Nominal I/O processing, multi-file input/output, library routines and some inter-module communication. Very high re entrant or recursive code, compelx file handling, complex file handling, parallel processing, complex data management etc

Comments

Popular posts from this blog

ADVERTISING STYLES