SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
A Cost Model for Software Reuse

                                      Ralph M. DeFrangesco
                            rdefrangesco@advancedconsultinggroup.biz



Abstract                                              This paper applies basic business concepts such
With rising costs, delivery dates shrinking and
                                                      as Return on Investment (ROI) and Payback
resources becoming scarce, a reuse strategy is
                                                      along with reuse specific concepts such as Cost
perhaps one of the most important strategies a
                                                      of Reuse and Cost of Writing a Reusable Asset
company could have.
                                                      and presents them in an easy to use format with
The value, payback and return on investment
                                                      examples.
that reuse can bring is often difficult to
calculate. This paper applies basic business
                                                      1.1 What is reuse?
formulas to cost modeling for software reuse.
                                                      Reuse is a process, an applied concept and a
This paper is not intended to be a comprehensive
                                                      paradigm shift for most people.
guide to reuse.
                                                      There are many definitions for reuse. In plain
                                                      and simple words, reuse is, “The process of
Keywords                                              creating new software systems from existing
Reuse, Software Reuse, Software Cost
                                                      software assets rather then building new ones”.
Estimation, Reuse Cost



1 Introduction                                        1.2 What kinds of things get reused?
The concept of reuse is not a new one. It is
                                                      When we think of reuse, we tend to think of
however    relatively    new    to   the   software
                                                      software specific assets. Many artifacts can be
profession. Every Engineering discipline from
                                                      reused      including;      code,      documentation,
Mechanical, Industrial, Hydraulic, Electrical, etc,
                                                      standards, test cases, objects, components and
understands the concept of reuse. However,
                                                      design models.
Software Engineers often feel the need to be
creative and like to design “one time use”
                                                      According to a leading reuse vendor, these
components. They relegate in the fact they come
                                                      specific items get reused the most: Security
up with unique solutions.
                                                      Components,         Error           checking/handling,
                                                      Frameworks/Web based commerce, Data access
Senior technology managers often have a hard
                                                      objects (middleware), Process templates for
time convincing their business partners that the
                                                      SDLC (RUP), Open Source.
thousands of dollars they spent on reuse
technology reaps any benefit.
2 Reuse Benefits                                      4 How to develop a reuse strategy
Few organizations argue the benefits of reuse.        Reuse can occur at any level and at any time,
These benefits certainly will vary organization to    planned or not. The most successful programs
organization and to a degree in economic              start at a department level and expand from
rational. Reuse could provide improved                there. Eventually, for a reuse program to be
profitability, higher productivity and quality,       effective, it must be considered an enterprise
reduced project costs, quicker time to market and     program. As we can see in figure 1, artifacts can
a better use of resources. The challenge is to        flow into and out of the reuse repository from a
quantify these benefits.                              number of different sources. This is important to
                                                      note because from an economic perspective, the
                                                      more organizations, internally or externally, that
2.1 Industries that reuse the most                    reuse       the        artifacts,        the       more      return       on

Financial    (Insurance,    Banking,     Consumer     investment.

Lending) and Medical-Pharmaceutical all tend to
embrace reuse. The reason, processes tend to be
similar in nature in these industries. An example                                              C

                                                                          En terp rise
would be the residential loan process is similar in                         Reu se
                                                                           Pr og ram
                                                                                           Comp onent
                                                                                          Developm ent

behavior to the commercial loan process. This
                                                                      U                                              U

makes it a good asset to reuse.
                                                                   Project                                       Application
                                                                   T eam s                                      Deve lopm ent
                                                                                            Reuse
                                                                                            Team
                                                                                                          M
3 Barriers to reuse
If we explore the barriers of reuse, we will see              C                                                             C


                                                                 Artifact                                         Service
that there are quite a few of them. None of which              Develo pmen t                                    Deve lopm ent

                                                                                          Corporation
are insurmountable, but any one could impede
                                                                                              U
reuse.                                                    M = Me asu re
                                                          C = Creator
                                                          U = User




1.) Not being able to show quantifiable results
                                                                                         Figure 1
2.) Reorganization
3.) Money
                                                      According to a recent survey by the Software
4.) Not invented here attitude
                                                      Engineering Institute (Nada and Rine), less than
