Professional Documents
Culture Documents
Introduction __________________________________________________________ 3
Conclusion ___________________________________________________________ 8
2 May 2007
Collaborative Outsourcing in Product Engineering
Introduction
Global software development is becoming the norm in the United States. Most of the
known offshore engineering models have been created and tested around large, well-
defined projects. However, these models break down when companies deal with small
size projects for which requirements change frequently. Our challenges and the
subsequent experience at Resonate in leading the product engineering effort using
distributed engineering teams has led us to build a set of successful and practical
practices to dramatically improve quality of deliverables and consistently reduce the total
cost of the engagement. Technical managers looking to ease their outsourcing pains can
apply some of these lessons as a foundation to ensure cost effective product
development—and more importantly productive maintenance of legacy software using
offshore outsourcing.
The Challenge
Managing requirements and resolving customer problems are the two most
collaboration-intensive activities in software engineering. These activities are specially
challenging when the stakeholders are distributed geographically. For the last two years
and more, Resonate has been engaged in distributed software development very closely
with our offshore partner, Xoriant Corporation. In this endeavor both Resonate and
Xoriant have experienced the more common pain points that have been well-
documented in numerous magazines and reviews:
The lack of understanding of the social context and awareness of other activities
on other sites
Breakdown in communication
Fragmented knowledge regarding technology, product and process
Poor understanding of requirements and customer environment
The problem was compounded by the fact that the offshore effort entailed maintaining a
large, complex legacy application that required extremely fast turnaround in the
resolution.
3 May 2007
Collaborative Outsourcing in Product Engineering
Such incremental and short development cycles have been necessary to preserve the
stability of the product but have often proven to be difficult to coordinate in a global
setting. It became quickly apparent to the Resonate management that these
shortcomings were affecting product quality, customer loyalty and the overall
development costs. Clearly the tested methods of offshore management were
insufficient and new processes, innovative methods of interaction, and increased
transparency between the multiple teams were sorely needed.
Enabling Collaboration
4 May 2007
Collaborative Outsourcing in Product Engineering
This model enabled the managers to break down large software projects into smaller
and manageable components that are assigned to technical lead engineers (fig 2).
Delegating tasks across the multiple teams in the two geographical regions improved the
quality of communication. Issues like architecture design, feature requests, project
updates bugs or staffing was managed by the relevant group. The technical leads were
able to resolve key technical issues without involving the management, thereby
speeding up the software component integration phase.
5 May 2007
Collaborative Outsourcing in Product Engineering
This methodology significantly reduced our time to market because key shared
components were developed around the clock. This encouraged us to extend the
methodology to other areas such as marketing and customer support. The interactive
communication channel was used by product managers to refine the specification
requirements in response to the technical hurdles discovered during implementation or
sudden changes in market conditions.
We have applied this approach to reduce the turnaround time required to resolve critical
escalations, increasing customer loyalty. Engineers can update each other about the
status of an investigation and its resolution during the communication time windows.
6 May 2007
Collaborative Outsourcing in Product Engineering
The direct communication process was instrumental in reducing the turnaround for
customer escalation by 60%. It also provided Resonate significant product management
capabilities, with the flexibility to modify functional requirements in very short notice and
enter new markets.
We realized that these expenses are indeed unnecessary because onsite and offshore
teams working hours do not overlap, making these duplication of environment a waste of
resource allocation. For instance, the necessary IT resources can be setup in the US
and shared with remote teams enforcing the continuity of the engineering process (fig 4)
7 May 2007
Collaborative Outsourcing in Product Engineering
Conclusion
Managing highly distributed engineering teams is still a daunting task. Over the last two
and half years, Resonate and Xoriant have collaborated intimately to a near-flawless
release of three different products. While we did not collect the performance metrics
explicitly, empirical evidence shows that these product releases were all delivered on
time, with 60% less defects and at 55% of the original estimated cost. This
accomplishment validates our approach:
Delegating responsibilities further down between either teams
Direct communication for around the clock problem resolution and
Sharing resources remotely
8 May 2007