C.1
INTRODUCTION
This appendix is concerned with the techniques of cost-benefit
calculations, an important part of any systems analysis
effort. Its purpose, of course, is to demonstrate to
the users of the new system, as well as other groups
of managers throughout the organization, that the expected
benefits of the new system exceed the expected costs.
As a junior systems analyst, you may not be involved
in this effort at all, or you may be given the job of
developing a cost-benefit model for a small part of
the overall system. Even as a senior systems analyst
in charge of the entire project, you may not be involved
in the cost-benefit calculations; it may be done, for
example, by a separate, independent financial group.
Or it may not be done at all! Many systems are developed
in organizations simply to meet mandatory government
requirements (e.g., reporting systems for the Equal
Employment Opportunity Act or new systems to deal with
the vagaries of tax legislation). Of course, even in
these cases, when there is no benefit to be derived
from the system (other than the luxury of avoiding penalties
or being allowed to stay in business!), management generally
wants to know what the cost of the system will be; but
this may be carried out as part of the estimating activities
discussed in Appendix B.
There is one other reason why the cost-benefit study
may not be carried out: the user may not want one. Just
as a consumer may not be able to cost-justify a Cadillac
(i.e., he could have done just as well with a small
Honda or even a bicycle), so many users are unable to
cost-justify a new system they have asked for. Sometimes
they ask for a new system for the same reason a consumer
may buy an expensive car — keeping up with the
Joneses [1]. In other cases, the user
may feel that there is a legitimate need for a new system,
but may recognize that all the benefits are intangible
or extremely difficult to quantify; the user may justify
the request for the system by claiming an “entrepreneurial
hunch” that it will pay off.
As a systems analyst, it is not your position to insist
that a cost-benefit calculation be carried out; after
all, it’s the user’s system, and if he wants
to build it without any justification at all, that is
his prerogative. However, it’s a very good idea
to find out whether a cost-benefit calculation for the
project has been done and, if so whether it is a rational
one [2]. If there is no cost-benefit
study, or if the benefits are very fuzzy (or the costs
glaringly underestimated), you should be aware that
the project is vulnerable.
In the worst case, you’ll find that the user is
not terribly enthusiastic about the project, but has
been talked into it by higher management, based on the
optimistic calculations of the project manager who really
wants to build the system (because it will enhance his
career, because he thinks that all users should be fully
computerized, or for a hundred other reasons). In the
best case, you may find that the user has authorized
the system and is very enthusiastic about it despite
the lack of a rational cost-benefit calculation. But
users are fickle: today’s pet project becomes
tomorrow’s discarded project.
And users come and go: the user who authorized the project
yesterday may be replaced by a new user tomorrow who
takes a very different view of the desirability of the
project. So, if there is no cost-benefit calculation
(and it’s evident that nobody wants to develop
one), my advice is very simple; keep your resume up
to date, for you may be looking for a new job before
the project finishes.
In the sections below, we will examine several aspects
of cost-benefit calculations:
- Cost analysis
- Benefit analysis
- How to express the savings
- Risk analysis
C.2 COST ANALYSIS
The purpose of this activity, of course, is to calculate
all the anticipated costs associated with the system
— not only the cost of building the system, but
also the cost of installing the system and operating
and maintaining the system, as well as ancillary costs.
Each of these is discussed next.
C.2.1 The Cost of Building
the System
In Appendix B, we discussed techniques for estimating
the length of time required to build a system and the
number of people required. Keep in mind that you need
to calculate not only the cost of the programmers and
systems analysts, but also all of the other people involved
with the development of the system:
- Clerical people
- Managers
- Members of the user community
- Consultants and contract programmers
- Possibly members of the auditing, QA, or operations
staff
In most cases, you can obtain from
management (or from the accounting department) the average
salary of the categories of people that are included
in your project; this may be expressed in terms of hourly
costs, monthly costs, or annual costs. Make sure that
you take into account your company’s overhead
factor; that is, you will probably have to multiply
each salary by a factor of, say, 150% to cover the cost
of insurance, employee benefits, and various other corporate
overhead factors. Again, you should be able to get this
figure from your management or from the accounting department.
Keep in mind also that the people working on the project
will not be available 100% of the time: some time will
necessarily be lost because of illness, vacation, personal
leave, and the like. Your company may have a standard
factor to apply for this lost time; if not, a figure
of 10% is the very least you should assume; 20% to 25%
is not all that unrealistic. (It’s possible that
this has already been taken into account in the resource
estimates carried out in Appendix B. Check to ensure
that the lost time factor has not been left out and
that it has not been applied twice.)
In many projects, you must also include the cost of
training the development staff. Team members may need
training in new development methodologies, new programming
languages, or various hardware and software skills associated
with the vendor equipment being used. Another cost that
must be taken into account is that of computer time,
terminals or workstations, and development tools (editors,
testing packages, etc.) that are required for the development
of the system. In some cases, the terminals and development
tools may already exist and your project may not incur
any additional charges; in virtually all cases, though,
the project will have to include costs for the computer
time involved. (Note that this may also include disk
storage costs, telecommunication costs, as well as costs
for paper, forms, and other ancillary supplies).
Some new projects are developed with new people, that
is, people who did not work for the organization prior
to the project and for whom office space presumably
did not exist. Thus, you may have to include recruiting
costs (travel expenses for the job candidates, recruiting
fees for employment agencies, etc.), as well as employee
expenses associated with the initial orientation training
that a new employee must go through. And you may need
to include the cost of office space, desks, telephones,
and other equipment for the new staff.
On some projects, there are also travel costs associated
with visits that must be made to remote user sites in
order to interview users. Obviously, this is not a factor
on a project where all of the users are located in the
same geographical area as the development team; but
on projects where there are diverse groups of users
in different locations (often in different countries),
this can be a major expense. By the way, management
will often assume that all the required information
can be gathered in one trip; in real projects, subsequent
trips are often necessary to resolve questions and misunderstandings
[3].
Thus, the costs for development of a system can be many
and diverse. The following list summarizes the discussion
above; it may not be a complete list, but it covers
most of the major items:
- Salaries and overhead for all the personnel attached
to the project
- Training costs
- Computer time and development tools for the staff
- Recruiting costs for new staff
- Office space and office equipment for new staff
- Travel expenses to visit remote users
C.2.2 The Cost of Installing
the System
In a simple project, it may be sufficient to telephone
the user and tell her or him that you have finished
developing the system; you may be able to deliver it
to him on a floppy disk, and let him install it on his
own desktop computer. But on a large, complex system,
there is much more to the installation process, and
there are many costs involved. Among them are the following:
- User training costs
- Database conversion costs
- Vendor installation costs
- Cost of regulatory approval
- Cost of parallel runs
- Cost of development team during installation
Typically, the entire user community
will require some training to become familiar with the
usage of the system. Additional training may be required
for supervisory users; some training may also be required
for the operations staff and various other ancillary
personnel. Note that this means that we must also include
the cost of developing the user training courses, the
cost of training manuals or course documentation, as
well as the cost of user training facilities (classrooms,
etc.). Finally, don’t forget the cost of the user’s
time during this training process; you may be asked
to compute that in terms of the salaries of the users,
or you may have to compute it in terms of the replacement
cost of the people doing the users’ jobs while
the users are being trained.
Database conversion costs can be ignored if you are
installing a new system for which there is no predecessor.
But if the new system is replacing an existing system,
then there will almost certainly be an existing database
that needs to be brought over to the new system. If
the existing database is noncomputerized (e.g., file
folders full of scraps of paper), then there may be
a substantial cost associated with data entry; that
is, someone (or possibly a large group of people) will
probably have to sit at a terminal and enter all the
relevant data into a computer system. If the existing
data are already computerized, there may be a somewhat
smaller cost involved in mechanical translation of the
old files into a new format [4].
Vendor installation costs should not be ignored, especially
if the system involves new hardware, new telecommunication
equipment, and/or new software. The vendors will generally
give you a good estimate of the installation costs,
and you should be able to get them to quote a fixed
cost.
For some systems, there may be a cost of licenses or
other forms of regulatory approval, from various local,
state, or federal governmental authorities. This could
also include such things as environmental testing of
radiation emissions from the CRT screens used by the
user’s data entry operators. If regulatory approval
is a “cut and dried” procedure simply involving
the filling out of forms, you should be able to estimate
the cost fairly accurately; if instead it involves an
open-ended testing process, your estimate may have to
be much more approximate.
The cost of parallel runs, if any, must also be included
in the estimate of installation costs. For many types
of systems, the user will insist that the old system
be carried on, in parallel with the new system, for
some period of time. This may entail a temporary doubling
of user staff or other related expenses. You should
be able to find out (hopefully in the specification
for the system) how long the parallel run period will
be; this should help you develop an appropriate estimate.
Make sure that you don’t forget the cost of the
development staff involved in the installation. Typically,
the programmers and systems analysts who were involved
in the development of the project will be heavily involved
in its installation. Obviously, in addition to their
salaries (and possible overtime) and overhead, you must
also take into account any travel expenses required
to install the system in a remote user location.
Finally, keep in mind that for large systems installation
will not take place in one fell swoop; a new banking
system, for example, may be installed in one branch
office after another, over a period of several months.
In general, this will mean that the installation cost
of the initial branches (or user areas) will be more
expensive than those of the subsequent ones, because
the installation team will be more and more experienced
and (hopefully) any initial problems with the system
will have been shaken down after the first few installations.
On the other hand, if the installation process goes
on for several months (or even years), then you must
take into account the possibility of staff turnover:
people who have become experienced at installing the
system and training user groups may get tired of the
process and move on to a new job somewhere else.
C.2.3 The Cost of Money
The money required to develop and install a system does
not grow on trees; it must either be borrowed by the
organization, or it must be taken out of the organization’s
current funds. Thus, there is a cost associated with
the use of the money. Depending on your organization,
you may be asked to express this as the cost of borrowed
money or in terms of the interest that the money could
have been earning if it had been invested instead of
being used for your project.
This is an area where you should turn to your accounting
department for advice. They will almost certainly have
a standard guideline for how such matters should be
treated, and it’s important that your project
use the same approach.
C.2.4 Operational Costs
Once you have installed your system, it will cost money
for the user to continue operating it. However, this
should also represent an area where your new system
will save money, since it will presumably be cheaper
than the current system that the user has (unless you
have added a great deal of functionality). Typical of
the operational costs are:
- Hardware costs and related supplies and equipment
- Software costs
- People costs
- Maintenance costs
- Facilities costs
Hardware is a broad term here, including
the cost of the computer equipment (assuming that it
hasn’t been purchased outright, but see also Section
C.2.6, telecommunications equipment, terminals, workstations,
and supplies (paper, forms, floppy disks, disk packs,
printer ribbons, etc.). Keep in mind also that some
hardware can be thought of as a consumable in the sense
that it wears out and needs to be replaced. This includes
terminals, some printers, and perhaps other types of
hardware. Be sure that future periods reflect replacement
costs as needed.
Software costs, in this discussion, mean the ongoing
lease costs for operating systems, database management
packages, and other system software that your system
may have leased from a software vendor.
People costs include the operations staff, technical
support personnel, maintenance programmers, and the
cost of those users directly involved in the ongoing
day-to-day operation of the system. As discussed above,
you will probably have to express this as a loaded cost
in order to take into account insurance, benefits, and
corporate overhead.
Maintenance costs include the expected monthly (or annual)
maintenance cost for the computer equipment; your estimate
here should not only include the cost of preventive
maintenance that the vendor provides, but also any extra
costs associated with actual repairs if equipment breaks
down. You should also include the maintenance costs
of vendor-supplied software, if applicable; the maintenance
contract offered by the software vendors usually includes
a hot-line telephone number for technical support, as
well as free (or reduced-cost) upgrades to new versions
of their packages.
In addition, your maintenance costs should include an
estimate of the maintenance cost for repairing and enhancing
the application software. This can be a major cost factor,
as evidenced by the fact that most organizations spend
more than 50% of their data processing budget on maintenance.
There are various ways that you can estimate the maintenance
costs of the new system:
-
If you system is replacing an
old system, you might estimate that the new system
will require the same amount of maintenance effort.
This is a fairly conservative effort, for it implies
that the old system was developed using fairly modern
software engineering techniques and that the new
system won’t use techniques any more modern
or efficient. This is unlikely if the old system
is 10 to 15 years old, but it at least represents
a sort of worst-case estimate.
-
An optimistic estimate might
be based on an expected savings over the maintenance
of the current system. Many organizations have found,
for example, that their maintenance costs have been
reduced by a factor of five or more by careful use
of structured analysis, structured design, and structured
programming [5]. You should investigate
other similar projects within your own organization
to see whether savings of this kind have been achieved;
if so, it may be reasonable to expect similar savings
on your project. Be leery, however, of the temptation
to show sizable personnel reductions based on the
installation of your new system; it rarely happens,
for reasons discussed in Section C.3.1.
-
If there is no current system
to use as a comparison (or if you want to avoid
overly optimistic and overly pessimistic estimates),
try to determine the average maintenance cost for
similar systems in your organization. This will
probably be based on some normalized unit (e.g.,
maintenance dollars per line of code per year or
maintenance dollars per function point per year),
but the estimates that you carried out in Appendix
B should allow you to make the appropriate maintenance
estimates for your project.
A final cost that must be estimated
when calculating the operational cost of the new system
is that of the physical plant (e.g., the computer room
and the office facilities for operations staff, vendor
maintenance people, and user staff). If the new system
is going to operate on a centralized mainframe that
is already in place, these facilities costs may already
have been buried in the overall hardware cost discussed
above. However, if you are developing a brand new system
that will have its own operational facilities, this
could well be a major cost.
C.2.5 The Cost of Failures
There is yet another cost that you must take into account:
the cost of potential failures in the new system. It
is convenient to bury this in the category of operational
costs, but it tends to hide what will become an increasingly
important aspect of information systems in the future:
their reliability.
There are various forms of system failure, as you can
imagine; in some cases, the system is entirely unavailable
for operation until the error has been corrected, while
in other cases, the system continues to operate, but
one or more of its outputs are incorrect. In some cases,
some functions in the system may be inoperable, and
in other cases, some users may be unable to access the
system. All these forms of failure have a cost associated
with them: hardware costs, software costs, people costs
associated with correcting the error, potential legal
costs if the system has caused financial loss or some
other grievous loss, and possibly loss of revenues or
loss of customers.
How should one estimate this? It would be naive to ignore
this area altogether, for we have not yet achieved the
ability to build perfect systems; on the other hand,
if you ask any of the programmers or systems analysts
on the project how many failures they expect to have
in their new system, they look at you as if you had
just suffered a new form of senility.
Perhaps the most responsible thing you can do is to
(1) look at the failure rate of the current system,
if you are building a new system to replace an existing
one, and (2) look at the failure rate of all other systems
in your organization [6]. You may then
be able to make some reasonable assumptions about the
failure rate that can be expected in your new system.
Hopefully, your project can be built with substantially
fewer errors than in the current system, or even the
average system in your organization; indeed, you should
be striving for a minimum of a factor of 10 improvement,
if not more.
If there are no available statistics about software
reliability of your organization’s current system
and no basis on which to make an estimate for your new
system, then at the very least you must include this
fact in your risk analysis document; see Section C.5
for more information. If you are building a large, complex
system in which a failure would have potentially disastrous,
far-reaching consequences, it is professionally unacceptable
not to have a software reliability model, despite the
fact that most organizations do not currently bother
doing so. For more information on this area, see Software
Reliability by Glen Myers (Reading, Mass.: Addison-Wesley,
1979).
C.2.6 Distinguish between Capital
Costs and Expensed Costs
Some of the costs associated with the new system will
be expensed during the year in which they occur; that
is, your organization will recognize those costs on
their P&L statement (and in the tax returns they
file with the IRS) during they year they occur. Other
costs are capitalized; that is, the costs are spread
over a period of several years. While this does not
affect the aggregate cost of the system, the classification
of a cost as expensed versus capitalized can have an
enormous impact on the organization’s tax position.
Similarly, the decision to incur some costs on a purchase
basis instead of a lease basis can have an enormous
impact on the organization’s cash flow, even if
the total cost remains the same.
Typically, hardware purchases are considered a capital
expense, and the cost is spread over a period of 3-4
years for desktop PCs and laptops, and 5-7 years for
mainframes and other larger items (depending on the
prevailing tax regulations). The cost of developing
the software may or may not be capitalized. And installation
costs and operational costs are normally expensed in
the period when they occur, though there may be minor
variations in this area.
Obviously, this is not an area where you can invent
your own accounting policy. It is important to find
out what financial standards are used in your organization
and follow them in a consistent fashion.
C.3 BENEFIT ANALYSIS
It is much more difficult to calculate expected benefits
of a new information system than it is to calculate
its costs. In some cases, as mentioned at the beginning
of this appendix, it may be impossible — because
the system is mandatory or because the user has decided
that he wants the system regardless of whether tangible
benefits can be identified.
It is the attempt to calculate tangible benefits that
causes so many problems. Users are likely to wax enthusiastically
about “better control” or “more timely
information” or “better decision-making
scenarios,” but if you ask them how much money
they’re going to save or how much profit it will
add to the bottom line, they’re likely to waffle
and say, “Oh, lots and lots ... I just know that
it’s going to be terrific!” Indeed, the
new system probably will be terrific — but words
like terrific don’t fit very well in a spreadsheet
showing numerical comparisons of costs and benefits.
Thus, your biggest job in carrying out a cost-benefit
calculation will be that of pinning the users down and
getting them to commit to tangible benefits that can
be measured and calculated in a quantitative way. If
you are unable to do this (which is the case for many
projects and many systems analysts), try to get the
users to compare your new system with some other system
with known benefits. Thus, you might say to your user,
“Suppose you had to make a choice between the
new system we’re talking about and System X. Which
one would you consider is most important? If we could
only implement one of them, which one would you pick?”
Assuming that System X has some tangible benefits associated
with it, this should give you at least a crude way of
determining the approximate value of the new system.
In the following sections, we will distinguish between
tactical benefits and strategic benefits offered by
the new system. In this context, a tactical benefit
is one that allows the organization to continue carrying
out the same business activity, but at a lower cost
(or a higher profit); a strategic benefit is one that
allows the organization to begin conducting an entirely
new kind of business or to conduct business in a new
area or with new clients.
C.3.1 Tactical Benefits
The tactical benefits are often associated with reductions
in clerical or administrative personnel; while this
is not music to the ears of the clerical users, it is
nevertheless a fact of life. A new information system
may allow the same function to be carried out with half
the number of users or even less. This is generally
because the users are currently carrying out calculations
or data-recording activities by hand, when it could
be computerized; or they are forced to carry out the
same activities (or record the same data) multiple times,
when it could be done once on a computer; or it takes
them a considerable of time to retrieve data, when it
could be done quickly by a computer.
Though this is an obvious benefit of the new system,
be careful that you don’t overestimate its effect.
In some cases, there will be fewer savings than you
might have estimated; union regulations and the good-hearted
nature of middle ranks of management in the user organization
may prevent some of those clerical-level users from
being laid off. And, equally important, you should realize
that more senior levels of management are less and less
impressed by the savings of one or two clerks; they
are looking for bigger and better benefits from the
introduction of a new system.
A slightly more interesting form of tactical benefit
is the savings that comes from being able to process
business transactions more quickly. Faster turnaround
(or being able to handle more transactions per second)
not only affords the opportunity to reduce clerical
costs, it can lead to better cash flow for the organization
(i.e., getting the customer’s order turned into
cash more quickly, speeding up delivery time of customer
orders, etc.). The trick, again, is quantifying this
and expressing it as a dollar figure. But, as an example,
consider the following dialogue between the systems
analyst and the user:
Analyst: So, how many orders a day do you process?
User: Well, we process 10,000 orders
a day. But there’s always a backlog —
so it takes a week, on average, before a customer’s
order is processed and shipped.
Analyst: And the invoice is sent
to the customer along with his order, right? So the
customer isn't expected to pay his invoice until he
receives shipment of his order?
User: That’s right.
Analyst: So, if we could reduce the
order processing delay from five days to one day,
we would get the customer’s cash, on average,
four days earlier. And if the average customer order
is $1000 and we process 10,000 orders a day, that
means we’re talking about $10 million dollars
a day. Getting our hands on $10 million four days
earlier than before, for each day’s orders,
would be worth. ...
A new system may also bring about savings
in computer equipment; the old system may be running
on an expensive mainframe computer, while the new system
runs on a client-server configuration, on a desktop
computer, or perhaps on a small Web site. Such a change
not only saves computer hardware costs, but it also
saves money in the area of facilities costs, operator
costs, and the like. And if the new system reduces the
amount of paper and printed forms, that should also
be reflected as a savings. Make sure your calculations
are complete here; keep in mind that fewer file cabinets
may be needed, less office space, fewer typewriters,
possibly fewer telephone calls between your organization
and the customers, and so on.
The maintenance costs of the new system should also
provide a benefit, as discussed in the previous section.
Hardware maintenance costs should be reduced (unless
you are running your new system on the same computer
equipment that is installed in the organization), and
software maintenance costs will presumably be lower
than that of a current system.
C.3.2 Strategic Benefits of
the New System
In more and more cases, the truly interesting and important
benefits of a new system are the strategic benefits
— not only the opportunity to save a few clerical
people or a few pieces of paper, but rather the ability
to let the organization do things that would not be
possible with the current system. There are several
examples of potential strategic benefits:
-
Identifying or attracting new
customers that the organization would otherwise
be unable to identify.
-
Entering new markets or providing
new products that were previously not available.
-
Capturing, reproducing, or distributing
knowledge and expertise that was previously known
only to one or two people in the organization.
In an economy as competitive as today’s
economy seems to be, an information system that can
attract new customers or prevent current customers from
being lost to the competition is valuable indeed. In
some cases, this may be possible because your new system
offers functionality that was not available before;
in other cases, it may result from your system’s
ability to identify potential new customers that the
organization was previously unaware of. Whatever the
situation, you should try to quantify this benefit in
terms of increased customers or increased market share
and, from that, ultimately in terms of revenues and
profits.
A more difficult form of strategic benefit is the ability
of the new system to provide information that was not
previously available. The typical example of this is
the ability of the system to identify trends and patterns
(e.g. sales trends by territory or season or customer
preferences for different products). This is possible
in almost any automated system that replaces a manual
system; and there is usually an opportunity for any
type of on-line or real-time system to present such
trends in a more timely fashion than would have been
possible with a batch system. Similarly, a system with
graphics capabilities can provide information in a more
effective fashion than a current system that produces
information in the form of tables and numerical printouts.
And a system built with a fourth generation programming
language and a modern database management system can
permit ad hoc browsing through the database.
A somewhat newer form of benefit made possible by commercial
expert systems is the encapsulation of knowledge that
was previously known only by one or two people. This
knowledge is typically judgmental, diagnostic, or evaluative
in nature, and the human expert who possesses these
skills is usually considered a very valuable asset to
the organization; hence the ability of the new system
to replicate this expertise should be a benefit whose
value can be calculated.
As artificial intelligence techniques continue to grow,
we will find ourselves identifying, as a benefit, the
ability of a system to extend the knowledge originally
only known to one or two human experts in the organization.
Thus, a human expert in the organization may have a
number of rules of judgment that he or she uses to diagnose
the likely cause of failures in some mechanical system
(an oil drilling platform, for example). It would obviously
be strategically beneficial to capture that human expert’s
knowledge and replicate it for others to use; but it
may be an order of magnitude more valuable to be able
to extend that expertise and increase the diagnostic
ability to deal with system failures.
C.4 HOW TO EXPRESS THE COSTS
AND BENEFITS OF THE SYSTEM
If all the system costs were incurred instantaneously
and all the benefits realized instantaneously, it would
be relatively simple to represent the value of the system
as the difference of benefits and costs. But, as mentioned
earlier, costs usually occur over a period of years;
and even if a cost is actually incurred at one point
of time (e.g., a hardware purchase), the organization’s
accounting policies may dictate that it be spread over
a period of several years.
Thus, you will probably have to demonstrate the costs
and benefits of your proposed new system over a period
of time. There are four common methods for doing this:
- Cash flow
- Return on investment (ROI)
- Internal rate of return (IRR)
- Net present value (NPV)
Each of these is discussed next.
C.4.1 Cash Flow
Whether or not your system eventually shows a profit
(benefits that exceed the costs), management may want
to know how much cash will have to be invested before
a positive cash flow can be expected; obviously, they
will be more concerned about this for large projects
than for small ones. Note that the project's cash flow
may be quite different than the information officially
reported as profits and losses for the organization.
For example, the project team may spend $100,000 in
salaries during a one-year systems development effort;
but the tax laws may allow that cost to be depreciated
(or amortized) over, say, a period of 5 years. Thus,
the organization may report only $20,000 of costs on
its tax returns for the year, but the $100,000 in cash
is definitely gone. Similarly, the benefits of the new
system may look quite different from a cash-flow point
of view than from the point of view of the organization's
profits and losses as reported to the Internal Revenue
Service.
In most cases, it is appropriate to show both an annual
and an aggregate cash flow. Your cost-benefit study
might produce a table like this for management:
Project X Cash Flow Projections
| |
Year 1 |
Year 2 |
Year 3 |
Year 4 |
Total |
Cash Savings |
0 |
10,000 |
50,000 |
100,000 |
160,000 |
Cash Expenses |
50,000 |
30,000 |
20,000 |
10,000 |
110,000 |
Net Cash |
-50,000 |
-20,000 |
30,000 |
90,000 |
50,000 |
Aggregate Cash |
-50,000 |
-70,000 |
-40,000 |
50,000 |
50,000 |
C.4.2 Return on Investment
Another way of evaluating the costs and benefits of
the system is to calculate the return on investment.
Suppose, for example, that you invested $110,000 in
some stock or real estate and that you were then able
to sell it for $160,000. (Note that these are the same
figures used in the cash flow example above.) This would
mean that you made a $50,000 profit on a $110,000 investment;
expressed in percentage terms, this means that your
return on investment was 45%.
This sounds better than investing money in a savings
bank! But wait; in the example above, that profit did
not occur at the end of the first year; indeed, it took
4 years. So this makes the return on investment appear
to be approximately 11% per year. Even this is somewhat
misleading, though, because it does not take into account
the present value of future money. This is discussed
next.
C.4.4 Net Present Value
If someone gave you $100 today, you would know what
the value of the money was: you would have a good idea
of how much you could buy with that much money. But
how much is $100 worth if you know that you’re
not going to get it for a year? This is known as the
present value or the discounted value. The present value
of money that you will receive in the future is defined
as the amount that you would have to invest today, at
current interest rates, in order to end up with the
amount specified. Thus, the present value of next year’s
$100 is approximately $95.24, at interest rates of 5%.
In general, if we want to calculate the present value
of some amount of money (which we will call F), n years
into the future, we can use the following formula:
P = F/(1+i)n
where i is the interest rate. Thus, in the example
above, the present value of the benefits could be calculated
as follows (assuming an interest rate of 5%):
Project X Present Value Calculations
| |
Year 1 |
Year 2 |
Year 3 |
Year 4 |
Total |
| |
|
|
|
|
|
| Cash Savings |
0 |
10,000 |
50,000 |
100,000 |
160,000 |
| Present Value |
0 |
9,070 |
43,192 |
82,270 |
134,532 |
As you can see, this makes financial
return on the project much less impressive, but it is
much more realistic. To be even more realistic, though,
we must realize that future costs need to be discounted
in the same way as future benefits. Just as a benefit
of $10,000 at the end of the second year is only worth
$9070 today, so a cost of $10,000 that will be incurred
at the end of the second year represents a present cost
of only $9070.
This leads to the definition of net present value for
a project: the difference between the present value
of the benefits and the present value of the costs.
For our sample project, this would lead to the following
calculations:
Project X Net Present Value Calculations
| |
Year 1 |
Year 2 |
Year 3 |
Year 4 |
Total |
| |
|
|
|
|
|
| Cash Savings |
0 |
10,000 |
50,000 |
100,000 |
160,000 |
| Present value of benefits |
0 |
9,070 |
43,192 |
82,270 |
134,532 |
| Cash expenses |
50,000 |
30,000 |
20,000 |
10,000 |
110,000 |
| Present value of costs |
47,619 |
27,211 |
17,277 |
8,227 |
100,334 |
| Cumulative net present value |
-47,619 |
-65,760 |
-39,845 |
34,198 |
34,198 |
Thus, the net present value of the
system — today’s value of the profit we
expect to get from the system at the end of 4 years
— is $34,198.
C.4.4 Internal Rate of Return
The internal rate of return is analogous to the percentage
rate that banks, money market funds, and other financial
institutions advertise for their savings accounts and
other investment opportunities. The internal rate of
return (IRR) is defined as the interest rate that would
be required in order to generate the cash savings each
year (i.e., the benefits of the system, which we have
already identified) given an investment equal to the
cash expenses that we have identified. In the example
above, imagine that we had invested a total of $110,000
in a make-believe savings account over a period of 4
years. The question is: what interest rate would we
have to earn in order to be able to withdraw a total
of $160,000 by the end of the fourth year, with no money
left in the “bank” at the end? By comparing
this against the prime rate and various other investment
rates, management can see whether the new system is
indeed a good investment.
Suppose that we describe the future benefits to be achieved
at the end of year 1, year 2, ..., year N as B1, B2,
..., BN; suppose also that the future costs are described
as C1, C2, ..., CN. Then, the following polynomial formula
must be solved for the interest rate, i:
C1/(1+i) + C2/(1+i)2 + ... + CN/(1+i)N = B1/(1+i)
+ B2/(1+i)2 + ... + BN/(1+i)N
This is not the kind of formula that
one can easily solve on the back of a napkin or even
with a simple four-function calculator. However, specialized
calculators can be obtained with IRR functions built
in; also, a variety of special-purpose PC-based and
mainframe-based programs exist for this kind of financial
analysis. If you don’t have such tools readily
available, ask your financial or accounting department
for assistance.
C.5 RISK ANALYSIS
As part of your cost-benefit calculations, you should
be prepared to carry out a risk analysis for the new
system; if management does not ask for one, you should
do one anyway. The reason for this is that we cannot
assume, with total certainty, that we will achieve the
estimated benefits or incur the estimated costs. Things
might turn out better than we estimate; of more concern
is the fact that things might turn out far worse.
Management will generally want to know what the consequences
are if things go wrong during the project; and they
will want to know what things can go wrong. Specifically,
they will want to know the conditions under which the
estimated costs might be significantly higher and the
conditions under which the benefits might be significantly
lower than estimated.
How could the costs be higher than what you have estimated?
Here are a few possibilities; it is up to you to identify
specific risks for your own project:
-
The computer hardware vendor
might go bankrupt.
-
The project team might suffer
extreme turnover, illness, or other disruptions.
-
The technology used for the
project might not work as advertised, especially
if it is new technology that has never been used
before.
-
The window of opportunity might
be missed; for example, the system might not be
ready for installation until January 2, and government
regulations might prevent the system from actually
being installed until the following January 1.
-
Political or contractual problems
might arise with unions, outside contractors, and
others.
-
The project team might not have
the required knowledge of the application or might
have other deficiencies (inadequate training and
experience) that lead to lower-than-expected productivity.
-
Turbulent business or economic
circumstances might force the project to be canceled.
-
A variety of hidden costs might
appear, for example, additional overhead or paperwork
that had not been necessary in the previous system.
Similarly, the estimated benefits might fail to materialize.
Here are a few possible reasons:
-
The operational users might
find it more difficult than expected to use the
new system, leading to delays and disruptions. (This
is particularly important if the system benefits
were predicated on higher user productivity.)
-
Expected improvements in market
share might not occur. The system might not produce
more customers, more orders, more business, or more
revenues.
-
The system might not behave
as expected; for example, it might not process as
many transactions per second as had been expected.
-
The value of the new information
made available by the system might turn out not
to have any tangible benefits.
To deal with these risks, it is often
a good idea to put together a worst-case scenario, a
best case, and an expected case. The more precise and
realistic you can make this, the better: there is no
point fooling yourself and your management with unnecessarily
optimistic assumptions about costs and benefits. Similarly,
though nobody expects the worst-case situation to occur,
it is important for management to understand just how
bad things could get.
A final note about risk analysis: management will often
know of far more risks than you do (e.g., a potential
merger between your company and another company that
will render the system useless). They can evaluate these
risks, and will often not even tell you about them;
they need you to evaluate the technical project risks.

FOOTNOTES
-
[1]
This is particularly true in some highly competitive
industries where new computer systems are developed
to provide additional kinds of services to the marketplace
(e.g., new banking systems, credit card systems,
and airline “frequent flyer” systems).
Thus, your user may not be able to cost-justify
such a system on its own merits, but may feel that
he or she has to develop it to keep up with the
competition.
-
[2] As a senior
systems analyst, you are in a position to know this
right away, of course. But to a junior systems
analyst, brought into the project after it has been
underway for six months, it may not be so evident.
At that point, the project has taken on a life of
its own and will fight for its existence independently
of the user and any other rational decision-making
process.
-
[3]
Sometimes this can be minimized if your organization
has sophisticated e-mail, videoconferencing, and
other “groupware” tools, in addition
to the telephone.
-
[4]
There is a hidden cost that you should be aware
of: during the conversion of the old database to
the new database, it is inevitable that errors will
be found. This is particularly true, as you
can imagine, if the existing database is manual
and entries have been made by hand; you will find
missing data, incomplete data, and data that are
obviously incorrect. The older the data, the
more of these errors you’re likely to find.
In addition, the conversion process itself may
be error prone, particularly if it is a manual process.
Thus, there is likely to be a cost associated with
data correction. It is probably a good idea
to take a random sample of the existing database
to get an estimate of the number of errors that
will be found; then estimate the cost of correcting
those errors (in most cases, the corrections will
have to be made manually).
-
[5]
For detailed calculations of this savings, see Capers
Jones’ Programming Productivity (New
York: McGraw-Hill, 1985).
-
[6]
This assumes, of course, that someone in your organization
is keeping track of such things. A landmark
survey of nearly 500 U.S. data processing installations
conducted by Lientz and Swanson in 1980 suggests
that approximately 50 percent of the organizations
did not keep track of operational failures in their
systems; see Lientz and Swanson, Software Maintenance
Management, Reading, Mass.: Addison-Wesley,
1980.
|