5.) Complexity/lack of process
                                                      twenty percent of projects collect and measure
6.) Not having the in-house expertise
                                                      reuse metrics.
7.) Mediocre tools

                                                      Also, according to the SEI, of those that did have
                                                      a reuse program, fifty-seven percent of the
                                                      projects realized high commonality within the
requirements analysis phase of the Systems Life           decisions about whether to; reuse or build a one
       Cycle (SLC).                                              time asset, Return on Reuse Investment, and
                                                                 payback period. Reuse economics are generally
       Reuse does not just happen. It needs to be                designed to answer the question: What will be
       planned, executed, measured, monitored and                the financial consequences if we choose X or do
       optimized as shown in figure 2.                           Y? A good reuse business case shows expected
                                                                 ROI consequences of a decision over time and it
                                                                 includes the rationale for quantifying benefits
                                                                 and costs.
Plan    Execute            Measure        Monitor     Optimize


                                                                 Reuse percentage
                                                                 According to Poulin (1996), reuse percentage is
                                                                 the most important statistic to measure first. It
                               Figure 2
                                                                 can be calculated by dividing the amount of
                                                                 software reused by the total software.
       An iterative approach should be taken because
                                                                 Let’s assume we have an application that’s 7000
       reuse should be part of a continual process
                                                                 lines of code (LOC) and we decide that we can
       improvement initiative like CMMI.
                                                                 reuse 3000 LOC in another application we are
                                                                 building. We can calculate our reuse percentage
       Critical success factors:
                                                                 with the following:

           1.) Develop for reuse before developing
                                                                 Reuse percentage = Reused software / Total
                  with reuse as a goal
                                                                 software * 100%
           2.) Develop an ontological approach to
                  reuse (Falbo, Guizzardi, Duarte, 2002)
                                                                 3000 (LOC) / 70000 (LOC) * 100 = 42.8%
           3.) Site taxonomy (searchable)
           4.) Incentive plan for developing reusable
                                                                 So from our example, our reuse percentage is
                  artifacts
                                                                 43% (rounded-up). The higher the reuse
           5.) Must have managements buy-in
                                                                 percentage the better the reuse rate.
                  (funding)
           6.) Be consistent in what you measure and
                                                                 Return On Reuse Investment
                  report
                                                                 Most companies don’t have a good base line to
           7.) Determine a “cost” for reuse of artifacts
                                                                 even begin calculating Return on Investment
                                                                 (ROI). Since we are calculating Reuse, we will
                                                                 change our formula to more accurately reflect its
       5 Reuse economics
                                                                 use – Return on Reuse Investment or RORI.
       Reuse economics are financial tools that support
       planning      and      decision    making–including
RORI will give management an idea as to how                     reusable asset is $50000 and the cost of
well we are using their investment dollars.                     developing an asset for single use is $22000. We
Our formula for RORI is taken from Weston,                      can calculate the cost, or ratio, of writing for
Besley and Brigham (1997):                                      reusability by the following:


RORI = Gains – Costs (investment)                                 Cost of developing the reusable asset
                Costs (investment)                              Cost of developing an asset for single use


RORI = 50000 - 10000                                            Cost = 50000 / 22000
                10000                                           Cost = 2.27
                                                                This number should be as close to 1.00 as
RORI = 4                                                        possible. From the above example we can
                                                                determine that it costs 2.27 times as much to
* Gains are calculated by charging a fee every time the asset   develop the reusable asset.
is reused.

                                                                Cost of reuse
Gains, what we expect to get back on our
                                                                The cost to reuse is the ratio of the cost of
investment, are $50000. The initial investment,
                                                                developing an asset from scratch to the cost of
people and technology cost, is $10000.
                                                                reusing one. Let’s assume our cost to reuse an
This tells us that for ever dollar invested, three
                                                                asset is $10000 and the cost of developing one
will be returned plus the initial investment. The
                                                                from scratch is $22000. We can calculate the
higher the RORI the better the investment is
                                                                cost to reuse with the following formula:
being used.
According to Garrison and Noreen (1997), ROI
                                                                       Cost to reuse
or RORI, tends to favor short run performance in
                                                                Cost to develop from scratch
lieu of longterm profitability. To overcome this,
companies use multiple criteria in evaluating
                                                                Cost = 10000 / 22000
performance such as; Increase in productivity,
                                                                Cost = .45
growth in market share, production innovation
and the ability to expand into new and profitable
                                                                We want this ratio to be under 1.00 as much as
areas.
                                                                possible. The cost to reuse variable should be
                                                                dropping each time an asset is reused.

Cost of writing a reusable asset
                                                                Payback
The cost of writing a reusable asset is the ratio of
                                                                Payback is the length of time required to recover
the cost of developing a single use asset, to the
                                                                the cost of an investment. Let’s look at a
cost of developing a reusable asset. As an
                                                                scenario where a company invests $150000 in
example, let’s assume the cost of developing a
developing a reusable asset. The payback for the     5.1 Interpreting the results
investment can be calculated with the following      So far we managed to get data from some
formula taken from Weston, Besley and Brigham        formulas. But what does it all mean? What if we
(1997):                                              get a good result from one formula and a poor
                                                     result from another? It is possible to get what
Payback Period = A + ( B / C ) where:
                                                     appears to be conflicting results when analyzing
A = Years before final payback year                  financial data. For instance a RORI could be
                                                     high, say 5, and the payback longer then what’s
B = Total to be paid back - Total Paid back at
start of final payback year                          generally accepted by an organization. In order
                                                     to make a good financial investment decision,
C = Total Paid back at the end of final payback      you need to know what factors the financial
year - Total Paid back at the start of the final
payback year.                                        people use in making these decisions. What is
                                                     your companies preferred payback period? What
                                                     percent is a company expecting for their return
                      Paid         Tot paid          on investment? Once we have this information,
 Year     Paid out    back         back              it’s easy to determine if it makes sense to invest
 1            150k           60k               60k
 2                           60k              120k   in a project.
 3                           60k              180k
                                                     5.2 Calculating reuse economics and
A=2
                                                     web services
B = 150 – 120
                                                     It’s much easier to calculate reuse economics
C = 180 – 120                                        using components, documents and test plans then
                                                     with services. A web service is inherently
Payback = 2 + (150-120) / (180-120)
                                                     reusable, but how do we measure and quantify
Payback = 2 + 30/60                                  its use?
                                                     Services that are to be reused should be loosely
Payback = 2.5 years
                                                     coupled, large grained business processes.
From our example, we can see that it takes 2.5       Because of this, the code probably will not be
years to payback the initial investment. Is this a   reused that much, however the service may.
good investment? If a company’s payback
requirement is for three years or less, then yes     Reuse economics can be used however, we need
this would be a good investment. Keep in mind        to calculate them in a different manor. We could
that payback does not consider the time value of     substitute number of times a service is called in
money – what the investment could be making          place of lines of code. We could also look at the
now.                                                 number of transactions through the service or
                                                     chargeback as a utility, a flat rate plus utilization.
Whatever method you use to calculate reuse               Acknowledgements
economics, it should be consistent across all your       I would like to thank Sharon Fay from Flashline
services.                                                Inc. and Thomas Murphy from MetaGroup for
                                                         their insightful input into this paper.
Conclusions                                              References
From the paper we can conclude that a cost
                                                         Falbo.R., Guizzardi.G., Duarte.K., “An
estimation model is needed in conjunction with           Ontological Approach to Domain Engineering”,
any reuse program. Reuse programs require an             SEKE, July, 2002, ACM 1-58113-556-4/02/0700
investment in people, process and technology.
To ask for such an investment without showing            Nada. N., Rine. D., “A validated software reuse
                                                         reference model supporting component-based
its   economic    value,   is    naïve.     Financial    management”, SEI, 2004
professionals expect Information Technologist to
apply financial rational        when      asking   for   Poulin. J., “Software Reuse Mectrics, Reusibility
investment dollars. Several basic financial              Metrics and Economic Models: A Tutorial”,
                                                         Loral Federal Systems, 1996
models with examples have been presented and
can easily be adapted to real world problems.
                                                         Weston, J., Besley, S., Brigham, E., “Essentials
Web services, which are reusable by design and           of Managerial Finance”, The Dryden Press, 1997
tend to require a large investment, can be folded
into our economic model thereby showing                  Garrison, R., Noreen, E., “Managerial
benefit and economic investment rational.                Accounting”, Irwin, 1997




Future Work

As we have seen, calculating the quantitative
benefits of reuse is straightforward. This paper
did not touch on the qualitative benefits. We
make subjective statements such as, quality will
improve, or employee satisfaction will meliorate,
but cannot substantiate them. This is important
because we can economically rationalize results,
but does it mean they will mesh with qualitative
estimates? It would be beneficial to integrate a
quantitative and a hermeneutics framework to
legitimize a reuse program that provides a
holistic point of view.

Weitere Àhnliche Inhalte

Was ist angesagt?

CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsKwangshin Oh
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28koolkampus
 
Cots integration
Cots integrationCots integration
Cots integrationSaransh Garg
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemseSAT Publishing House
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringMuhammad Chaudhry
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineeringgourav kottawar
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesProf. Amir Tomer
 
Bse 3105 lecture 4-software re-engineering
Bse 3105  lecture 4-software re-engineeringBse 3105  lecture 4-software re-engineering
Bse 3105 lecture 4-software re-engineeringAlonzee Tash
 

Was ist angesagt? (20)

CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design Patterns
 
Reusability
ReusabilityReusability
Reusability
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Cots integration
Cots integrationCots integration
Cots integration
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Ch17 distributed software engineering
Ch17 distributed software engineeringCh17 distributed software engineering
Ch17 distributed software engineering
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
 
Ui design final
Ui design finalUi design final
Ui design final
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
Reuse landscape
Reuse landscapeReuse landscape
Reuse landscape
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse Alternatives
 
Bse 3105 lecture 4-software re-engineering
Bse 3105  lecture 4-software re-engineeringBse 3105  lecture 4-software re-engineering
Bse 3105 lecture 4-software re-engineering
 

Ähnlich wie A cost model for software reuse

One XP Experience: Introducing Agile (XP) Software Development into a Culture...
One XP Experience: Introducing Agile (XP) Software Development into a Culture...One XP Experience: Introducing Agile (XP) Software Development into a Culture...
One XP Experience: Introducing Agile (XP) Software Development into a Culture...David Leip
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software ReusabilityIJERA Editor
 
KC Cyviz The Future of Collaboration Report - Executive Summary
KC Cyviz The Future of Collaboration Report - Executive SummaryKC Cyviz The Future of Collaboration Report - Executive Summary
KC Cyviz The Future of Collaboration Report - Executive SummaryKjetil Kristensen
 
Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)IT Industry
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.pptRvishnupriya2
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET Journal
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsIJERA Editor
 
Recircle - A Catalyst for Change
Recircle - A Catalyst for ChangeRecircle - A Catalyst for Change
Recircle - A Catalyst for ChangeLocus Research
 
Implementation Roadmap
Implementation RoadmapImplementation Roadmap
Implementation RoadmapRichard Veryard
 
Earnedvalue
EarnedvalueEarnedvalue
EarnedvalueParvin Khan
 
Cut Costs - Fight Recession
Cut Costs - Fight RecessionCut Costs - Fight Recession
Cut Costs - Fight RecessionMomir Boskovic
 
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010Lucas Jellema
 
Reusability Framework for Cloud Computing
Reusability Framework for Cloud ComputingReusability Framework for Cloud Computing
Reusability Framework for Cloud ComputingDr Sukhpal Singh Gill
 
Reuse and S1000D
Reuse and S1000DReuse and S1000D
Reuse and S1000Dshiftsport
 
Oce Sustainability White Paper
Oce Sustainability White PaperOce Sustainability White Paper
Oce Sustainability White Paperjcleary
 
Oce Sustainability White Paper
Oce Sustainability White PaperOce Sustainability White Paper
Oce Sustainability White Papergueste9388
 
Open iT in Dew Journal
Open iT in Dew JournalOpen iT in Dew Journal
Open iT in Dew JournalOpen iT Inc.
 

Ähnlich wie A cost model for software reuse (20)

One XP Experience: Introducing Agile (XP) Software Development into a Culture...
One XP Experience: Introducing Agile (XP) Software Development into a Culture...One XP Experience: Introducing Agile (XP) Software Development into a Culture...
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
 
