Google Answers Logo
View Question
 
Q: Software Eng. ( Answered 4 out of 5 stars,   0 Comments )
Question  
Subject: Software Eng.
Category: Miscellaneous
Asked by: jplhix-ga
List Price: $12.00
Posted: 21 Jan 2003 12:10 PST
Expires: 20 Feb 2003 12:10 PST
Question ID: 146618
A code module is reused, unchanged, in a new product.  In what ways
does this reuse reduce the overall cost of the product?  In what ways
is the cost unchanged?
 
Suppose that a code module is reused with one change; an addition
operation is changed to a subtraction.  What impact does this minor
change have on the savings of the problem above.
Answer  
Subject: Re: Software Eng.
Answered By: maniac-ga on 21 Jan 2003 16:51 PST
Rated:4 out of 5 stars
 
Hello Jplhix,

[In what ways does this reuse reduce the overall cost of the product?
In what ways is the cost unchanged?]
There is a *small* cost generally in the "as-is" reuse of a code
module. Studies by Barry Boehm at USC:
  http://sunset.usc.edu/research/COCOMOII/cocomo_main.html
[look at the 1995 papers for a chart of non-linear reuse costs]
The STC paper is the one I use in references to figures, etc.
  http://sunset.usc.edu/research/COCOMOII/Docs/stc.pdf
look at figure 3 for a good chart that illustrates the costs for
reusing software.

indicate this cost is about 5%-10% of the original development and is
assumed due to:
 - effort to select the code module for reuse
 - effort to understand the what the module does
 - effort to check interfaces with the module
So, if you reuse a code module the development effort is far less than
to develop from scratch. However, there are other "costs" such as
memory, CPU time, and so on that are unchanged with reuse of a code
module.

[Suppose that a code module is reused with one change; an addition
operation is changed to a subtraction.  What impact does this minor
change have on the savings of the problem above.]
From the same paper, the costs of change grow dramatically from the
low level until at the 10% change level, the cost of development is
about 55% of the original development cost. The factors that make up
this cost includes:
 - effort to identify where the change is needed
 - effort to make the change
 - effort to retest the change
and so on.

This kind of analysis has been repeated in other studies as well. A
good set of search phrases include:
  software cost reuse
  cocomo (or software cost model)
  personal software process
and so on. These links provide more background information. The last
one describes a method where an individual developer can improve their
development process and determine the effort required to reuse code,
modify code, and develop new software.

  --Maniac
jplhix-ga rated this answer:4 out of 5 stars
Thanks for thorough research.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy