You are on page 1of 8

Resonate and Xoriant Corporation create

finer collaboration environments, share


resources, and communicate in real-time to
reduce product errors, increase customer
loyalty, and gain overall cost effectiveness.

Author: Patrick Nicolas


VP Product Development
Resonate
pnicolas@resonate.com
Collaborative Outsourcing in Product Engineering

Introduction __________________________________________________________ 3

The Challenge ________________________________________________________ 3

Enabling Collaboration _________________________________________________ 4

I Better Quality by Informal Communication _____________________________ 4

2. Quick Turnaround with Synchronous Interaction_______________________ 6

3. Cost Reduction through Shared Resources___________________________ 7

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

I Better Quality by Informal Communication

The traditional approach to managing an offshore engineering team relies on a project


manager who coordinates the development effort between onsite and offshore
engineers. Engineering teams operating in different time zone are usually struggling to
synchronize their tasks and keep the project cohesive. This top-down approach to
management and therefore the consequent lack of direct collaboration prevent the offsite
team from “owning” the project (fig 1). This results in losing motivation and ultimately
poor productivity amongst the team members on the offshore side.

Fig.1 Traditional approach to managing outsourced projects

4 May 2007
Collaborative Outsourcing in Product Engineering

To reduce these people-issues, Resonate and Xoriant explored an innovative


management approach that encouraged interactive collaboration between the onsite and
offsite engineers at every level. Based on the roles required in the project, the processes
were managed using cross-functional teams such as development, quality assurance,
release engineering and technical publication.

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).

Fig.2 Interactive collaboration and delegation to managing offshore projects

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.

Consequently, the communication channels are not overloaded with non-relevant or


confusing information, reducing risks of errors and improving quality of deliverables. We
also use video conferencing during weekly meetings to reinforce the closeness between
the stakeholders.

5 May 2007
Collaborative Outsourcing in Product Engineering

Resonate experienced a significant decrease in number of issues reported by the


customers in the 2 months following product release.

2. Quick Turnaround with Synchronous Interaction

Well-defined management techniques like component-based development have been


traditionally quite successful for projects executed within a single location team.
However such techniques break down once a project is shared with several remote
teams. The asynchronous means of communication including email messages, intranet
or project tracking solutions do not guarantee that critical information will be always
exchanged in a timely manner between engineers. Resonate and Xoriant set aside time
windows in the workday to allow direct synchronous communication between the project
stakeholders on either side, using instant messaging and Web-based conference (fig 3).

Fig. 3 Overlapping communication time windows

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.

3. Cost Reduction through Shared Resources

Coordinating development and testing efforts between geographically dispersed teams


is notoriously challenging. The traditional approach has been to replicate the
development and testing environment between sites to ensure that problems raised by
one team can be easily reproduced by the other one. However the replication process
has two major drawbacks:
1. The duplication of resources such as development or QA tools, software
licenses, databases, servers or IT staff increases engineering cost significantly
2. The constant synchronization of resources is error prone and process
standardization still does not guarantee a uniform IT environment

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)

Fig 4 Shared global IT resources

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

You might also like