Takeaway: TechRepublic is gathering a collection of cost-control tools. Here are a few we already have available. Check them out and then send us tools you've created or just an idea.

Controlling costs is a daily struggle. We want to be your number one source of tools to help you win the battle. TechRepublic is gathering a collection of cost control tools and we're hoping you can help! Send us cost-control tools you've created—or simply an idea for such a tool—that provide quick information. If we publish a tool you've created, we'll send you $50. If we use your idea, we'll reward you with a TechRepublic t-shirt.

Available calculator tools from TechRepublic

To give you an idea of what we have in mind, here are a few of the cost control calculators that are currently available on TechRepublic:

  • Square footage cost calculator
    This Excel spreadsheet can help you determine the current cost of your lease based on square footage as well as potential costs over the next five years.
  • Hiring cost calculator
    The cost of a new hire amounts to more than just salary and benefits. This spreadsheet will help you determine everyone's contribution when deciding to bring someone on board.
  • Systems downtime expense calculator
    This Excel spreadsheet will help you calculate a dollar value for the real costs of network downtime, including lost productivity.
  • ROI calculator for hardware purchases
    This Excel spreadsheet will help you calculate ROI over the total life cycle of a hardware purchase.

Send us your cost-control tools

If you'd like to contribute to our archive of cost-control calculators, send us any tools you've created along with instructions for use. If you're in need of a cost-control tool, send us your idea. We'll pay you $50 if we publish your tool or, if we use your idea, we'll send you a TechRepublic t-shirt.

Takeaway: A consultant, experienced with justifying projects in terms of ROI, gives CIOs advice on how to use ROI analysis the right way, whether you're applying it to past projects or future ones.


Over the years, my clients and I have faced a vast number of ROI interpretations. On one project, the project leader insisted that the four minutes saved on boot-up time translated into a $40M savings over the course of a year. On another, the client told us that it didn't matter what we discovered; they were going ahead with their installation anyway. They just wanted us to come up with some numbers detailing why they should.

These experiences, and others like them, forced me to think about ROI analysis as a whole. Many companies sell the service, and more will charge you to learn about it. But what are we really doing? I wanted to look at whether it's a valid analytical pursuit, a communications vehicle, so much sleight of hand, or something real in its own right.

The purpose of ROI
As with all forms of communication and analysis, we first have to establish what we wish to accomplish. In an ideal world, our answer would always be "to find the correct answer." In the real world, ROI analysis encounters the business, personal, and political agendas of a large number of people in any given organization. This encounter between abstract theory and the intense pressure of business should lead to predictable project goals.

Going back over my files and client experiences, I found three general reasons for ROI analysis:
  • Justification of an existing project
  • Rationalization of a previous expenditure
  • Persuasion to take a specific course of action

Roughly half of the ROI projects fell into the first category. In these cases, the CIO wished to loosen the budgetary or political constraints on an existing project. The stated purpose of the analysis was to identify whether to go forward with the project. The unstated assumption was that we would find for the invested political capital. Often, our client asked us to demonstrate a need to increase the project's budget to allow access to these "remarkable savings.”

A quarter of the projects fell into the second category. In these cases, the CIO put himself in political hot water. He invoked the ROI analysis to justify his past decisions and to show his skill in planning future projects. Findings that didn't support these purposes came into hot dispute.

The final quarter of the projects fell into the third category. In these cases, the CIO needed tools with which to argue for a favored course of action. These projects always bothered me professionally, because sometimes my analysis supported my client and sometimes it didn't. In either case, the success or failure of the ROI project hinged on successfully choosing the most persuasive arguments.

Three areas of ROI
Understanding what we were doing put me halfway towards a new understanding of ROI. After further review of the three categories, I discovered a clear pattern. Regardless of the ROI method used, the client's need usually revolved around the justification of specific courses of action (past, present, and future). Therefore, rather than treating ROI as a pure analysis tool, I started to regard it as another method of persuasive communication.

In that light, I reexamined my training in ROI analysis. That reexamination revealed that I knew of three basic areas to look at for return:
  • Reduction of existing costs
  • Avoidance of existing costs
  • Reduction of the cost of entry to a new profit stream

Most of the literature talks about cost reduction: how we generate ROI by cutting into downtime, removing performance barriers, and eliminating service calls. Fundamentally, cost reduction is only modestly persuasive. It suggests that the way we are currently doing business is wasteful and that another way generates budgetary results.

Cost avoidance is even worse. It assumes that we "make money" by somehow removing a risk or barrier. The consultant who insisted four minutes a day boot-up time translated into $40M a year represents a classic example of this kind of thinking. Although legitimate examples of cost avoidance exist (avoiding downtime during financially critical moments in time), these are few and far between. Even downtime avoidance, the holy grail of ROI, doesn't really pan out in many cases—99.999 percent uptime doesn't mean that the uptime is productively used or that the downtime would have effected an actual revenue-generating transaction.

Of the three, only the reduction of cost of entry into a new profit stream struck me as being a persuasive support. This kind of ROI comes from technologies that allow companies to reduce the actual cost and risk of exploiting new opportunities. They include reducing time to configure for a new market, time to fill the order, the product design cycle, and the internal resistance to change.

Probably the best example I encountered of this last category in infrastructure came from a Web-farm proposal: The client wanted to move from independent servers interfacing with the same database to extremely cheap servers attached to an EMC disk array. In doing so, he reduced the cost to create/deploy a new site (internal or external) from $15K to $2.5K. This moved the purchase decision from the CIO to the IT manager level and cut out about half of the approval process. Total time saved per instance: 20 hours over three weeks.

Historically, the company requested between seven and 12 of these projects a year, with each project assessed for success or failure at the six-month mark. Total savings to the company, on average, per year: $125,000 and 200 hours of executive time (about 5 weeks). This IT savings helped to offset the other costs associated with new market development, eventually resulting in a lower cost of entry overall. It also reduced the decision time for each project by cutting away layers of management. This in turn reduced the political fallout from failure. The new projects had considerably less visibility and, correspondingly, less impact on the political landscape.

To get to these benefits, the company ended up spending $20K upfront expanding an existing storage initiative. They allocated the budget within a week of receiving the report.

Going forward
This evolving conception of "ROI as communications" slowly altered how I saw its role in the organization. Rather than being a panacea for financial stability, it became just another tool in the arsenal of communications tactics we use. Beyond panicked self-justification and hopeful confusion, ROI does allow us to demonstrate clearly our connection (or in some cases, disconnection) to the fundamental business strategy: making money by assisting our users while selling our product.

akeaway: Many tech leaders mistakenly believe that it's numbers, and only numbers, when it comes to determining return on investment. Yet, as financial expert Peter Hennigan explains, the value of ROI lies strictly within the process.
An IT ROI analysis should not be viewed simply as a numbers exercise. The true value lies in the collaboration it generates among the business and IT stakeholders.

Think about how an ROI analysis fits into the business decision-making process. Stakeholders take these basic steps when considering investment in an IT project:

  • Identify a business issue.
  • Examine the business processes related to the issue.
  • Determine that process changes will address the issue.
  • Conclude that leveraging technology will enable the process change.
  • Analyze the IT investment options.

Don’t let step five—analyzing the investment options—disintegrate into mere numbers crunching. To help you identify the values of stepping through an ROI analysis, download our handy checklist.

Why the process tops the numbers
The ROI analysis facilitates activities key to successfully evaluating the investment. Those activities fall into four major categories:
  1. Including all costs, benefits, and risks: An analysis process that engages the appropriate stakeholders has a better chance of considering all the inputs. It forces people to consider costs and benefits from an immediate and ongoing perspective.
  2. Appropriate analysis level: A formal analysis process will quickly identify the appropriate analysis level. Analysis at a level that is too detailed results in little more than busywork. If senior management made a strategic decision to implement a wireless communication infrastructure, do you need to complete an ROI analysis on equipping a specific facility?
  3. Assumption validity: You can never fully ensure that all inputs are reasonable, but a process that engages the appropriate stakeholders will provide some degree of checks and balances.
  4. Engagement: This is often the biggest benefit. Neither the IT nor business stakeholders can provide all the required inputs, so a formal analysis process ensures that both sides are engaged. IT can provide cost data for the investment in IT resources and ongoing operations, but the business drivers must provide the non-IT cost data. The business owner—not IT stakeholder—should take the lead in presenting the overall business case. If ownership isn’t clear, the process will help identify that issue.

ROI analysis techniques
ROI analysis methods fall into three basic categories. A simple technique is a straight payback calculation based on projected costs and benefits. More financially robust techniques consider the time value of money by applying discounted cash flow analysis to the projected costs and benefits. The most sophisticated approaches apply rigorous modeling and statistical methodologies.

These techniques have spawned a mini-industry of consultants and tool vendors, as shown in Figure A.
Figure A
Vendor Description
Alinean Alinean develops research, methodologies, and software tools to measure and quantify the value and ROI from IT.
CIOview CIOview's ROInow! family of products allows users to determine the costs, benefits, and all the financial measures required prior to deploying new technology.
Gartner The ROI Manager Series provides access to Gartner Research and a
Web-delivered investment-planning tool.
Giga Information Group Total Economic Impact (TEI) measures a solution's impact on both IT and business units.
Hubbard Decision Research Hubbard Decision Research uses its Applied Information Economics to apply scientific and mathematical methods to the IT investment process.
ITCentrix ITCentrix combines measurement software, IT value benchmarks, and services in a single offering for measuring the business value of IT investments.

Regardless of the sophistication level, all the techniques quantify the costs, benefits, and risks associated with the IT investment and deliver a return-on-investment metric.

Where the metric fits in
The investment metric is often viewed as the core value of the analysis, but it is only as good as the analysis input. If that data doesn’t reflect all the costs and benefits resulting from the investment, then the metric is suspect. Inadvertently leaving critical data out of the analysis is not uncommon. I’ve provided a checklist of items to consider in ROI analysis.

The data is also subject to manipulation by stakeholders. A savvy manager determined to get a project funded can play with analysis input to generate the most favorable metric. The manager may face reviewers who question the validity of some assumptions, but a convincing presentation and a commitment to deliver the projected results usually triumphs. It’s the rare organization that actually compares results with the original projections.

Don’t forget the true value
The ROI process reinforces the linkage of any IT investment to the business issue that drives it and the business processes it supports. If stakeholders fail to realize the true value of the process, all you are left with is a line item on a projection sheet. Download our handy checklist to help you maximize your efforts.

Takeaway: Does your CEO want you to make a case for a new piece of equipment or staffing reorg by providing an ROI? Putting together your return on investment doesn't have to be painful. Jack Fox explains.


If your company is in the process of undergoing a merger or potential investment from an outside source, you may find yourself inundated with report requests from accounting asking you to justify your IT expenditures. For the chief technology officer who’s been more interested in developing networks and e-commerce strategies than spreadsheets, the demand for return on investment figures can not only be frustrating but also confusing.

While it may just sound like accounting jargon, there are some very good reasons why the ROI component indicates a company’s financial health.

Importance of ROI
A CIO needs to evaluate an ROI because the essence of an enterprise's business underpinnings lies in answering the question of return on investment. Investors want to know how much the business projects to earn in three to five years.

Most venture capitalists use these forecasts to target their own ROI. A target ROI of 60 percent compounded per annum over a three-to-five year period is the norm. For Internet dot companies, the target is closer to 70 to 90 percent because of the perceived risk. In today's market, none of the formulas seem to take into account the losses and projected losses forecast over a three-to-five year period that only propel the companies into higher-yield IPOs and soaring stock valuation.

Investors convert the ROI percentage to four or five turns on their money in three years, or approximately 10 turns on their money in five years. A "turn" is the realization of a 100 percent gain on the money invested. So one turn, to use a common expression, is double your money back. The basic assumption is that the company will achieve a public market for its common stock within three to five years or sell out for cash or stock, thus producing the return.

These desired rates of return may strike you as overly ambitious and unrealistic, but they aren't. Some of the foremost private venture capital firms achieve such ROIs in six investments out of 10.
Do you spend half your time making a budget, only to readjust it again a month later? Can you make sense out of the spreadsheets your accounting department constantly sends you? What's the best way to calculate ROI or TCO? If you have an accounting conundrum that you'd like answered or explained, send your question to Ask Jack . Every month, Jack Fox will answer questions from savvy CIOs who just don't have time to become experts in bean counting.
Investor considerations
Investors first analyze the three-to-five-year operating statement projections. They look at the third year's projected earnings and multiply by an appropriate price/earnings ratio for similar companies, say 10.0 to 12.0 times. The investors then multiply the amount they are being asked to invest by 4 or 5 and divide the resulting number by the first sum to determine the required percentage of ownership they must invest in order to realize their profit goals. If the percentage of ownership is too high, then the deal lacks the desired potential return and will be rejected. On the other hand, if the ownership requirement level is too low, they will ask if there is pricing flexibility and a willingness to negotiate before they go forward.

What is ROI?
ROI relates after-tax earnings to the corporation's total asset base and is sometimes referred to as return on assets (ROA) or return on total assets (ROTA). All three expressions—ROI, ROA, and ROTA—generally have the same meaning.

A common alternative computation of this ratio adds the after-tax cost of interest expense to the numerator, on the theory that return on investment should consider the return to creditors as well as to stockholders. Using earnings after tax plus interest expense as the numerator in the equation measures the return to both the creditors and stockholders.



Reality-based crystal ball gazing
Your articulation of the plans for achieving the forecasted sales objectives must be well thought out and carefully expressed. Avoid the classic error made time and again by overanxious CIOs—developing projections for sales without being in a position to deliver. Production capability must be calculated to be in place when the marketplace responds to the company's products or services offerings.

Ultimately, it is the credibility of the CIO, CFO, and the remainder of the key management team, in concert with the facts they are presenting, that makes the projections believable.

Key interrelationships among ratios
The CIO cannot consider any individual ratio in isolation. It is important to consider the interrelationships among the various ratios. Your firm's profitability, liquidity position, operating efficiency, and leverage position are all interrelated, and no single aspect of performance should be considered apart from other aspects. There is, however, a caveat: The compilation and display of a set of ratios for your company in a given year is of limited usefulness by itself. Ratios must be compared to performance in other years and to appropriate standards for companies of approximately equal asset size in similar industries.

Internet references for further information
  • AccountantsWorld.com (www.accountantsworld.com )
  • Faulkner & Gray’s electronic accountant (www.electronicaccountant.com )
  • Money Tree Software (www.moneytree.com )
  • CPAinfo.com (www.cpainfo.com )
  • Pro2Net Accounting (www.accounting.pro2net.com )

Jack Fox is the executive director of The Accounting Guild in Las Vegas, NV. Fox has been assisting thousands of accountants and IT consultants in building their own successful businesses. He has also been coaching for effective leadership in IT functions of small- to medium-size enterprises since 1984. He is the author of five books, including the third edition of Starting and Building Your Own Accounting Business, published by John Wiley & Sons.

Takeaway: Although return on investment is a very popular metric, it may not always be the right choice when evaluating IT projects. Learn your way around ROI with this step-by-step tutorial and find out some of the key drawbacks of this metric.

The virus is the nemesis of the Exchange administrator. The software bug is the nemesis of the support tech. And a pesky financial metric known as ROI is often the nemesis of the CIO.

Although many CIOs are convinced that return on investment (ROI) is not an appropriate way to measure the value of an IT project, it remains one of the most commonly used metrics. Business and financial leaders often require it before they approve project funding.

CIOs know they must understand ROI if they have any hope of helping other business leaders understand why it needs to be used with caution—especially when evaluating IT projects.

We’ll review how to calculate ROI, and we’ll outline a few of this metric's key drawbacks.

ROI definitions
TechRepublic’s Carmen Barrett, director of planning & analysis, provided the information for this primer. She begins by explaining how to define ROI in the simplest terms: “If we pay for this, what do we get for our money?” Figure A displays the basic formula for ROI.


Figure A


A case study using ROI
To illustrate ROI, Barrett created a hypothetical case study in which Company XYZ wants to buy a new server. This example is a revenue-generating capital project for an IT department (see Figure B). The return and investment figures are as follows:
  • The equipment cost is $100,000. Installation is $50,000, and maintenance is $10,000 per year.
  • The server has a useful life of eight years. (While this lifespan is not typical of most servers, we’ll use this number just for this example.)
  • The company will need to add another salesperson ($35,000 salary per year), but it expects sales to increase by $70,000 each year.

Figure B


Barrett warned that this example is oversimplified. Your organization may require many more figures to calculate return or assets invested. For example, some businesses include tax savings or overhead savings when calculating return.

Determine the present value of money
After you calculate the return and the assets invested, it would seem that you have the necessary figures to determine ROI, which is return divided by the assets invested.

However, Barrett recommends that you also factor in the time value of money (TVM) before you calculate the annual returns expected on the project. It’s a step that is typically recommended but often neglected.

