Some tips on what to look out for when you are acquiring computer hardware, software, or consulting services
© 2007 Peak Computer Care LLC
Introduction/Abstract:
Acquiring computer systems (hardware and software), or obtaining IT consulting services poses some unique challenges that consumers need to be aware of. Difficulties can be due to such things as the inherent complexity of computer systems, poor management of the acquisition process, or deceptive marketing tactics. This article gives an overview of the important things to consider when acquiring computer systems or consulting services.
Computer technology has revolutionized the way most businesses function and will continue to do so in the future. As we all know, acquiring computer systems is not without risk. In this paper, we identify common problem areas and give some broad, general advice on what you can do to minimize the risks involved. The points identified in this paper are not meant to be exhaustive, or to cover every conceivable situation that may arise. The scenarios and advice given here are meant only to be examples of the issues that may come up when an organization attempts to acquire computer technology.
Although the information given is organized into sections for clarity, the ideas and principles are highly interdependent and should not be viewed independently of one another.
Hidden Costs
One of the biggest problems associated with acquiring computer technology is that vendors offering to supply the technology are not always up front about all the costs involved. Due to the complexity of computer systems, consumers are often unaware of all that may be involved in using or developing the technology. Because of this, they may miss important costs involved with the system or services they are looking to acquire. Many of these costs are not obvious at all, and may only become apparent when systems are upgraded, extended, changed, etc., or are integrated with existing systems.
Here are some important questions to ask in regards to costs:
Sometimes costs are poorly estimated because proper analysis is never done to outline the requirements of the system. Proper systems analysis and software engineering early on in the development cycle is required to give a “blueprint” of the proposed system so that costs can be more accurately estimated.
Proprietary Hardware
Be careful about getting locked into proprietary hardware. If the hardware is proprietary, remember that the vendor will have a monopoly for supplying upgrades, parts, etc., so make sure you find out these costs before you decide to buy. There will be a temptation for the vendor to overcharge for things like upgrades or maintenance since you would be forced to buy from them only. In addition, some features you may want in the future may be unavailable if the vendor decides not to offer them. On the up side, companies like IBM can maintain stringent quality control standards over all aspects of their hardware, and if there is a problem, they cannot blame someone else to try to avoid taking responsibility.
Frameworks, Custom Software and Reinventing the Wheel
There are a number of ways to acquire the software your organization needs. Many large computer companies like IBM, SAP and Siebel offer off-the-shelf products, frameworks, consulting services and custom software. Another option is to hire programming staff to write the software in house.
When you purchase software, some software vendors may offer to supply the source code. This is highly variable and is dependant on the nature and scope of the software. If the vendor offers to supply the source code, make sure that the application was developed using industry standard computer languages, otherwise it may be useless. Some vendors may offer to give you the source code, but will then withhold some key code segments or libraries to make compilation impossible. Again, this renders the source code useless and leaves you at the mercy of the vendor. If you decide to create the software in house, you will then own it outright. Many companies do exactly that, so that they can maintain a high level of control over their computer systems.
One problem area in the software industry has been a lack of reuse of software code and components. The same software code has been written over and over again at different times and not reused for a number of reasons. As an analogy, imagine electronics manufacturers all creating chips from scratch, rather than using industry standard chips as needed for common components. This would needlessly inflate the cost of electronics and lead to a proliferation of incompatible components. Unfortunately, this has been the case in the software industry. Frameworks are one attempt to address this problem. They have a core group of common components that can be customized for a particular customer’s needs. There are different kinds of frameworks. One group of frameworks works at the software development level. Examples are ActiveX, MFC, and .NET. Another group works more at the application level where application specific components are customized for a specific purpose. Examples of this kind of framework are IBM’s San Francisco or Websphere.
Some words of caution here: sometimes using frameworks from companies like IBM, SAP or Siebel can be very difficult to do. There are times when customizing the framework can be more difficult and awkward than writing the components from scratch (ever heard of the expression “putting a square peg in a round hole”?). Frameworks and component architectures like ActiveX (also called COM), .NET and MFC offer a different and more flexible kind of re-use that can be superior in many circumstances. Choosing the kind of code reuse that is right for you is difficult and should be done by an expert in this area. Keep in mind that reuse can be a simple as buying an off-the-shelf software application like a word processor or spreadsheet program; this is the easiest kind of reuse.
The last area we would like to address is conflict of interest. Advice that appears to be objective and unbiased can actually be the opposite. This happens when the advice giver has a financial interest related to the advice being given. Here are a few example scenarios that we have seen:
- A consultant is hired to do a study on the feasibility of outsourcing an organizations IT department. The consultant works for the outsourcing company that is being considered to do the job.
- A salesperson suggests the best way to solve a computer related problem. The solution involves the purchase of products from the salesperson’s company.
- A consultant recommends a particular software company to do custom programming for a project. The consultant has a financial stake in the software company.
While these examples may seem obvious, it is amazing how often this kind of conflict of interest is overlooked. Do whatever you can to make sure that the advice you are given is indeed unbiased, objective and reliable.