KC Cyviz The Future of Collaboration Report - Executive Summary
KC Cyviz The Future of Collaboration Report - Executive SummaryKC Cyviz The Future of Collaboration Report - Executive Summary
KC Cyviz The Future of Collaboration Report - Executive Summary
 
Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
 
Occupying Green
Occupying GreenOccupying Green
Occupying Green
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
 
D502023439
D502023439D502023439
D502023439
 
D502023439
D502023439D502023439
D502023439
 
Recircle - A Catalyst for Change
Recircle - A Catalyst for ChangeRecircle - A Catalyst for Change
Recircle - A Catalyst for Change
 
Implementation Roadmap
Implementation RoadmapImplementation Roadmap
Implementation Roadmap
 
Earnedvalue
EarnedvalueEarnedvalue
Earnedvalue
 
Cut Costs - Fight Recession
Cut Costs - Fight RecessionCut Costs - Fight Recession
Cut Costs - Fight Recession
 
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
ODTUG Technical Journal - The Reusability Test - Fusion Column July 2010
 
Reusability Framework for Cloud Computing
Reusability Framework for Cloud ComputingReusability Framework for Cloud Computing
Reusability Framework for Cloud Computing
 
Reuse and S1000D
Reuse and S1000DReuse and S1000D
Reuse and S1000D
 
Oce Sustainability White Paper
Oce Sustainability White PaperOce Sustainability White Paper
Oce Sustainability White Paper
 
Oce Sustainability White Paper
Oce Sustainability White PaperOce Sustainability White Paper
Oce Sustainability White Paper
 
Open iT in Dew Journal
Open iT in Dew JournalOpen iT in Dew Journal
Open iT in Dew Journal
 

KĂŒrzlich hochgeladen

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