Calculating the TVM takes into account the impact of inflation on future returns. The $25,000 cash inflow that Company XYZ expects to receive each year is not worth the same amount each year. Remember, the server is expected to last eight years, so the $25,000 cash inflow that our example company will receive eight years from now will be worth much less compared to the $25,000 that we receive this year (see Figure C).

Figure C


So how do you calculate the TVM in order to arrive at the $164,559 return figure? Here are two quick-and-easy methods that are commonly used:
  • Use a financial calculator, such as the Texas Instruments BAII Plus or Hewlett-Packard 10B financial calculators. (For a helpful tutorial on using an HP financial calculator, check out the Calculator Tutorials Index on the Metropolitan State College of Denver Web site.)
  • Use the TVM calculator that’s provided in Excel (see Figures D and E).

Figure D


Figure E
This is Excel's Present Value (PV) formula that you'll use for the calculation in the cell described in Figure D. To find this formula, click on fx on the toolbar and locate PV from the drop-down menu.


Plug in your numbers to calculate ROI
With the returns and assets calculated, we can use our figures in the formula to arrive at ROI for the server project (see Figure F).

Figure F


The limitations of calculating ROI for IT projects
If the financial gurus and business leaders in your organization are like most, they would prefer to have ROI calculated for just about every project.

“The reason that it’s so popular to look at IT projects [by ROI] is because it boils everything down into similar metrics, so everybody gets a percentage ROI, and it’s really easy to compare different projects,” said Barrett.

But Barrett cautions that calculating ROI for IT projects has a long list of disadvantages. We'll discuss some of these problems below.

ROI is a metric that favors cost-saving projects
ROI calculations for cost-saving projects are more accurate because the enterprise already has the data needed for the equation. When calculating ROI for a revenue-generating project, estimates are often used, which makes the ROI calculation less accurate. The result is that revenue-generating projects are at a disadvantage if they are competing against cost-savings projects based on ROI.

ROI can’t calculate valuable, intangible qualities
One metric can’t characterize the entire value of a project. Barrett recommends that when a CIO is faced with justifying an IT project, he or she should remind business leaders of the overall impact it will have for the enterprise.

“You really need to look at things like: How does this project fit strategically with your business? Is this going to position you for better growth or make you a first mover in the market? You may not be able to measure what those exact benefits are.”

For example, a research-and-development project may not show direct returns, but there is no doubt that not investing in R&D will hinder the long-term success of the enterprise.

IT will most likely be charged for project costs
Depending on how your organization assigns costs, it may be difficult for IT to charge a project cost to a particular department—especially when a project benefits the entire enterprise.

In our example of Company XYZ’s new server, Barrett predicts that the sales department wouldn’t accept being charged for the cost of the new server, although Sales would likely benefit the most from it.

“When Sales completed their budget, they assumed they would have the server all year long, and they built their sales projects based on that. Well, when IT built their budget, they didn’t know about this project. They didn’t think they had to include it in their budget.”

Keeping ROI in perspective
Barrett recommends that CIOs who don't wish to use ROI work with the company CFO or financial department to find an appropriate alternative metric to measure IT projects. Such alternatives include calculating one of the following:
  • Payback
  • Net present value
  • Total cost of ownership

But don’t be surprised if the financial team views any alternative metric as subordinate to ROI. In some organizations, ROI will remain a required figure for any project.

“You will never get a financial person to approve a project without a metric or number behind it. You can’t manage what you can’t measure,” said Barrett.

Takeaway: Whether you are engaging a client on a solution proposal or simply kicking off your project exploration phase, clients are today deeply interested in ROI. Here's how to make that pay off for project managers.


I was trying to determine the return on investment (ROI) on a project recently and got hopelessly stuck—and I’m running the project. None of my developers were able to help either. You may find yourself in a similar bind when upper management requires an ROI figure before giving your project the green light. The task may seem difficult, but don’t give up yet.

ROI offers tremendous leverage and benefits in establishing the business case to justify technology initiatives. However, it is just one of several financial measurement tools that can be used to support an investment decision. For some IT projects, it is nearly impossible to express the benefit in numbers. However, the return can be significant, albeit of a nonfinancial nature (e.g., competitive advantage, product differentiation, customer service). Executives today are therefore deeply interested in ROI. In the majority of cases, the returns will be substantial—if the project is deployed correctly.

The first step in justifying the value of IT is to perform an ROI analysis of planned projects. You must evaluate projects based on costs, savings, strategic benefits, and risks in order to determine the most advantageous initiatives for the enterprise. Executives want to know which projects will contribute the most to the strategic and tactical business goals.

I recently met with a group of fellow project managers to discuss IT ROI. The discussion was interesting in that the project managers I interviewed could tell me how much they spent on their technology initiatives, but very few could actually say what that investment returned to the enterprise.

IT projects are inherently risky, and many fail to deliver on stated business objectives. Every organization has limited resources and more to do than the budget will allow. Already squeezed on their spending allocation, executives are typically left with a meager 10 percent of their IT budget for innovation—once operations, maintenance, upgrades, and migrations are paid for. So projects that fail to deliver value are a major source of contention within organizations. That is why so much emphasis is placed on high-quality project management and why project managers really need to pay closer attention to ROI.

In fact, leading industry researchers are saying:
  • 79 percent of companies now require ROI analysis to be performed on IT investments (Ernst & Young, 2002).
  • 60 percent of all technology spending is controlled by business or functional managers and 40 percent by IT organizations (Gartner, 2002).

Project managers and vendors responsible for enterprise projects say that they’re getting better at establishing organizational goals for projects and avoiding the scope creep that is so common in most software/hardware implementations. Their projects actually delivered expected ROI numbers, such as increased revenue and lower costs.

The financial people are the ones most interested in ROI. They go by various titles, such as CFO, financial accountant, or project manager. Regardless of title, they’ll examine project expenses and trends to determine whether it makes financial sense to proceed or simply cancel a project. If you’re managing a team of developers writing 30,000 lines of code on a specific project that doesn’t justify a solid return, your CFO may cancel any financial backing. A case in point is when the economy slowed down, one of the first casualties were projects with poor returns. Had those projects shown a positive ROI, I’m confident they would have survived. Unfortunately, as I’ve experienced myself, the majority of executives and project managers cite that they and/or their teams do not have the tools, training, or facilities to communicate the ROI and value of IT effectively. Yet, it’s that very discipline that will hold the project manager to account for and deliver on expectations. Understanding and respecting the ROI of IT projects will keep you honest.

Reasons for determining your ROI
Here are leading ROI advantages:
  • It’s a great selling technique for senior executives.
  • It allows you to set investment screening thresholds (e.g., considering only projects that deliver ROI of at least 190 percent).
  • It enforces an understanding of the top/bottom-line business impact of the investment, since it is impossible to complete an ROI analysis without understanding the potential impact on cost and revenue generation.
  • It facilitates investment prioritization by making a project-to-project comparison between investment options, letting stakeholders focus on the intangible benefits separately.
  • It brings discipline on the part of vendors and decision makers to support business impact claims by taking a more quantifiable approach to business justification.
  • Lastly, it enforces accountability on the part of the project executive for the success or failure of the project.

Hitting home with ROI
We’ve established that ROI is a measurement used to evaluate (IT) initiatives in terms of financial value to an organization and should be used to help justify those same initiatives. But it’s important to note that the concept of ROI and the measurement of ROI vary from company to company and from executive to executive. This is because there are different criteria by which to measure ROI, and there are many ways to quantify it. In its simplest form, though, ROI is the ratio of present value of expected benefits over the present value of expected costs. Therefore:

ROI = (PV OF EXPECTED BENEFITS / PV OF EXPECTED COST) * 100

You may say, “Hold it. Some IT investments are nearly impossible to quantify.” I agree, but there’s always a way. A typical example is a business intelligence (BI) project. Even intangible benefits can be quantified with some creativity, and it is important to find a way to do this. Again, the financial person on your project can help.

Going back to projects that can be quantified, a basic rule of thumb is that projects with an ROI of less than 100 percent should not be undertaken unless there are compelling reasons to do so and strong executive sponsorship for the project. Anything over 100 percent has a better chance of passing the CFO’s scrutiny. Also, an important point to consider is the project’s expected payback. When the expected benefit exceeds expected costs, and that benefit is expected to be realized within the first year of the project implementation, the more likely the project is to proceed.

Caution
The best way enterprises can improve their ROI is by not inflating benefit expectations.

During the development phase, there may not be any measurable benefits. However, if a project goes live earlier, it stands to reason that project costs are reduced and revenue is increased. However, project managers should also understand that simply "crashing" or reducing the development phase by adding more resources (i.e., developers) will not bring about a better ROI, because more resources will add to the investment. So, you should carefully analyze the cost/benefit with the ROI expert on your team.

