Sections


Main-Menu

header image

Cost Estimation


Cost Estimation

  • The necessity of cost estimation stems from the requirements of scheduling and cost planning. For lack of more precise methods, cost estimation for software development is almost always based on a comparison of the current project with previous ones. Due to the uniqueness of software systems, the number of comparable projects is usually quite small, and empirical data are seldom available. But even if there are exact cost records of comparable projects, these data are based on the technical and organizational conditions under which the comparable project was carried out at that time.
  • The technical and organizational conditions are variable parameters, which makes empirical data from comparable projects only an unreliable basis for estimates.

Cost estimation models

  • COCOMO Model,
  • Putnam Estimation Model
  • Function Point Model.

Factors for cost and time estimates

  • Experience and qualifications of the estimator
  • Type of software (e.g., function-, data- or object-oriented, time-critical software with high efficiency requirements, control and monitoring software with high quality requirements)
  • Anticipated complexity (e.g., number of components (modules, classes), number of component couplings, number of methods per class, complexity of methods)
  • Expected size of program (number of statements)
  • Experience and qualifications of personnel (e.g., project experience, programming experience, knowledge of methods, experience in use of tools, knowledge of problem domain)
  • Techniques and tools to be used (e.g., planning, design and documentation techniques, test strategies and tools, programming languages)
  • Number of staff members

Relationship between the best and worst programming experience (referring to the same task

Program size …………………………………………. 5 : 1
Coding time…………………………………………… 25 : 1
Required testing time………………………………. 26 : 1
Required computation time………………………. 11 : 1
Execution time of finished program……………13 : 1

The time requirement for each task handled in a team consists of two basic components

  • Productive work
  • Communication and mutual agreement of team members

If no communication were necessary among team members, then the time requirement t for a project would decline with the number n of team members

t » 1/n

If each team member must exchange information with one other and that the average time for such communication is k, then the development time follows the formula:

t » 1/n + k. n2/2

Important
“Adding manpower to a late software project makes it later.” ([Brooks 1975])

  • Most empirical values for cost estimation are in-house and unpublished. The literature gives few specifications on empirical data, and these often diverge pronouncedly. The values also depend greatly on the techniques and tools used.
  • Distribution of the time invested in the individual phases of software development (including the documentation effort by share) according to the selected approach model and implementation technique ([Pomberger 1996]):

Approach model: classical sequential software life cycle
Implementation technique: module-oriented
problem analysis and system specification……. 25%
design……………………………………………………….. 25%
implementation………………………………………….. 15%
testing………………………………………………………. 35%

Approach model: prototyping-oriented software life cycle
Implementation technique: module-oriented
problem analysis and system specification……. 40%
design……………………………………………………….. 25%
implementation………………………………………….. 10%
testing………………………………………………………. 25%

Approach model: object- and prototyping-oriented software life cycle Implementation technique: object-oriented
problem analysis and system specification……. 45%
design……………………………………………………….. 20%
implementation………………………………………….. 8%
testing………………………………………………………. 27%

(These values can only be used as rough guidelines.)


Related Articles :



Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.


Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/koolkamp/public_html/engineering-notes-1/wp-content/themes/ankur/footer.php on line 6

Warning: include(http://www.koolkampus.com/commoncode.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/koolkamp/public_html/engineering-notes-1/wp-content/themes/ankur/footer.php on line 6

Warning: include() [function.include]: Failed opening 'http://www.koolkampus.com/commoncode.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/koolkamp/public_html/engineering-notes-1/wp-content/themes/ankur/footer.php on line 6