Offshoring Software Development
Introduction
If we want to talk about moving work offshore, we must first deal with the elephant
in the room. As we ease the pachyderm out the door, perhaps we can simply acknowledge
that the loss of local jobs arising from offshoring software development raises
issues well beyond the economic. These issues are a matter between board, senior
management and conscience. And as Forio Business Simulations notes: "We live in
a global economy and people in India deserve jobs as much as people in the United
States or anywhere else." (forio.com). This article
focuses on the potential economic gain of offshoring and on the snares and obstacles
waiting to sink their teeth into it.
The gain
The substantially cheaper contracts made possible by the relatively low wages paid
by offshore providers are the basis for the profit in offshoring software development.
Some hourly rates listed on the web for trained software engineers are as low as
US$15, permitting contracts at better than half the local price. This is the only
plus to offshoring, an attraction designed to seduce those with purchasing responsibility,
and which can dazzle and mislead many an uninformed player in the offshoring game.
Where are the costs?
The difference in costs associated with the development and production of tangible
versus intangible products is shown in the following table (source: forio.com.):
|
Industry
|
Assembly and Manufacturing Costs
|
Design Costs
|
|
Clothing
|
85%
|
15%
|
|
Software
|
5%
|
95%
|
In the production of straightforward tangible goods, such as clothing or toys, design
is undemanding, with the major effort being necessarily invested in materials purchase,
assembly, manufacture and distribution. The reverse applies to software, where dumping
the final product onto CDs takes miniscule resources compared with all the work
required in software design, redesign, coding, correcting errors, withdrawing from
blind alleys and gradually moving towards accomplishing the aims of the original
design.
Do not offshore everything
Anecdotal evidence strongly suggests potential offshorers should distinguish between
creative software which is strategically important and software designed to maximise
operational efficiency and effectiveness. Examples of operational software include
ordering, supplying and billing, cost and inventory control, HR functions and so
on. These can be fairly safely sent offshore for development – safely, in the sense
that since a company already has such systems in operation, there is usually less
urgency to upgrading them.
It is when the software in question matters to the company, where strategy and competitive
advantage are the central issues, that most of the offshoring pitfalls have their
greatest impact. Such software will differ from company to company, but all will
have vulnerabilities in common.
The design/code controversy
Are coders also designers, or do they simply code someone else's designs? This is
relevant to offshoring. Rockford Lhotka observes: "Some people seem to think that
you can separate software design from software coding. Sure you can but if you let
coders work in isolation they will find a way to mess up your design [in ways that
will not be obvious], so you will end up spending months 'fixing' the software …
" (lhotka.net/weblog). He argues companies
always struggle if they disrespect mere 'coding' and have a rank of higher paid,
non-coding 'architects' who pass the coding on to cheap minions.
Alternatively, can design be left to the coders? There are many who think not. "As
for throwing the whole design thing out, and just designing in code … hahahahahahahah
no really hahahahahahahahah." (developerdotstar.com)
So if you wish to retain control over the design of your strategically significant
software, it seems completely sensible not to offshore that design. But don't forget
the coding!
The deepest pitfalls
Language and culture. Many clients of offshore suppliers complain about expensive
holdups and problems arising from language difficulties. This is acknowledged by
one supplier, who notes: "Even if everything is spec-ed out it's still often difficult
to understand the English in the spec. if you're not a native (or very close) speaker
… People in radically different cultures just think different" ('Jaap', responding
to discuss.fogcreek.com). The responsibility for ensuring cultural and language
differences are recognised and taken into account rests with the client company,
which must be certain each of the following is in place:
- Adequate, clear specifications, and its own satisfaction that the specs are understood.
- A team has been chosen which has a full-time English-speaking liaison person, not
wholly tied to the supplier's welfare, who can communicate effectively with the
company and the outsourced team.
- It must satisfy itself there are not too many cultural barriers to ensuring the
development of a proper user interface. (accelerance.com)
Security and IP protection. Given current rates of IP theft, the client company
must do its best to ensure that its intellectual property is protected. Unfortunately,
'do its best' probably implies the maximum possible, because although major suppliers
such as India and China have, at the prompting of major clients, introduced strong
IP protection legislation, enforcement provisions lag considerably behind. These
countries "do not have the enforcement infrastructure needed to implement that protection."
(lawyerinparadise.typepad.com).
Steve Mezak, CEO at accelerance.com , says
this inadequate enforcement trap is lying in wait for companies anxious to jump
on the cheap offshore bandwagon, and which focus all attention on the mechanics
of getting the software produced. Such companies are "putting off developing and
communicating IP protection policies and procedures until it's too late, thereby
jeopardizing [their] trade secrets."
Other trips and traps. Mezak notes some other issues which can arise, and which
imply the need for constant vigilance:
- Hiring a team that states it is solely dedicated to your project, only to find it
is over-extended servicing multiple clients.
- Hiring a 'body shop', a vendor that charges you for a room full of programmers without
adequate supervision. So you end up having to manage and direct them yourself at
a distance.
- Finding the 'perfect' team only to discover they regularly lose engineers because
of high attrition rates, dramatically delaying the completion of your project.
Are things getting better?
Mezak reports studies conducted by organisations like the Sand Hill Group, Gartner
Inc., and the Software & Information Industry Association, citing surveys of CIOs:
- Product-quality problems rose from 24% in 2003 to 37% in 2006
- Difficulty in hiring the right outsource team increased from 48% to 56%
- Communication issues rose from 44% to 53%
- Cultural misunderstandings increased from 16% to 21%
So, as always, caveat emptor.
|