Figure A illustrates the concept of ROI within a project environment. It shows how project managers work with an ROI database and determine the ROI prior to the start of a project. The project review team documents the projected costs, potential savings, and risks. Make sure that someone who has a good financial background assists with the accuracy and logic of the ROI calculation. The results are then finalized and submitted to the executive team for approval and a go/no-go decision. If the project is of strategic value, the project manager may present such findings to the executive team.

Figure A
ROI in a project environment


Here are the steps you need to take for projects that fall into the (1) ERP, (2) CRM, (3) wireless, (4) legacy systems upgrade, (5) managed services, or (6) outsourcing categories:

Step 1: Determine the full scope of your project and baseline it.

Step 2: Estimate the resource costs to be used on the project.

Step 3: Use an ROI template/cost accountant to assist with the accuracy of the calculation.

Step 4: Submit to the executive team for review.

Factors affecting ROI
Since ROI may not factor in all risk or intangible rewards, it is prudent to list some of those risks and intangibles that may impact an IT project as a separate item on your document. Here are examples of factors that impact any ROI:
  • Lack of resources—Developers or testers may not be available or may not have the proper skill sets, requiring additional funding from the company.
  • Dissatisfied client—The client or users may be dissatisfied with the IT solution you delivered and reject it until it’s corrected. You may need to add code, burning up more time, testing, and money. Or, the solution may not be compatible with current or future operating systems, platforms, or other applications.
  • Unsatisfactory executive commitment—The executive team may not be fully committed to the project (e.g., dissatisfaction with the proposed project budget).
  • Vendor delays—Sometimes, vendors may be unable to deliver hardware or software when you need it, impacting your release date and potential revenue.

Understanding ROI will help you sell and manage your projects better from a financial perspective. In the future, project managers will likely place a greater priority on determining the ROI of a project. Available ROI calculators are somewhat fuzzy and difficult to pin down. Project managers should strive to understand ROI calculations. If you cannot get suitable training, get a financial person on your team to analyze ROI for you. Project organizations, boutique firms, educational institutions, and presenters should also begin addressing ROI prior to each project start. ValueIT ProjectROI is one commercial tool that I’ve found useful for calculating and assessing the ROI for any new project or proposal, thereby allowing you to align your IT budget accordingly. But that comes at a price. There are also free ROI tools available online.

How’s your ROI?
How do you calculate ROI on IT projects? Do you find Jason’s tips helpful? Do you have questions about calculating ROI? Post your questions or comments to the discussion board below.

Takeaway: Whether you are engaging a client on a solution proposal or simply kicking off your project exploration phase, clients are today deeply interested in ROI. Here's how to make that pay off for project managers.


I was trying to determine the return on investment (ROI) on a project recently and got hopelessly stuck—and I’m running the project. None of my developers were able to help either. You may find yourself in a similar bind when upper management requires an ROI figure before giving your project the green light. The task may seem difficult, but don’t give up yet.

ROI offers tremendous leverage and benefits in establishing the business case to justify technology initiatives. However, it is just one of several financial measurement tools that can be used to support an investment decision. For some IT projects, it is nearly impossible to express the benefit in numbers. However, the return can be significant, albeit of a nonfinancial nature (e.g., competitive advantage, product differentiation, customer service). Executives today are therefore deeply interested in ROI. In the majority of cases, the returns will be substantial—if the project is deployed correctly.

The first step in justifying the value of IT is to perform an ROI analysis of planned projects. You must evaluate projects based on costs, savings, strategic benefits, and risks in order to determine the most advantageous initiatives for the enterprise. Executives want to know which projects will contribute the most to the strategic and tactical business goals.

I recently met with a group of fellow project managers to discuss IT ROI. The discussion was interesting in that the project managers I interviewed could tell me how much they spent on their technology initiatives, but very few could actually say what that investment returned to the enterprise.

IT projects are inherently risky, and many fail to deliver on stated business objectives. Every organization has limited resources and more to do than the budget will allow. Already squeezed on their spending allocation, executives are typically left with a meager 10 percent of their IT budget for innovation—once operations, maintenance, upgrades, and migrations are paid for. So projects that fail to deliver value are a major source of contention within organizations. That is why so much emphasis is placed on high-quality project management and why project managers really need to pay closer attention to ROI.

In fact, leading industry researchers are saying:
  • 79 percent of companies now require ROI analysis to be performed on IT investments (Ernst & Young, 2002).
  • 60 percent of all technology spending is controlled by business or functional managers and 40 percent by IT organizations (Gartner, 2002).

Project managers and vendors responsible for enterprise projects say that they’re getting better at establishing organizational goals for projects and avoiding the scope creep that is so common in most software/hardware implementations. Their projects actually delivered expected ROI numbers, such as increased revenue and lower costs.

The financial people are the ones most interested in ROI. They go by various titles, such as CFO, financial accountant, or project manager. Regardless of title, they’ll examine project expenses and trends to determine whether it makes financial sense to proceed or simply cancel a project. If you’re managing a team of developers writing 30,000 lines of code on a specific project that doesn’t justify a solid return, your CFO may cancel any financial backing. A case in point is when the economy slowed down, one of the first casualties were projects with poor returns. Had those projects shown a positive ROI, I’m confident they would have survived. Unfortunately, as I’ve experienced myself, the majority of executives and project managers cite that they and/or their teams do not have the tools, training, or facilities to communicate the ROI and value of IT effectively. Yet, it’s that very discipline that will hold the project manager to account for and deliver on expectations. Understanding and respecting the ROI of IT projects will keep you honest.

Reasons for determining your ROI
Here are leading ROI advantages:
  • It’s a great selling technique for senior executives.
  • It allows you to set investment screening thresholds (e.g., considering only projects that deliver ROI of at least 190 percent).
  • It enforces an understanding of the top/bottom-line business impact of the investment, since it is impossible to complete an ROI analysis without understanding the potential impact on cost and revenue generation.
  • It facilitates investment prioritization by making a project-to-project comparison between investment options, letting stakeholders focus on the intangible benefits separately.
  • It brings discipline on the part of vendors and decision makers to support business impact claims by taking a more quantifiable approach to business justification.
  • Lastly, it enforces accountability on the part of the project executive for the success or failure of the project.

Hitting home with ROI
We’ve established that ROI is a measurement used to evaluate (IT) initiatives in terms of financial value to an organization and should be used to help justify those same initiatives. But it’s important to note that the concept of ROI and the measurement of ROI vary from company to company and from executive to executive. This is because there are different criteria by which to measure ROI, and there are many ways to quantify it. In its simplest form, though, ROI is the ratio of present value of expected benefits over the present value of expected costs. Therefore:

ROI = (PV OF EXPECTED BENEFITS / PV OF EXPECTED COST) * 100

You may say, “Hold it. Some IT investments are nearly impossible to quantify.” I agree, but there’s always a way. A typical example is a business intelligence (BI) project. Even intangible benefits can be quantified with some creativity, and it is important to find a way to do this. Again, the financial person on your project can help.

Going back to projects that can be quantified, a basic rule of thumb is that projects with an ROI of less than 100 percent should not be undertaken unless there are compelling reasons to do so and strong executive sponsorship for the project. Anything over 100 percent has a better chance of passing the CFO’s scrutiny. Also, an important point to consider is the project’s expected payback. When the expected benefit exceeds expected costs, and that benefit is expected to be realized within the first year of the project implementation, the more likely the project is to proceed.

Caution
The best way enterprises can improve their ROI is by not inflating benefit expectations.

During the development phase, there may not be any measurable benefits. However, if a project goes live earlier, it stands to reason that project costs are reduced and revenue is increased. However, project managers should also understand that simply "crashing" or reducing the development phase by adding more resources (i.e., developers) will not bring about a better ROI, because more resources will add to the investment. So, you should carefully analyze the cost/benefit with the ROI expert on your team.

Figure A illustrates the concept of ROI within a project environment. It shows how project managers work with an ROI database and determine the ROI prior to the start of a project. The project review team documents the projected costs, potential savings, and risks. Make sure that someone who has a good financial background assists with the accuracy and logic of the ROI calculation. The results are then finalized and submitted to the executive team for approval and a go/no-go decision. If the project is of strategic value, the project manager may present such findings to the executive team.

Figure A
ROI in a project environment


Here are the steps you need to take for projects that fall into the (1) ERP, (2) CRM, (3) wireless, (4) legacy systems upgrade, (5) managed services, or (6) outsourcing categories:

