Pitfalls of Dual-Shore Software Development & Outsourcing

PITFALLS OF OUTSOURCINGyour project, they are likely to have also assigned a
The primary motivation to outsource is to reduceless experience solution architect.  More senior
costs; at least that is the belief.  The other reason issolution architects allocated to the highest valued
that your company does not have the internal humanclients.
resources, or, the resources lack the particular skillsFor larger systems designed in America or Europe,
that are required for a project, or a technologythere have always been software design engineers,
platform used.more recently called solution architects, assigned to the
You are a Highly Valued Client, or are You?project. They know how to transform the business
When choosing an outsourcing company it is veryrequirements into valid technical specifications and set
common to go with the biggest names in thethe design and development standards for the project.
business.  There is comfort in knowing they haveDon’t Rush Standards – the Architect is the
done it before and are probably the biggest becauseGate Keeper of the Design and Development
they have been successful at it, the “big blueStandards
syndrome”.  However, this success is aWe know many projects stray off schedule and are
double-edged sword that tends to affect manyfull of bugs.  This problem exacerbates when your
projects in unexpected ways.project falls into the hands of lesser experienced
In most cases, the vendor assigns programming talentprogrammers, technical leads, and project managers.
that is least experienced and skilled to your project. What occurs is programming is done in a hurry and in
Frankly, you are less important than the fortune 100a perpetual “catch-up” mode of coding.  Design
client who might represent 10-25% of the vendor’sdocumentation is hastily written after the fact rather
revenue while you represent less than 0.1%.  You dothan prior to each task.  This leaves the programmer
the math.guessing at far too many concepts, or simply cannot
Dual-Shore Development Methodologyremembering what they coded weeks or months
Dual-shore development has different challenges toago.  Comments are all but void in the code leaving
other development processes, particularly when thethe next programmer clueless as to what the code
offshore team is, a contracted vendor.  Some of thedoes without spending a disproportionate amount of
issues include accountability, utilization, and project.time studying something that should normally only need
 Many aspects of agile methodologies do nota quick glance.  Moreover, testing…well forget unit
address these issues, leading many companies totesting.
adopt more traditional development processes such asI highly recommend modeling your system using the
the “Waterfall” approach.agile-based modeling approach with much more
Control the Design and you Control the Code –robustness than simple class hierarchies or sequences
Don’t Outsource Designof method calls.  This is easily accomplished with the
In the same way the outsourcing company might havePROTECT approach.
assigned an overweighting of junior programmers toClick here to read full article.