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
Your organization's historical cost to fix errors after releasing new software to the customer, in dollars per error. We recommend obtaining this value from your contracts or financial planning group; otherwise use $10,000/error as a default value. Uses dollars ($) for units.
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.
The total financial benefit to the project due to your organization's reuse effort. We calculate Organizational ROI by subtracting your Additional Development Cost (ADC) from your Reuse Cost Avoidance (RCA). Uses dollars ($) for units.
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's ability to reuse the software. This calculator does not address software reusability.
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't have to write the code) and during maintenance (because you don't have to fix errors in the code) the RCA equals the sum of Development Cost Avoidance (DCA) and Service Cost Avoidance (SCA). Uses dollars ($) for units.
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)
A productivity index based on both the amount of reuse achieved by an organization and the amount of the organization's software actually reused by other organizations. We calculate the RVA by dividing the total amount of an organization's software in service by the amount of software the organization maintains.
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 organization's historical error rate by the historical cost to fix those errors and by the amount of reused code (RSI). Uses dollars ($) for units.
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 occurance 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.
Jeff Poulin owns this page.