Step 1: Determine the full scope of your project and baseline it.

Step 2: Estimate the resource costs to be used on the project.

Step 3: Use an ROI template/cost accountant to assist with the accuracy of the calculation.

Step 4: Submit to the executive team for review.

Factors affecting ROI
Since ROI may not factor in all risk or intangible rewards, it is prudent to list some of those risks and intangibles that may impact an IT project as a separate item on your document. Here are examples of factors that impact any ROI:
  • Lack of resources—Developers or testers may not be available or may not have the proper skill sets, requiring additional funding from the company.
  • Dissatisfied client—The client or users may be dissatisfied with the IT solution you delivered and reject it until it’s corrected. You may need to add code, burning up more time, testing, and money. Or, the solution may not be compatible with current or future operating systems, platforms, or other applications.
  • Unsatisfactory executive commitment—The executive team may not be fully committed to the project (e.g., dissatisfaction with the proposed project budget).
  • Vendor delays—Sometimes, vendors may be unable to deliver hardware or software when you need it, impacting your release date and potential revenue.

Understanding ROI will help you sell and manage your projects better from a financial perspective. In the future, project managers will likely place a greater priority on determining the ROI of a project. Available ROI calculators are somewhat fuzzy and difficult to pin down. Project managers should strive to understand ROI calculations. If you cannot get suitable training, get a financial person on your team to analyze ROI for you. Project organizations, boutique firms, educational institutions, and presenters should also begin addressing ROI prior to each project start. ValueIT ProjectROI is one commercial tool that I’ve found useful for calculating and assessing the ROI for any new project or proposal, thereby allowing you to align your IT budget accordingly. But that comes at a price. There are also free ROI tools available online.

How’s your ROI?
How do you calculate ROI on IT projects? Do you find Jason’s tips helpful? Do you have questions about calculating ROI? Post your questions or comments to the discussion board below.

Takeaway: How to achieve maximum ROI with mobility projects


Return on Investment, or ROI as it is popularly known, is the primary factor influencing investment decisions in many enterprise mobility projects. Nonetheless, understanding ROI and the associated elements, such as Total Cost of Ownership (TCO), are keys to the success of your client's enterprise mobility venture. Very often a hindrance to the adoption of enterprise mobility is the difference between the potential ROI and the perceived ROI. As I'll explain in this article, these perception differences arise primarily out of wrong ROI modeling and over-reliance on hard ROI statistics.

No ROI model fits all!
ROI rests on dynamic variables that depend on factors ranging from duration of the project, coverage of the project, scale of implementation, scope of the project, who executes the project, and the effectiveness of execution. Returns do not typically show a straight-line relation with time. Over time, returns are bound to change because of the interaction of several factors that include changing business dynamics, evolving maturity around using the new technologies, and the impact of other evolving technologies. The primary returns in mobility may also change with time, thereby making the ROI calculation difficult. For example, the investment in mobility may result in a reduction in costs in the first year and increased revenue the next. Also, accurate ROI makes sense only if TCO is clearly understood by the client. TCO should be seen as more than just the cost of a particular solution. As the use of mobile services evolve and lead to higher returns, TCO may also increase because of the added burden of higher support and operational costs of newer applications. It is possible (and consultants need to realize this) that this increase in TCO may more than offset the returns estimated by ROI.

Once ROI considerations have led to the adoption of an enterprise mobility solution, the next step is enabling effective monitoring of ROI. Fundamental to ROI monitoring is benchmarking all the critical processes involved in order to measure improvements. Associated with benchmarking, of course, is metrics. Often organizations are unable to assess the financial value of an improvement in a business process because of the unavailability of relevant metrics.

Hard ROI can lead to wrong strategic decisions
Mobile technologies can have several side or "soft" benefits such as knowledge management, increased collaboration, organizational cohesion, and higher levels of employee satisfaction. All these benefits can have significant impact on the health of an enterprise. For example, an important decision made at a right time can have significance in terms of competitive advantage, winning a contract, or preventing a crisis from happening. Similarly, higher employee satisfaction can have benefits ranging from increasing productivity to lower employee turnover.

These and several other softer benefits are not conducive for hard quantification, but at the same time hold clear strategic importance. Nonetheless, your client will largely rely on hard ROI statistics in making investment decisions related to mobile IT. More than 75 percent of enterprises, according to Gartner, will be unable to prove ROI because of their failure to articulate mobility’s quantitative and qualitative benefits. Thus, decisions that are made from a hard ROI based model may not strategically be the best decision for your client. Whereas hard ROI is a driver for adoption of mobile technologies, softer returns need to be driven by strategic plans. Most of the mobile IT initiatives today are driven for operational impacts. In the future, this way of thinking needs to change to include both tactical (primarily operational) and strategic initiatives.

Execution: Realizing the ROI
While an enterprise mobility strategy should include elements related to enterprisewide collaboration, execution of the strategy invariably needs to start with small pilot testing. Often, dividing a large project into small scale projects is a smart execution strategy, as it not only helps in minimizing the risks, it also helps in ramping up the necessary IT skills needed for large scale mobile IT implementations. An important part of execution is the careful sequencing of pilots based on prioritized plans.

Effective execution should also ensure that the project is yielding the optimal results. Often, in spite of the potential of a solution to deliver value, mobile solutions may provide less than optimal results because of simple factors such as culture, usage habits, or a lack of support and training. Realization of optimal ROI depends on the user satisfaction with the service. Hence user satisfaction should be effectively and regularly monitored, especially during the initial roll-out period.

Providing a clearer path
There is an interesting relationship between ROI and the execution of any enterprise mobility project. Clearly, how a project is executed has a visible impact on the overall ROI. At the same time, however, ROI considerations are often used by a client as the sole driver in mobility projects. It's only when we combine the strategic implications with the tactical aspects of traditional ROI calculations that we can help our client's make better decisions about an investment in mobility technology.

Takeaway: Trying to decide how well your next project will pay off for your company in five years? Knowing how to calculate return on investment (ROI) can help you in your decision.


Each week, our TechRepublic financial team fields a question from working IT pros about the mysteries of making those budget sheets balance. This week’s question deals with return on investment (ROI), a deceptively simple financial yardstick that means a lot to revenue planners but may not be entirely applicable to infrastructure initiatives.

So, what exactly is ROI?
TechRepublic IT team: Say that we were proposing a rollout from our old Exchange-based system to a new Lotus Notes platform. A senior VP asks about the project's projected ROI. How do we calculate ROI, and is it the correct tool to use?

The Budget Crunchers: When faced with a big financial decision, it’s wise to look at the numbers involved and measure your alternatives in a way that allows you to make a meaningful comparison. Return on investment, commonly called ROI, is one tool that will help in this process.

Here’s the basic formula used to determine ROI:

ROI=Return/Assets Invested

Although ROI can be applied in the case you described, it isn’t the tool I would choose. Many of your technology investments are not made for financial return but, more simply, because you need the equipment or software in order to operate.

The benefits you reap will be intangible and difficult (but not impossible, as we shall see) to measure. Cost is your main concern, and it might be simpler to compare the expense of switching to the Lotus platform with that of staying in your current setup.

ROI lends itself much better to situations where, along with cost, there will be a clearer return. It is a valuable tool, however, so let’s take a look.

Financial gains
Return includes any financial gains received from the project in question. Usually, these are expressed in the form of cash inflows. Of course, return might be viewed differently dependent on your corporate culture.

You should also consider any cost savings that may result. Some of the benefits associated with a project can be difficult to quantify. For example, you may consider purchasing new software because it is easier to use. How do you translate “easier to use” into dollars and cents? Perhaps the ease of use will result in fewer help desk calls, freeing up some of your employees’ time.

What you pay for that time is a savings that should be considered part of your return. Maybe training requirements will be reduced, resulting in a lower expense. Be thorough, but also be realistic. You don’t want wild, far-fetched estimations to cast a shadow of doubt over your entire proposal.
Ask our TechRepublic Budget Crunchers for pointers on making financial sense from all those IT expenditures. Due to the number of requests, we may not be able to answer every question we receive, but we will review all the e-mails you send us.
On most projects your main investment will be the direct cost of the equipment and services purchased. But here again, be careful not to overlook other, less obvious outlays. If equipment is added, what will maintenance cost? Will any employees be added as a result? What about upgrades?

ROI is a useful fiscal yardstick because it takes alternatives with unequal returns and/or costs and compares them on an equal footing. For example, let’s say your department is evaluating two hypothetical projects.

