|
Build vs. Buy
There are many times when it is
advantageous to purchase a commercial software package. If a commercial
software package exists that is close to the solution you need, and if the
process built into the software is relatively close to the process that you
want to follow, then it makes sense to purchase rather than build a software
solution.
However, there are many times
that it makes sense to build software for your organization: If there is no
package that meets your needs.
If you have a process or needs
that are unique or rare, there may not be a package to meet your needs.
If your business process
differentiates you from your competition
When you buy a commercial
software package for your enterprise, that software forces you to take a
particular approach to a process. As a result, your processes will be identical
to those companies who also bought the package, and your business will operate
using processes that can be easily matched by your competition. A custom
application helps you protect a unique process and guard against imitation.
If you don't want to change
your processes to meet the needs of the software you are purchasing
Enterprise software usually
outlines a specific process that must be followed to use that software
effectively. We often hear about companies spending years to adapt their
processes to meet the needs of their software. Often an easier (and less
traumatic) approach is to build software to support your existing processes.
If technology is a critical
part of your business
E-commerce is an obvious example.
Many tools are employed to build state-of-the-art e-commerce solutions.
Software design and development and often database integration are crucial to
your site's success. No matter what tools are used, your success early on
depends on the developers' strong understanding of technology and technical
architecture combined with technical creativity. Even the best software tools
won't provide you the knowledge that can be acquired only through e-commerce
development experience.
If you want to control what
changes are made to your software
When you build software, you
control what modifications are made to new releases. When you purchase
software, you are just one of many customers that impact how future releases
will look and what features future releases will have.
If you are not sure that a
purchased solution can be modified to meet your organization's needs, despite
the promises of vendors
At times commercial solutions can
be modified easily, at others they can be modified with difficulty, and
sometimes they can't be modified at all. This all depends on the range of
requirements considered when the software was developed. If a scenario arises -
such as a new business need of yours - that wasn't considered when the product
was developed, the architecture may not allow for the appropriate modification.
If the cost of customizing
commercial software approaches the cost of building software from scratch
The cost and effort of
customizing commercial software often meets or exceeds the cost of building a
solution that meets a company's specific needs. This is especially true when
commercial software only partially addresses a crucial business need. In many
cases, a company purchases the software, spends a substantial amount of time
and money to customize it, and ends up building a solution from scratch anyway
when it discovers the package's hidden limitations - only evident late in the
implementation process.
If you want to keep using
familiar desktop tools
Typically, new commercial
solutions come with new user interfaces, and you (or your users) may end up
interacting with dramatically different interfaces in the course of a day. A
custom solution is designed to fit seamlessly with the systems you already have
in place.
If you need to integrate the
new solution with existing enterprise systems from the start
When installing a commercial
shrink-wrapped solution, the greatest development challenge is to integrate the
new application with existing corporate systems. Once that hard work is done,
there is still no guarantee that the package will work with these legacy
systems completely. By contrast, a custom solution is developed and tested to
integrate with existing systems from the beginning.
When your situation maps to any
of the above, the best solution is to develop custom software. If you would
like to talk with us about your specific requirements or if you would just like
additional information, call us at (781) 250-2001 or email
info@knowledge-management.com.
|