The Many Flavors of Application Software Outsourcing
Defining the Problem
In the 1990s many companies rushed to upgrade or replace their legacy software prior to January 1, 2000—affectionately known forevermore as "Y2K." There was fear and concern that many legacy software applications would be unable to handle the requirements of a change in the first two digits of a four-digit year in date fields. A large number of companies chose to purchase and implement new software packages that handled most of their business processes in a single, integrated package from companies such as SAP, PeopleSoft, Epicor, Mapics, Intentia, and other ERP providers. Many other companies chose to modify their existing software to handle the Y2K requirements. Regardless of which approach a company decided to take, almost every company was working on its IT applications and demand for resources grew steadily.
During this time and continuing into the 2000s, labor costs for IT resources in the US and Europe spiraled higher at a rapid rate as a direct result of the demand created by Y2K, the dot-com bubble, and the rush to get on the Internet bandwagon. Today, there is a much larger reliance on IT applications, and IT applications touch a much larger part of an average business. The result is that IT-related labor demand, and therefore costs, are still quite high. Additionally, expectations and desires for software features from users and packaged software customers, combined with new demands created by the advent of the Internet, have resulted in tremendous breadth and complexity in the software used by most companies. This additional complexity has also contributed to the need for more IT resources.
During the same time period, the cost of computer hardware and other infrastructure equipment has fallen as the price to performance ratio of each successive generation of equipment is better or faster than the previous and usually costs less or the same as the previous version. The net result is that overall IT department costs have increased dramatically, and now typically constitute a greater percentage of the overall budget than they did fifteen years ago. Hence, many CEOs are now looking to reign in those costs without sacrificing any of the benefits or services that they have come to rely on.
How does application software outsourcing work?
As companies look to reign in IT costs, many are turning to outsourcing. But how does application software outsourcing work? Traditional thinking would suggest that a company would decide to outsource some portion of its software development and support, select an outsourcing provider, and then transition the work to that provider. However, an important step needs to be considered before selecting a provider. Companies must decide which outsourcing model they wish to engage. There are several ways that a company can utilize an outsourcing provider to supplement or support their application software. Among them are the following alternatives:
There are pros and cons to each of these alternatives. What is best for one organization may not be best for another one. There are also some variations to each of these that will be discussed later in the article. It is important for a company to understand the different approaches before it begins looking for an outsourcing provider.
Specific Project Model
option is to outsource one or more specific development projects. Companies
can outsource entirely new applications, add new modules to existing applications,
migrate an application to a new platform, or many other application-related
tasks. One of the key benefits to this approach is that there can be a very
clear expectation of scope, time, and cost. One of the challenges in obtaining
clear expectation is that the buyer has to provide a complete set of requirements,
specifications, or both. If the buyer only provides requirements without design
specifications, then by default, the buyer is allowing the outsourcer much more
freedom in the design and therefore the coding of the solution. If the buyer
provides requirements and design specifications, then the outsourcer has much
less leeway in completing the task, and must write code that matches the specifications.
In general, the advantage to the specific project method is that the buyers
know exactly how much will be spent for the project and when it will be completed,
and this arrangement is ideal for a fixed-fee bid. Estimating risk is transferred
to the outsourcer, meaning that the outsourcer may have to absorb the cost of
project overruns (or receive the benefit of coming in under budget). However,
solution risk is higher for the buyer, meaning that the buyer may not get exactly
what was desired or envisioned even though the system exactly matches the requirements
Another outsourcing model is to supplement the capacity or capability of the existing IT department. There are several variations to this approach. These approaches vary based on the focus of the arrangement, whether it is on an ad hoc basis or focused on a specific subset of IT work, such as new development or maintenance of older applications.
hoc: The buyer can obtain additional design, development, support, or quality
assurance resources. These resources act as an extension of the buyer's current
organization, and the leadership of the existing IT organization directs the
outsourcer's work. The primary advantage of this approach is that additional
resources are added at a lower cost than if hired locally. A disadvantage is
that the company has to manage resources in a remote location, which requires
extra project management, detailed project documentation and rigorous communication
processes. Assuming that the buyer has invested time and energy training the
resources, another disadvantage is that the buyer pays for all of these resources
every month whether needed or not, until such time that the buyer decides to
permanently decrease the size of the team.
application: The buyer can elect to have the outsourcer maintain or continue
to develop an existing application (or both), while the buyer continues to maintain
or develop other existing applications. For example, some companies may outsource
the customization and support of their ERP solution to either their ERP provider
or to a third-party outsourcer, while continuing to maintain all of their other
applications. The main advantage is that the buyer can focus on applications
built in one technology or domain while the outsourcer focuses on a different
technology and domain.
development only: The buyer outsources all future new development and uses
the in-house resources to maintain all legacy applications. This option is the
least risky from a skill and knowledge transfer perspective. The outsourcer
provides skills in the new technologies and the buyer doesn't have to retrain
existing employees in those new technologies. The buyer's very skilled and experienced
resources who originally developed the legacy application are typically the
best resources to continue to support that application. This option is best
for companies that are still running many applications that are twenty years
old or more.
only: Buyers outsource the support for most or all of their legacy applications
and perform all new development internally. The advantage is that many developers
want to move forward to new technologies, and this approach satisfies their
desire to remain "current" and to work on "new stuff" rather than maintaining
old code. The disadvantage is the cost and time involved with knowledge transfer.
Buyers have to train the outsourcer in the functionality of the legacy application
and maybe even train them in the technology, in addition to training their own
staff on new technologies.
Whereas the project model is a point solution, and the supplemental model extends the current IT staff with additional capacity, another outsourcing alternative is to outsource part or all of the IT department. As with the other models, there are several variations to this model as well.
application support: The buyer outsources all application development and
support to the outsourcer. All of the application support resources currently
employed by the buyer become employees of the outsourcer. The majority of the
work continues to be performed at the same work location at the buyer's site.
The main advantage of this approach is that future costs are known and fixed
for the buyer. The disadvantage is that the buyer has less control and less
flexibility than before.
IT Outsourcing: This approach is a slight variation to the on-site application
support approach. In this approach, the entire infrastructure is also given
or sold to the outsourcer. Some work may be moved to other locations where the
outsourcer can provide the same level of service, but utilizes shared resources
or on-demand services. One of the key elements to this approach is service
level agreements (SLAs), which are negotiated and included in the contract
agreement. The outsourcer is responsible for supporting all of the applications,
and for keeping the computer hardware and network operational and up-to-date
per the contract SLAs. The main advantage of this approach versus the on-site
application support model is that the outsourcer is now 100 percent responsible
for all of the buyer's IT. The outsourcer is counting on the fact that it will
be able to achieve the SLAs at a lower total cost by taking advantage of their
vast knowledge of IT and extensive technology infrastructure.
on-site models provide resources locally, another option is to provide these
resources from remote locations. This model is fast becoming the most popular
approach to application software outsourcing. The specific project model and
the supplemental model can both be setup as on-site or off-site models. In the
off-site model, the buyer engages with an outsourcer who has a development center
in India, China, the Philippines or some other low cost location. Much or all
of the programming, testing, quality assurance, documentation, and other tasks
are performed in the off-site location. There are several advantages to the
off-site model. First and foremost is cost. Typical companies can expect to
reduce their development costs by 30 to 40 percent by taking their development
offshore. Also, many of the offshore outsourcers have developed very robust
and repeatable processes, and are often certified at the highest levels by various
certifying organizations such as the Carnegie Melon Software Engineering Institute
(Capability Maturity Model - CMM) and International Organization
for Standardization (ISO). The disadvantages have to do with language and
communication, time zone differential, and physical distance, among other challenges.
These disadvantages can lead to unmet expectations, inadequate solutions, and
extra stress for the managers who have to work directly with the offshore organization
on a daily basis.
Once a company has decided to outsource some or all of its IT spending, it must also select the most appropriate outsourcing model for its business. Different outsourcing models should be evaluated and compared based on their ability to meet the strategic needs of the business today and into the future. Each model has advantages and disadvantages, and should be weighed carefully against the other alternatives. This will help determine which model to implement, as well as determine which kind of provider to select. The advantages of outsourcing are attainable, but proper planning and strategy are critical to attaining this value.
Maynard has over twenty years of technology, industry, management consulting,
and application software experience. He is an experienced executive with leadership
experience in the software industry, Big 4 Consulting, and Fortune 1000 industrial
companies where he gained extensive experience in outsourcing, IT services,
enterprise software solutions, and performance metrics.
A.B. has recently led projects to select offshore outsourcing providers, negotiate outsourcing contracts, implement outsourcing relationships, establish and run program management offices, define and implement metrics, and drive continuous improvement projects. He has also developed marketing programs and go-to-market strategies for consulting and outsourcing providers. He serves as the outsourcing specialist for Technology Evaluation Centers, and is president of Agilocity Consulting, a firm dedicated to helping companies improve their performance and profitability through the intelligent use of strategy, technology, outsourcing, and offshoring.
A.B. has a Master of Business Administration from Villanova University, a
Bachelor of Industrial Engineering from Georgia Tech, and is CPIM certified by APICS.
can be reached at firstname.lastname@example.org