Project 1 has a cost of $79,000 and a return of $40,000. Project 2 has a cost of $84,000 and a return of $47,000. Which is the better project? Let’s check the math.



With all other factors being equal, we can see that Project 2 yields a better return on our investment. Unfortunately, all other things are not normally equal, and ROI cannot stand alone as a decision tool.

Let’s look at another hypothetical. Project A has a cost of $10,000 and a return of $7,500. Project B has a cost of $100,000 and a return of $40,000.



Project A clearly has the ROI upper hand. But let’s assume these projects are mutually exclusive and that you have $100,000 to invest. Project 2 will hand you $40,000 in return, as compared to the $7,500 from Project 1. If you wind up having to hold the remaining $90,000 that would remain uninvested if you chose Project 1 in a low-yielding corporate account, then suddenly Project 1 becomes less attractive. The return on what is actually invested in the project is good, but the return on what you have to invest is poor.

The fine print
Of course, budgeting is never as easy as it seems at first, and that’s certainly true of ROI calculations. In reality, unless your total investment and return will be realized within a short period of time, you must also consider the time value of money (TVM). A more realistic project analysis would involve an initial investment, additional costs that will occur throughout the coming months or years, and returns that will be received throughout the coming months or years.

For example, a project will cost $100,000 up front but will result in $10,000 cash inflows at the end of each of the next 10 years. Quick math would seem to present you with a 100 percent ROI initiative.

Wow! You’ve really stumbled on to something here, haven’t you? Yes and no. It may be a good project, but it’s not as good as it looks. The calculation fails to consider that a payment of $10,000 10 years from now is worth much less.

For example, I could put a little over $5,000 into a money market account at 7 percent interest today, and in 10 years the account would be worth $10,000. In a drawn-out project such as this, you will want to calculate the present value (PV) of all costs and of all returns and then use your PV numbers to calculate true ROI. (Unfortunately, TVM is a lengthy topic on its own, so we’ll save the rest of that discussion for another day.)

Now, as I mentioned, in the scenario you described, I wouldn’t use ROI. Instead, I would simply focus on the investment part of the equation we’ve been discussing. In your case, figure all the costs associated with keeping your current platform. Use the ideas already discussed (and be thorough), and then figure all the costs associated with switching to Lotus.

Now you can see how much the new system will cost over and above what you would have spent anyway. Or, perhaps you’ll actually realize a cost savings, in which case this decision is a no-brainer.

Bottom line
ROI can be an easy-to-use and helpful tool in analyzing spending decisions. You should take care to consider all costs and returns that will result from your decision. This will involve assigning dollar values to less tangible benefits and obligations that are involved in the proposed course of action.
If you'd like to share your opinion, please post a comment

When measuring your development project’s ROI, it’s important to go beyond the basic calculation. Here are a few important costs and returns that you may have overlooked.

——————————————————————————————————————-

While participating in the BNET Webcast Effective Customer Experience Management, I answered a listener’s question about how to measure a project’s ROI. This got me thinking about how rare it is for ROI to be measured in development projects. Even when it is measured, it’s usually not done correctly.

Without proper ROI measurement, it can be very difficult to justify a development project when the belt tightening comes. Here’s a list of factors that you should remember when calculating your project’s ROI.

Investment costs

To understand ROI, let’s first take a look at the investment aspect, which is where many ROI measurements go wrong. The investment in a project is more than just the salary of the people directly working on it, and the materials consumed along the way.

Read this list of commonly overlooked costs to see if you’re including the right things in your ROI equation.

  • Benefits: The people on your development team have benefits (such as a 401(k) and life insurance) that cost roughly the same regardless of the person’s salary. When estimating your cost, you need to include the cost of benefits on top of salary. For many employees who are low on the salary ladder, their benefits can often come close to their salary.
  • Operational overhead: Are you doing a ton of cross-country conference calls? If so, it might be a big phone bill. Energy and cooling costs are becoming major cost centers too; travel can take a big chunk out of your budget as well. On one project that I worked on, I realized that about 10% of the entire sale was spent simply to send the team onsite to perform the initial evaluation. There’s little ROI possible with an investment like that!
  • Opportunity cost: This is an opportunity cost: When someone is working on a project, what revenues are they not generating? For example, when a developer is maintaining legacy code instead of helping to roll out a new project, a new revenue stream is delayed, which is lost revenue. When the sales team gets too involved with the business analyst’s role, they are not selling, which means lost sales.
  • Management time: Every time you need a VP to come in and settle a dispute, it costs money. Whenever you have a meeting and decide to talk to the stakeholders who are not directly involved, it costs money. It is very easy to forget that management’s time has a cost too, and it is tough to accurately measure it.

Not-so-obvious “returns”

Direct revenue is the obvious number to measure the return on a development project. But you can also find a ton of extra “returns” on your investment that might not be so obvious. When the chips are down, and it’s “put up or shut up” time in the budget review, you’ll want to have the following numbers in hand.

  • “Synergy” revenue: If you can determine that customers who purchase Product A are 10% more likely to purchase Product B, you should include that “synergy” revenue into your ROI calculation for Product A. On the other hand, Product A may also render Product C obsolete or irrelevant, which would be a loss of return.
  • Side effect savings: Some projects may not generate much (if any) revenue, yet they save the company money. For example, a Web site redesign project might reduce calls to the Help Desk by 40%, which is a significant savings that you should not overlook. On the other hand, you also want to bring up any items that count against the return column. For instance, if a product has a lot of defects and incurs a lot of returns, it can wind up costing the company money.
  • R&D levers: Some projects (particularly infrastructure and framework projects) can make it possible to slash the R&D time and effort needed for other projects. Try to figure out how much of a leg up your other projects get and put that as a return.

Formulate the right equation

To sum up, it’s important that you go beyond the basic ROI calculation of, “We spent $X on salary to develop the product and saw $Y in sales of the product, so the ROI is $Y - $X and the profit margin is $X / $Y.” These types of simplistic calculations make a lot of valuable development projects look like a waste of time.

J.Ja

Disclosure of Justin’s industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

—————————————————————————————

Get weekly development tips in your inbox
Keep your developer skills sharp by signing up for TechRepublic’s free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

Justin JamesJustin James is an employee of Levit & James, Inc. in a multi-disciplinary role that combines programming, network management, and systems administration. He has been blogging at TechRepublic since 2005. Read his full bio and profile.

At JavaOne in San Francisco, Telenor’s Fritjof Bogner Engelhardtsen and Sun’s James Gosling look at a new experimental development platform for SIM cards. The Java platform allows programmers to design new mobile services including adding sensors and Wi-Fi radio directly on the card.

Bill DetwilerBill Detwiler is Head Technology Editor of TechRepublic. Previously, he worked as a Support Tech and IT Manager in the social research and energy industries. Read his full bio and profile. You can also follow him on Twitter.

The sharper your SQL skills become, the more robust and error-free your solutions will be. Here are a dozen practical tips to get you started.



Your users probably don’t know a thing about SQL, but you know its value. It’s everywhere, it’s easy to learn, and SQL solutions are simple to implement. Whether you use SQL a lot or sparingly, working smarter with SQL will help you avoid errors and improve performance.

Many SQL are vendor-specific. The following tips apply to Jet and Transact-SQL, but most SQL products are similar.

Note: This article is also available as a PDF download.

1: Working with Jet SQL in the Access SQL window

Access users create SQL statements every time they create a query; they just don’t know it. They’re using the Query Design window, a graphic representation of the actual SQL. Most users can’t create the appropriate SQL statements they need, so the graphical interface is helpful, but it can help you too. If you can’t create errorless SQL code off the top of your head, let the SQL window help out:

  • Create a query using the Query Design window and then copy the code from the SQL window into a VBA module for use in code.
  • When a query in code returns one of VBA’s meaningless error messages, copy the SQL statement to the SQL window and run it. Access will usually return better information about the error than VBA.

You can’t always copy a SQL statement straight from the module to the SQL window. If the statement includes concatenation or variables, add a Debug.Print statement right after the definition statement. Then, if you need to debug the statement, copy the evaluated statement from the Immediate window. For instance, the following statement in code won’t run in the SQL window because of the variables and concatenation:

"SELECT * FROM " & tbl & " ORDER BY " & fld

However, if you follow the statement with a Debug.Print statement, you can copy the evaluated results, which follow, from the Immediate window:

SELECT * FROM Employees ORDER BY HireDate

2: Words reserved by SQL

SQL reserves several words, such as keywords. Avoid using these words to name columns, tables, variables, or any objects. Their use outside of the context in which the engine expects them confuses the engine and generates errors, or worse — incorrect results.

