Additional Development Cost (ADC)
The cost your organization incurred by writing reusable software for use by other organizations or projects. We calculate ADC by multiplying the historical cost to develop new code by the amount of code written for reuse and adjusting based on the RCWR. For example, with an RCWR = 1.5, the ADC represents an additional cost of 50% over new development.
The financial benefit resulting from not having to expend resources. By reusing software, an organization avoids a cost proportional to the cost of having to develop that software new.
Cost Avoided by Others (ORCA)
The total financial benefit that other organizations experience by reusing your software.
Cost per Error
Development Cost Avoidance (DCA)
The cost your organization avoided during the development phase of the project by reusing software. DCA combines with Service Cost Avoidance to equal the total Reuse Cost Avoidance (RCA) for your organization. We calculate DCA by multiplying the historical cost to develop new code by the amount of reused code (RSI) and adjusting based on the RCR. For example, with an RCR = 0.2, the DCA represents an 80% savings over new development. Uses dollars ($) for units.
The historical error rate in new software developed by your organization, in errors per thousand lines of code. We recommend obtaining this value from your contracts or financial planning group; otherwise use 0.5 errors/kLOC as a default value. Uses errors per thousand lines of code (errors/kLOC) for units.
Use of software from another organization or application; we count external reuse in our economic models.
Use of software within an organization; a normal procedure in software development that does not count as reuse.
Lines of Code (LOC)
(1) A logical line of code in a programming language source file, informally counted by the number of semi-colons in the code and formally counted according to rules established by organizations or code analysis tools. (2) An indicator of overall effort on a program.
New or Changed Source Instructions
The amount of software your organization actually wrote or modified for use only on this application (do not include Source Instructions Written for Reuse by Others). Uses lines of code (LOC) for units.
New Development Cost (Cost/LOC)
The historical cost to develop new software in your organization, in dollars per line of code. We recommend obtaining this value from your contracts or financial planning group; otherwise use the industry average of $100/LOC as a default value. Uses dollars ($) for units.
Organization (of people)
A programming team, department, or other autonomous group with software development responsibility. Many organizations may contribute to software development on a large project.
financial benefit to the project due to your organization
A metric that shows how an organization changes productivity through reuse relative to an organization that does not participate in reuse, which has a productivity index equal to 1.
A large software development effort, typically made up of many organizations.
The use of existing software in a new application, after modifying the software.
Relative Cost of Reuse (RCR)
The portion of the effort that it takes to reuse a component without modification versus writing it new. The RCR can vary depending on several factors and range from about .03 up to about 0.4. We recommend an RCR = 0.2, which means that it takes about 20% of the effort to reuse software as it takes to write it new.
Relative Cost of Writing for Reuse (RCWR)
The portion of the effort that it takes to write a reusable component versus writing it for one-time use only. The RCWR can vary depending on several factors and can range from about 1.0 up to about 2.2. We recommend an RCWR = 1.5, which means that it takes about 50% additional effort to write reusable software.
The attributes or
characteristics of software that affect a developer
The incorporation into an application of unmodified software components obtained from other programs external to the application. These external sources typically include other applications, other organizations, and reuse libraries.
Reuse Cost Avoidance (RCA)
The total financial benefit
to an organization resulting from reuse of software obtained from someplace
else. Since your experience benefits both during development
(because you don
The portion of a program coming from reused software, generally expressed as a percent of the total source lines for the program.
An indicator of the multiplier effect of reuse, used as a productivity index.
The indicator of reuse level based on the definition of RSI.
Reused Source Instruction (RSI)
Software that complies with the reuse definition (counting rules) adopted by IBM, etc. See the reference below for a detailed discussion. Uses lines of code (LOC) for units.
Reuse Value Added (RVA)
index based on both the amount of reuse achieved by an organization and
the amount of the organization
Service Cost Avoidance (SCA)
The cost your organization avoided
during the maintenance phase of the project by reusing software. SCA combines
with Development Cost Avoidance (DCA) to equal the total Reuse Cost
Avoidance (RCA) for your organization. We calculate SCA by multiplying your
Source Instructions Reused by Others (SIRBO)
The total amount of software produced for reuse by your organization that other organizations actually reuse. Calculated by taking the sum of your Source Instructions Written for Reuse by Others over every occurrence of its use. Uses lines of code (LOC) for units.
Source Instructions Written for Reuse by Others (WRO)
The amount of software your organization wrote for reuse (reusable code). This software took extra effort to write, and therefore represents an investment in reuse. Uses lines of code (LOC) for units.
Total Source Instructions
The total number of lines of code in the application delivered by your organization. Calculated by taking the sum of New or Changed Source Instructions, Reused Source Instructions (RSI), and Source Instructions Written for Reuse by Others. Uses lines of code (LOC) for units.
<hr size=2 width="100%" align=center>
Jeff Poulin owns this page.