KĂŒrzlich hochgeladen (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

A cost model for software reuse

  • 1. A Cost Model for Software Reuse Ralph M. DeFrangesco rdefrangesco@advancedconsultinggroup.biz Abstract This paper applies basic business concepts such With rising costs, delivery dates shrinking and as Return on Investment (ROI) and Payback resources becoming scarce, a reuse strategy is along with reuse specific concepts such as Cost perhaps one of the most important strategies a of Reuse and Cost of Writing a Reusable Asset company could have. and presents them in an easy to use format with The value, payback and return on investment examples. that reuse can bring is often difficult to calculate. This paper applies basic business 1.1 What is reuse? formulas to cost modeling for software reuse. Reuse is a process, an applied concept and a This paper is not intended to be a comprehensive paradigm shift for most people. guide to reuse. There are many definitions for reuse. In plain and simple words, reuse is, “The process of Keywords creating new software systems from existing Reuse, Software Reuse, Software Cost software assets rather then building new ones”. Estimation, Reuse Cost 1 Introduction 1.2 What kinds of things get reused? The concept of reuse is not a new one. It is When we think of reuse, we tend to think of however relatively new to the software software specific assets. Many artifacts can be profession. Every Engineering discipline from reused including; code, documentation, Mechanical, Industrial, Hydraulic, Electrical, etc, standards, test cases, objects, components and understands the concept of reuse. However, design models. Software Engineers often feel the need to be creative and like to design “one time use” According to a leading reuse vendor, these components. They relegate in the fact they come specific items get reused the most: Security up with unique solutions. Components, Error checking/handling, Frameworks/Web based commerce, Data access Senior technology managers often have a hard objects (middleware), Process templates for time convincing their business partners that the SDLC (RUP), Open Source. thousands of dollars they spent on reuse technology reaps any benefit.
  • 2. 2 Reuse Benefits 4 How to develop a reuse strategy Few organizations argue the benefits of reuse. Reuse can occur at any level and at any time, These benefits certainly will vary organization to planned or not. The most successful programs organization and to a degree in economic start at a department level and expand from rational. Reuse could provide improved there. Eventually, for a reuse program to be profitability, higher productivity and quality, effective, it must be considered an enterprise reduced project costs, quicker time to market and program. As we can see in figure 1, artifacts can a better use of resources. The challenge is to flow into and out of the reuse repository from a quantify these benefits. number of different sources. This is important to note because from an economic perspective, the more organizations, internally or externally, that 2.1 Industries that reuse the most reuse the artifacts, the more return on Financial (Insurance, Banking, Consumer investment. Lending) and Medical-Pharmaceutical all tend to embrace reuse. The reason, processes tend to be similar in nature in these industries. An example C En terp rise would be the residential loan process is similar in Reu se Pr og ram Comp onent Developm ent behavior to the commercial loan process. This U U makes it a good asset to reuse. Project Application T eam s Deve lopm ent Reuse Team M 3 Barriers to reuse If we explore the barriers of reuse, we will see C C Artifact Service that there are quite a few of them. None of which Develo pmen t Deve lopm ent Corporation are insurmountable, but any one could impede U reuse. M = Me asu re C = Creator U = User 1.) Not being able to show quantifiable results Figure 1 2.) Reorganization 3.) Money According to a recent survey by the Software 4.) Not invented here attitude Engineering Institute (Nada and Rine), less than 5.) Complexity/lack of process twenty percent of projects collect and measure 6.) Not having the in-house expertise reuse metrics. 7.) Mediocre tools Also, according to the SEI, of those that did have a reuse program, fifty-seven percent of the projects realized high commonality within the
  • 3. requirements analysis phase of the Systems Life decisions about whether to; reuse or build a one Cycle (SLC). time asset, Return on Reuse Investment, and payback period. Reuse economics are generally Reuse does not just happen. It needs to be designed to answer the question: What will be planned, executed, measured, monitored and the financial consequences if we choose X or do optimized as shown in figure 2. Y? A good reuse business case shows expected ROI consequences of a decision over time and it includes the rationale for quantifying benefits and costs. Plan Execute Measure Monitor Optimize Reuse percentage According to Poulin (1996), reuse percentage is the most important statistic to measure first. It Figure 2 can be calculated by dividing the amount of software reused by the total software. An iterative approach should be taken because Let’s assume we have an application that’s 7000 reuse should be part of a continual process lines of code (LOC) and we decide that we can improvement initiative like CMMI. reuse 3000 LOC in another application we are building. We can calculate our reuse percentage Critical success factors: with the following: 1.) Develop for reuse before developing Reuse percentage = Reused software / Total with reuse as a goal software * 100% 2.) Develop an ontological approach to reuse (Falbo, Guizzardi, Duarte, 2002) 3000 (LOC) / 70000 (LOC) * 100 = 42.8% 3.) Site taxonomy (searchable) 4.) Incentive plan for developing reusable So from our example, our reuse percentage is artifacts 43% (rounded-up). The higher the reuse 5.) Must have managements buy-in percentage the better the reuse rate. (funding) 6.) Be consistent in what you measure and Return On Reuse Investment report Most companies don’t have a good base line to 7.) Determine a “cost” for reuse of artifacts even begin calculating Return on Investment (ROI). Since we are calculating Reuse, we will change our formula to more accurately reflect its 5 Reuse economics use – Return on Reuse Investment or RORI. Reuse economics are financial tools that support planning and decision making–including
  • 4. RORI will give management an idea as to how reusable asset is $50000 and the cost of well we are using their investment dollars. developing an asset for single use is $22000. We Our formula for RORI is taken from Weston, can calculate the cost, or ratio, of writing for Besley and Brigham (1997): reusability by the following: RORI = Gains – Costs (investment) Cost of developing the reusable asset Costs (investment) Cost of developing an asset for single use RORI = 50000 - 10000 Cost = 50000 / 22000 10000 Cost = 2.27 This number should be as close to 1.00 as RORI = 4 possible. From the above example we can determine that it costs 2.27 times as much to * Gains are calculated by charging a fee every time the asset develop the reusable asset. is reused. Cost of reuse Gains, what we expect to get back on our The cost to reuse is the ratio of the cost of investment, are $50000. The initial investment, developing an asset from scratch to the cost of people and technology cost, is $10000. reusing one. Let’s assume our cost to reuse an This tells us that for ever dollar invested, three asset is $10000 and the cost of developing one will be returned plus the initial investment. The from scratch is $22000. We can calculate the higher the RORI the better the investment is cost to reuse with the following formula: being used. According to Garrison and Noreen (1997), ROI Cost to reuse or RORI, tends to favor short run performance in Cost to develop from scratch lieu of longterm profitability. To overcome this, companies use multiple criteria in evaluating Cost = 10000 / 22000 performance such as; Increase in productivity, Cost = .45 growth in market share, production innovation and the ability to expand into new and profitable We want this ratio to be under 1.00 as much as areas. possible. The cost to reuse variable should be dropping each time an asset is reused. Cost of writing a reusable asset Payback The cost of writing a reusable asset is the ratio of Payback is the length of time required to recover the cost of developing a single use asset, to the the cost of an investment. Let’s look at a cost of developing a reusable asset. As an scenario where a company invests $150000 in example, let’s assume the cost of developing a
  • 5. developing a reusable asset. The payback for the 5.1 Interpreting the results investment can be calculated with the following So far we managed to get data from some formula taken from Weston, Besley and Brigham formulas. But what does it all mean? What if we (1997): get a good result from one formula and a poor result from another? It is possible to get what Payback Period = A + ( B / C ) where: appears to be conflicting results when analyzing A = Years before final payback year financial data. For instance a RORI could be high, say 5, and the payback longer then what’s B = Total to be paid back - Total Paid back at start of final payback year generally accepted by an organization. In order to make a good financial investment decision, C = Total Paid back at the end of final payback you need to know what factors the financial year - Total Paid back at the start of the final payback year. people use in making these decisions. What is your companies preferred payback period? What percent is a company expecting for their return Paid Tot paid on investment? Once we have this information, Year Paid out back back it’s easy to determine if it makes sense to invest 1 150k 60k 60k 2 60k 120k in a project. 3 60k 180k 5.2 Calculating reuse economics and A=2 web services B = 150 – 120 It’s much easier to calculate reuse economics C = 180 – 120 using components, documents and test plans then with services. A web service is inherently Payback = 2 + (150-120) / (180-120) reusable, but how do we measure and quantify Payback = 2 + 30/60 its use? Services that are to be reused should be loosely Payback = 2.5 years coupled, large grained business processes. From our example, we can see that it takes 2.5 Because of this, the code probably will not be years to payback the initial investment. Is this a reused that much, however the service may. good investment? If a company’s payback requirement is for three years or less, then yes Reuse economics can be used however, we need this would be a good investment. Keep in mind to calculate them in a different manor. We could that payback does not consider the time value of substitute number of times a service is called in money – what the investment could be making place of lines of code. We could also look at the now. number of transactions through the service or chargeback as a utility, a flat rate plus utilization.
  • 6. Whatever method you use to calculate reuse Acknowledgements economics, it should be consistent across all your I would like to thank Sharon Fay from Flashline services. Inc. and Thomas Murphy from MetaGroup for their insightful input into this paper. Conclusions References From the paper we can conclude that a cost Falbo.R., Guizzardi.G., Duarte.K., “An estimation model is needed in conjunction with Ontological Approach to Domain Engineering”, any reuse program. Reuse programs require an SEKE, July, 2002, ACM 1-58113-556-4/02/0700 investment in people, process and technology. To ask for such an investment without showing Nada. N., Rine. D., “A validated software reuse reference model supporting component-based its economic value, is naĂŻve. Financial management”, SEI, 2004 professionals expect Information Technologist to apply financial rational when asking for Poulin. J., “Software Reuse Mectrics, Reusibility investment dollars. Several basic financial Metrics and Economic Models: A Tutorial”, Loral Federal Systems, 1996 models with examples have been presented and can easily be adapted to real world problems. Weston, J., Besley, S., Brigham, E., “Essentials Web services, which are reusable by design and of Managerial Finance”, The Dryden Press, 1997 tend to require a large investment, can be folded into our economic model thereby showing Garrison, R., Noreen, E., “Managerial benefit and economic investment rational. Accounting”, Irwin, 1997 Future Work As we have seen, calculating the quantitative benefits of reuse is straightforward. This paper did not touch on the qualitative benefits. We make subjective statements such as, quality will improve, or employee satisfaction will meliorate, but cannot substantiate them. This is important because we can economically rationalize results, but does it mean they will mesh with qualitative estimates? It would be beneficial to integrate a quantitative and a hermeneutics framework to legitimize a reuse program that provides a holistic point of view.