| |
One of the latest developments in the world of IT, helped
by the advancements in Telecom, that has made geographical
separation a boon rather than a hindrance, is the concept
of ‘Virtual Teams’. This concept has actually
enabled IT companies to use geographical separation to their
advantage in terms of cost and time to market.
In the Virtual Teams concept, geographically distributed
teams and experts work in tandem from multiple locations worldwide.
This facilitates the utilization of expertise available across
global locations for the benefit of the project. Besides,
the usage of geographically spread technical expertise this
concept also allows for the optimization of cost (by leveraging
lower cost locations) and reduction in time to market (by
leveraging the time difference between various locations).
This concept enables the IT companies operating from cost
areas to setup an extended team at a location that gives them
a cost advantage and this extended team uses the same development
environment to work on the project.
In a typical scenario, a virtual team consists of an onsite
team (the client’s team) and one or more offshore teams
(working from remote locations). All these teams necessarily
work on the same development environment. The offshore team(s)
is/are remotely connected to the onsite team through dedicated
Virtual Private Networks (VPN). The VPN provides reasonable
level of security through the use of firewall and other tools.
This enables the onsite and offshore teams to access remote
environments on both sides, thereby providing a seamlessly
integrated development environment. There is day-to-day interaction
between the teams through phone lines, chat or mails for a
coordinated approach to the project.
This setup also involves an extensive usage of project management
tools, configuration management tools (like VSS, Perforce,
etc) and collaborative tools (like SameTime, etc). An online
project management tool is important for the requests to be
logged and tracked. The client representatives post their
requests into the project management tool along with the tentative
due date for completion of the request. They also upload a
detailed spec for the request in the tool and provide notes
and references for the request. The onsite and offshore teams
then work in close coordination to work on each of these requests
till their closure with its status being updated in the tool
at every stage. The configuration management tools are necessary
as there are multiple teams working on the same piece of code
and access to the code has to be controlled. These tools enable
the proper version control of the code and eliminate duplication
of effort to a large extent. The collaborative tools provide
an interactive platform for discussions as well as providing
access to a common repository of project-related information
thus enabling sharing of documents across multiple locations
avoiding duplication and multiple versions. Also these collaborative
tools also help in trouble shooting with the help of features
like desktop sharing.
This concept is extremely advantageous for Software Product
companies who have to keep working on new enhancements, bug
fixes, customization and technical support for their products.
For these companies to take care of the above-mentioned functions,
maintaining a dedicated software development team becomes
a necessity. Having this team onsite could prove to be a costly
proposition keeping in mind the costs involved in maintaining
infrastructural resources, human resources, etc.
The Software Product companies can effectively make use of
this concept and have a co-development environment in which
a smaller onsite team works in coordination with a much larger
offshore team. Typically under this arrangement the function
of the onsite team gets reduced to requirement analysis, integration
testing and minimal coding. The rest of the work, requiring
larger pool of resources, is shifted offshore. There is a
Program Manager representing each of the teams for coordination
and knowledge sharing.
Many advantages that the Software Product companies can obtain
out of this concept include:
Cost Savings
- This arrangement enables the clients to transfer majority
of the work offshore enabling them to maintain a smaller
team onsite providing substantial cost savings.
- There is a substantial reduction in the infrastructure
costs as the remote teams can directly access the clients’
servers for testing and integration.
Control
- Since there is a smaller team to manage onsite the clients
can put more focus on analyzing their exact requirements
and not worry about its execution.
- The client can easily monitor the project progress and
quality on a daily basis.
Time-to-Market
- The time zone differential between the different locations
can be utilized by the teams to ensure rapid completion
of the task thus reducing the time-to-market.
- Depending on the requirement of the client the offshore
teams can be rapidly ramped up and down thus saving on the
costs and time.
- In the same cost the client can have a much larger resource
pool working on the project thus reducing the turnaround
time.
- Since the remote teams have access to the client’s
test environment, which is close to real-time customer environment,
this helps a lot during system testing thus indirectly reducing
the time to market.
High-Quality Products
- Since the clients’ representatives now have better
control on each stage of the project and they are aware
of the movement of the project, it helps in requirement
validation on a regular basis thus improving the quality
of the product.
Some of the most important factors for a successful onsite-offshore
setup are:
- Transparency – This signifies a transparent communication
with the client. The client should be aware of the status
of each request, the problems being faced by the developers
on the request, the chances of the due date being missed
and the reason for the same, etc. This helps the client
also to take necessary steps in advance and be prepared
for any eventuality.
- Time – Time is the most critical factor here. The
teams have to be managed in such a way that even during
the peak times the teams are able to deliver the requests
on time.
- Teamwork – Good teamwork between the onsite and
offshore teams is of utmost importance in this scenario.
|
|