3: The difference between ALL, DISTINCT, and DISTINCTROW

SQL’s SELECT statement supports three predicates: ALL, DISTINCT, and DISTINCTROW. ALL is the default and returns all records that fulfill any specified conditions. DISTINCT limits the results to unique values in a specific column or columns. For instance, the following statement would return only one record for each LastName value:

SELECT DISTINCT LastName

In other words, if you have a record for both John and Mary Smith, this statement returns only one record for Smith. However, DISTINCT works with all the columns, not just the column that immediately follows. That means, this statement will return a record for both John and Mary because the combined columns don’t produce a duplicate record:

SELECT DISTINCT LastName, FirstName

If the SELECT clause references more than one column, the combination of values from all the selected columns must be unique for a given record.

DISTINCT has a few quirks you should know about but might not expect:

  • Don’t use DISTINCT with the asterisk character (*). You must specify columns by name.
  • Any query using DISTINCT isn’t updatable, which makes sense.

While DISTINCT works with columns, DISTINCTROW works with records. (Transact-SQL doesn’t support DISTINCTROW.) This predicate has a few limitations of its own, which can make an error hard to troubleshoot:

  • The engine ignores DISTINCTROW if there’s only one table in the query.
  • The engine ignores DISTINCTROW if you reference all columns from all of the underlying tables.

4: Retrieving only what you need

It’s tempting to use the asterisk character (*) when retrieving data via a SELECT clause, but don’t, unless you really need to retrieve all columns. The more data you retrieve, the slower your application will perform. For optimum performance, retrieve only the columns you need.

5: Variations in aggregates

Both SQL and VBA support aggregate functions, but not the same aggregates. Although they aren’t interchangeable, you can often use one or the other. Table A compares the two types within the context of Jet and Transact-SQL.

Table A

T-SQL Jet VBA Explanation Considers Null
Avg Avg DAvg Returns the mean or average of the specified domain No
Count Count DCount Counts the number of non-Null values in the specified column No
Count(*) Count(*) DCount(*) Counts the number of rows Yes
Sum Sum DSum Totals the values in the specified column No
Min Min DMin Returns the smallest value No
Max Max DMax Returns the largest value No
First

Returns the value from the first row in the specified column Yes
Last

Returns the value from the last row in the specified column Yes
StDev StDev DStDev Returns sample standard deviation No
StDevP StDevP DStDevP Returns population standard deviation No
Var Var DVar Returns sample variance No
VarP VarP DVarP Returns population deviation No

Don’t use VBA’s domain aggregates when a SQL aggregate will do. When you must use VBA’s domain aggregates, apply an index to the underlying column for best performance. Keep in mind that although SQL’s GROUP BY doesn’t eliminate null values, most SQL aggregates don’t evaluate them. If you want null values considered, you must accommodate them in the expression.

6: GROUP BY considerations

SQL’s GROUP BY clause defines subsets of data. The most important thing to remember when including a GROUP BY clause is to include only those columns that define the subset or summarize data for the subset. In other words, a GROUP BY can’t include extraneous data. For instance, to learn the number of orders placed on a specific date, you’d use a statement similar to the following:

SELECT OrderDate, Count(OrderID)

FROM Orders

GROUP BY OrderDate

This query would return one record for each date. Each record would display the date and the number of orders for that date. You can’t include any other columns.

GROUP BY is versatile. You don’t need to specify a column in the SELECT clause to group by it. For instance, you could omit OrderDate from the above query and return just the count for each date (although the results wouldn’t make much sense). As long as the GROUP BY column is in the source, SQL doesn’t require it in the SELECT clause. On the other hand, if you refer to a column in the SELECT clause, you must also include it in the GROUP BY clause or in an aggregate function. For instance, the following statement doesn’t work because the Freight column isn’t part of an aggregate or the GROUP BY clause:

SELECT OrderDate, Count(OrderID) AS TotalForDate, Freight

FROM Orders

GROUP BY OrderDate

In truth, it doesn’t really make sense to try to include a column in this way. If you want the Freight data within the context of a GROUP BY query, you probably want a summary of the freight values in the group, as follows:

SELECT OrderDate, Count(OrderID) Max(Freight)

FROM Orders

GROUP BY OrderDate

Jet can’t group a Memo or OLE Object column. In addition, you can’t include a GROUP BY clause in an UPDATE statement, which makes sense. SQL would have no way of knowing which record to update.

7: Altering table structure

There are several SQL statements for altering the design of a table. Always approach such a task with care because you could destroy data. For instance, if you change a column’s data type, the engine might truncate or delete existing data to accommodate the new column’s data type. Keep the following limitations in mind when altering tables:

  • You can’t alter an existing column’s data to COUNTER if the column already contains data.
  • You can’t rename a column. You must remove the column using DROP COLUMN and then re-create it using the new name. To preserve the data, create the new column, copy data from the original column using UPDATE, and then delete the original column.
  • Before altering a table using ALTER TABLE, close it. Otherwise, the engine will return an error. The following VBA code will close an open table and inhibit the error that’s generated if the table isn’t open:
On Error Resume Next

DoCmd.Close acTable, table

On Error GoTo 0
  • You can’t delete a column if a constraint exists on that column. First, delete the constraint using DROP CONSTRAINT.
  • Remove a CHECK CONSTRAINT before deleting the table to which it applies.
  • You can’t modify an existing relationship. You must delete it and then re-create it.

8: SQL’s problem child, INSERT INTO

SQL’s INSERT INTO statement lets you add new data to an existing table. Used correctly, INSERT INTO works great, but you must remember one critical thing: Although the table designs don’t have to match, the specific columns identified on both sides of the task must match. In short, the table that receives the new data must contain the same columns as the incoming data.

You can also explicitly identify each column using the VALUES clause as follows:

INSERT INTO target (col1, col2, col3, ...)

VALUES(value1, value2, value3, ...)

However, this syntax adds only a single row at a time, so it will have limited use. You can omit the column references only if you supply a value for every column in target. When including the column references, their order must match the order in the table definition. You must include the primary key column, unless that key is an auto-numbering column — it isn’t necessary to include an auto-numbering column.

9: Using UPDATE to delete values

SQL’s DELETE statement deletes entire records. The statement won’t return an error if you specify a list of columns, but it will ignore the list. For instance, the following statements would delete all the data in a table named Employees:

DELETE

FROM Employees
DELETE Employees.*

FROM Employees
DELETE Employees.Salary

FROM Employees

Even though the last syntax specifies Salary, SQL will delete all the data, not just the Salary values. To delete specific values, use SQL’s UPDATE in the form:

UPDATE source

SET source.column = Null

[WHERE condition]

However, even this will return an error if column properties are in conflict. For instance, if a column requires data, it will reject Null.

10: Dropped properties with SELECT INTO

SQL’s SELECT INTO creates a new table by copying rows from an existing table using the following form:

SELECT list|* INTO newtable

FROM sourcetable

[WHERE condition]

However, this statement doesn’t copy the table exactly. It won’t copy the original table’s primary key, indexes, or column and table properties (beyond the default settings). In addition, it ignores Caption settings and uses the original column names.

When including a SELECT INTO statement, keep in mind that this statement will replace an existing table if one of the same name (newtable) exists within its scope. Fortunately, SQL will warn you first. In some cases, the engine will delete the existing table before it actually creates the new one, so if something goes wrong, you can’t rely on the original table because it’ll be gone. Before running a SELECT INTO, it’s a good idea to make a copy of the existing newtable, if one exists. In addition, if newtable is open, SQL will return an error.

You don’t have to copy data to the new table. You can create a new empty table by adding a WHERE clause as follows:

SELECT * INTO newtable

FROM source

WHERE FALSE

SQL will create newtable but copy no data to it because no record can satisfy the FALSE condition.

11: The difference between WHERE and HAVING

The WHERE and HAVING clauses perform similar functions but they aren’t interchangeable. WHERE limits the data returned by the SELECT clause; therefore, a GROUP BY is inconsequential. The engine compares data and eliminates records that don’t satisfy the WHERE clause before it groups the records. On the other hand, the HAVING clause eliminates data that doesn’t satisfy the grouping criteria.

If you have trouble remembering which clause to use, remember that the WHERE clause is positioned before the GROUP BY clause and the engine applies the WHERE clause before grouping the records.

12: UNION matchup

SQL’s UNION operator lets you combine records from different sources using the following form:

SELECT1 list|*

UNION

SELECT2 list|*

The important thing to remember with a UNION is that the column order in both SELECT statements must match. The column names don’t have to match, but each list must contain the same number of columns and their data types must be compatible. If the data types don’t match, the engine sometimes chooses the most compatible for you. The results might work, but then again, they might not.

