Build IT vs. Buy IT


Although most Systems Analysis and Design textbooks seem to be written from the perspective of a large organization that develops its own software, an increasingly popular alternative is to acquire software from an outside vendor.

The advantage of developing your own software in-house is that it can be customized to the exact requirements of your own organization. When you purchase software from an outside party it may be a bit more generic and the organization may have to adapt its ways to the limitations of the software.

However, by purchasing software off the shelf or from a vendor the organization avoids the costs of in-house development. To some extent the development costs are spread out among all of the vendor's customers. Also, the organization may have the benefit of buying software that already has a proven track record in similar organizations.

Even so, selection of new software for an organization is never a trivial matter. Alternative solutions must be evaluated carefully, studying costs and benefits and making a determination of feasibility. The same knowledge and experience that an analyst would use to design a new system must be used to select a system that most closely meets the needs and objectives of the organization. And, regardless of whether the software is written in-house or purchased from the outside, the transition to a new system is always a serious challenge for any organization.

A more recent variation is the idea of neither building nor buying software, but rather "renting" software from an Application Service Provider (ASP). Unlike traditional software licensing in which an organization takes possession of a copy of the software and runs it on its own computer, the distinguishing characteristic of renting software from an ASP is that the software remains at the vendor's site, runs on the vendor's hardware, and is used over a wide-area network or the Internet. An Application Service Provider, then, is an independent third-party provider of software-based services which are delivered to customers across a network. An ASP is a supplier who makes applications available on a subscription basis. An ASP rents the use of an application, providing all aspects of deployment and maintenance.

While this kind of arrangement frees the organization from having to be concerned about the expense (in money, time, and human resources) of software upgrades and maintenance, a major concern becomes network bandwidth. Since the application is run across the network, instead of on a local machine, any network congestion or slowdown will directly affect response time for the end user.

Another concern is data security. Businesses are sensitive to the matter of personal customer data and proprietary information traveling over network lines. And, depending on the nature of the application, unless it is possible to isolate or partition the executable from the data, an organization's data may end up being stored on off-site computers. If so, is the data secure and protected against loss or improper access?