Build, Buy, or Borrow


A team that wants to create an arsenal of tools to support software development infrastructure faces an important decision. Should the team purchase off-the-shelf tools from a commercial vendor, should they use shareware tools, or should they build their own custom tools? This is a complex decision that involves more than it would seem. Each of these three choices can be very expensive. The differences between the choices involve the timing of funds and resources expended. The following sections examine these choices.

Shareware Tools

A number of shareware tools can be procured with minimal up-front investment. They may make sense for your project, given the proper set of circumstances.

Shareware Advantages

The advantages of shareware tools are the following:

  • Shareware generally requires little or no up-front investment.

  • Much information on shareware tools often is available in the public domain. By conducting simple Internet searches, you can find documentation, usage tips, question-and-answer forums, and other information for free.

  • Source code for shareware is often available. This allows knowledgeable users to modify the tool's functionality or tailor it to better fit their needs.

Shareware Disadvantages

Shareware also has significant disadvantages, including the following:

  • In most cases, no support is available.

  • Little or no training may be available.

  • Updates are unpredictable. If your organization updates the version of the operating system on its client PCs, for example, and this means that the software no longer functions, there is no way to know in advance when a new version will be available to support the OS upgrade.

  • There may be no third-party consulting or services available to assist with customization and mentoring.

  • Integration with other tools may not be possible, or you may need to build the integrations yourself.

In spite of the long list of disadvantages, shareware may be the best option for projects short on funds. Just be sure you have extra development resources available to address the disadvantages without shortchanging the project for developers.

Commercially Available Tools

Perhaps, the option most projects choose is the many commercially available tools in the marketplace. This is a major industry, with companies large and small competing for billions of dollars of product sales.

Commercial Tool Advantages

The competitive landscape in today's marketplace has yielded many innovative tools worthy of attention. Yet, as with any alternative, there are advantages and disadvantages. Here are some advantages:

  • Software support, including phone support, periodic bug fixes and patches, and regular updates, is readily availablefor a fee.

  • Training and consulting services are generally available from the vendor. Often, for the more popular tools, third-party services are available as well.

  • User groups and information on the Internet are often readily available.

  • Integration with other tools is often offered. Some vendors offer complete suites of tools that support the entire process and that are completely integrated.

Commercial Tool Disadvantages

Despite their advantages, commercial tools are not without risks:

  • Commercial tools have a high initial cost, and then they incur periodic maintenance costs if you choose to purchase maintenance and support. This may be partially overcome by the leasing agreements that some vendors offer.

  • It is possible to mitigate a tool's high initial purchase cost by reusing it on subsequent projects, spreading the cost over multiple efforts. This exposes you to another risk. If the vendor goes out of business, you may be suddenly left with no support or upgrades for the tool you purchased.

  • Even companies that are financially secure can be acquired, which creates questions regarding the future of the specific tools you have purchased.

Overall, purchase of commercially available tools (not surprisingly) requires significant funds up-front, but you'll have fewer headaches over the lifetime of your projects.

Custom "In-House" Tools

Once a popular alternative, the use of custom "in-house" tools is dwindling, particularly given the rise of the availability of shareware solutions.

Custom Tool Advantages

Custom tools still have some advantages:

  • Custom tools can be tailored to an organization's specific needs.

  • Custom tools may become a competitive advantage for the company that owns them, particularly if the tools have features that other available tools do not.

Custom Tool Disadvantages

The many disadvantages of custom tools illustrate why their popularity is declining:

  • Custom tools require a significant investment of labor to create. The availability of tools is significantly delayed if the tools must be created first.

  • Company resources are required to maintain and support the software.

  • In an outsourcing scenario, the company that maintains the developed code for the project may not be the same company that developed the code. In this scenario, the company developing the code may not be willing to supply or deliver its custom tools to another company. This may complicate maintenance, if different tools must be used for maintenance than the ones used for development.

  • Integration with other commercial or shareware tools may not be available or must be built when needed.

  • No information is publicly available in user groups or on the Internet.

The creation of a software development environment populated with well-chosen tools and supported with a strong and responsive IT group can be a real competitive advantage for a company.




Project Management with the IBM Rational Unified Process(c) Lessons from the Trenches
Project Management with the IBM Rational Unified Process: Lessons From The Trenches
ISBN: 0321336399
EAN: 2147483647
Year: 2007
Pages: 166

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net