By default, UNION sorts records by the values in the first column because UNION uses an implicit DISTINCT predicate to omit duplicate records. To include all records, including duplicates, use UNION ALL, which eliminates the implicit sort. If you know there are no duplicate records, but there are a lot of records, you can use UNION ALL to improve performance because the engine will skip the comparison that’s necessary to sort (to find duplicates).



Finally: 10 Things… the newsletter!

Get the key facts on a wide range of technologies, techniques, strategies, and skills with the help of the concise need-to-know lists featured in TechRepublic’s 10 Things newsletter, delivered every Friday. Automatically sign up today.

Susan Sales Harkins is an IT consultant, specializing in desktop solutions. Previously, she was editor in chief for The Cobb Group, the world's largest publisher of technical journals.


Justin James lists 10 ways that IT departments waste money on development efforts. Examples include using developers as support staff and failing to calculate a project’s ROI before green lighting it.

———————————————————————————————-

Many IT departments walk a fine line between being a needed cost center, a necessary evil, and an absolute money pit. In a few rare occasions, IT departments are able to deliver enough value to become profit centers.

One of the key factors in determining whether an IT department is delivering ROI has to do with the development efforts occurring within that department. In my experience, here are the 10 most common ways that IT departments waste money on development.

#1: Communication problems

Communication issues are one of the biggest causes of project failure; these issues are magnified with internal projects. Just because the “customer” works in the same building and has their paycheck signed by the same person as you doesn’t mean there won’t be communication problems. In fact, internally facing projects are often worse than projects for paying customers because internal customers don’t have to adhere to a contract, and no tangible value is placed upon the work.

In these situations, there is little incentive for the customers to work well with you, and if communication breaks down, they complain about how “IT is stonewalling us.” The result is wasted time and money due to things being delivered late, delivered wrong, or not delivered at all.

#2: Process issues

To the rest of the company, internal IT is like the nephew you can order to come mow the lawn when needed. This is no way to run development projects. All too often, the IT department eventually tires of it, tries to establish some sort of process to put on the brakes, and gets initial buy-in from leadership. And when the other departments think “IT is stonewalling us,” leadership changes course and rescinds their buy-in without telling IT. The next thing you know, every minor meeting becomes a shouting match about who is adhering to what process or how the process is not working — even though the meeting might be about the feature list. Broken, ineffective, and unenforced processes are a major waste of time and money.

#3: Refusal to go live and iterate (aka: insistence upon perfection)

How many times have you seen a project that is 99% done not get deployed because one of the customers isn’t 100% happy with it? And then from there, it seems like you spend almost as much time tweaking a few minor issues as you did building the application in the first place.

This is where I am in 100% agreement with the Agile folks. If the project is even 90% complete, go ahead and deploy it. You know there are a few bugs and that some things are not “just so” but that is okay. Get actual users to work with it. Who knows? Maybe they’ll like it as is, or maybe they’ll have ideas that are even better than the features that were not delivered. But no matter what, having an application mostly done and not deployed means that it is going to take even longer to see ROI on it.

#4: Penny wise, pound foolish

All too often, leadership doesn’t think that it’s worth investing money in internal IT development projects. Their thinking goes something like this, “We won’t see revenue from it, so how can we see ROI?” Well, if the project won’t deliver value, why do it at all? Or, as many mothers have tried to explain to their children over the ages, “If something is worth doing, it’s worth doing right.”

This doesn’t mean that every developer needs a dual CPU desktop machine with a pair of 30″ displays, cable TV with all of the premium channels, and a chauffeur so they can write code on their morning commute. But it does mean that, if a developer needs a tool and can demonstrate that need, it should be bought. I cannot count the number of times I saw a developer with a $70,000/year salary spend three weeks doing something by hand that could have been done in a few hours with a $1,000 tool. Yeah, that was a great way to “save” money, wasn’t it?

#5: Outsourcing missteps

Everyone loves to knock outsourcing, regardless of whether it is contractors working onsite or offshore workers halfway around the globe. But the leadership team likes looking at the spreadsheet numbers on outsourcing, particularly when times are tight like they are now. The problem is, outsourcing often costs much more than it saves, because it is filled with hidden expenses.

For example, when you bring in contractors through a staffing agency, how do you think the agency finds workers of a particular skill level; charges you a fee less than what it would cost you to hire them directly; pay their overhead (such as that well-dressed salesperson and their recruiting department); and make a profit? Easy — they misrepresent the talent. Oftentimes, the staffing agency doesn’t have superstars “on the bench” waiting for the next hot assignment, they run an ad on a job board and fill your seats with the cheapest people they can get on two weeks’ notice. Anyone sitting around in the job pool just waiting to fill that position is probably not a choice employee.

Offshore workers are an entirely different issue; it’s extraordinarily difficult to manage a project that is developed offshore. Chances are, you’ll need at least one employee for every couple of your offshore workers just to manage them and keep track of what is happening. You might assume time zone, cultural, and language difficulties would be small problems, but they aren’t — just try to do your job efficiently when you need to wake people up if you want to talk to them after 1:00 PM.

I’m not saying that outsourcing is always a losing proposition; but a hastily thrown together outsourcing plan is a great way to throw tons of money down the drain and lose a lot of time in the process.

#6: “The Longest Yard” (documentation and user training)

While issue #3 (refusal to go live and iterate) keeps the product from ever reaching the users, what happens if the users never get documentation or training? Unless your application is as easy to use as, say, a phone book, it’s unlikely anyone will ever use it. Unused applications are the biggest waste of time and money possible because you went through the whole development cycle for nothing; you could have paid your team to sit at home playing video games and have gotten the same results.

If your project plan doesn’t provide the chance to put together documentation, or if no one has put together a training program, you might as well take your development budget and use the cash to light the BBQ grill.

#7: Developers used as support staff

If you ever worked support, do you remember what you earned? Now, are you earning a multiple of that income as a developer? Same here.

Developers are extremely expensive compared to support staff. Not only are the salaries higher, but the tools, training, etc. are too. The support team will need to work closely with development, especially for a new product; but developers should not be used as support staff, unless the project is very small and/or bug free and self explanatory — it’s just too expensive.

#8: Poor foundation for development

Many companies aren’t set up well for development, especially if there are only a few developers on staff. There is a lot more to working on code than having a standard desktop PC with an IDE installed and a few books on the desk.

There should be version control systems and bug tracking applications for all but the smallest of shops, for example. Developers will probably need additional support from IT, such as test machines (physical or virtual), database servers isolated from the production servers, and maybe a section of the network set aside to contain disasters if needed.

When developers don’t have the necessary resources to work safely and effectively, their work is slowed down, or it impacts the rest of the company in negative ways. Think about it… if a developer’s faulty test code blows up a database server, wouldn’t you rather they didn’t blow up the one that the accounting system is also running on?

#9: Fail to know the business

Internal developers should know enough about the business so they can follow along without needing every little thing explained to them; and the customers should know enough about their own work so that they can actually explain it. All too often, someone realizes halfway through the requirements gathering process that the customer doesn’t know their own process. It’s even worse when the project is given to the customer for review, and they say, “We don’t work this way; why does this application work this way?” And then you show them the specification they signed off on, and they say, “Well, we thought we did things that way, but we really don’t.” What a colossal waste of time and money!

As soon as it’s clear that the customer doesn’t really know their own process, you should stop development and tell them to figure out what they do before you can continue. Also, remind the customer that you’re a developer not a process engineer, so you’re not going to help them figure out their process, either.

#10: Neglect to calculate project ROI

There is a fundamental flaw with many IT development projects: No one tried to calculate ROI before giving the go-ahead. Yes, ROI calculations tend to be overly optimistic and difficult to get right (or even close to right), even after the project is in production. And yet, some projects are clearly a waste of money.

Think of how much time you need to save a department of $10/hour administrative personnel before it pays to have a $60,000/year developer devote three months to writing code. Sure, if it saves those personnel 10 minutes a day, and you have 50 of them on staff, the project makes sense. But if it merely replaces a well-organized and well-understood filing cabinet and saves three workers two minutes a day, the project shouldn’t even be considered without a strong external reason behind it (such as a legal or a customer requirement).

There is nothing just plain dumber than throwing away good money on a project that is guaranteed to not have any payoff.

J.Ja

Disclosure of Justin’s industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

Justin James is an employee of Levit & James, Inc. in a multi-disciplinary role that combines programming, network management, and systems administration. He has been blogging at TechRepublic since 2005. Read his full bio and profile.