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
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
Post a Comment