Em todo o projeto do software, o componente do trabalho do desenvolvimento do software representa somente 30% a 50% do custo total. As for the total cost, it is taken away by project management, analysis and design, testing, and ancillary activities, such as, management and environment preparation. This is why the cost savings on offshore projects are not more than 15% to 25% of the total project cost. You will never find a return of 100% to 200% on such projects, unless the project has been well defined and specified, and the design has been prepared with details. You will often find the offshore software development organization claiming such returns on projects outsourced to them. Never-the-less, the 25% saving on your cost of the total project can be quite a significant amount.
To achieve success in offshore software development projects, the most vital part is the requirement of a failsafe communication system. It is very important that the communication is kept alive between you and your offshore partner(s), so that information can be exchanged and related matters are sorted out. If this synchronized effort is not ensured at first, the success of the project will be doubtful. Your communication strategy needs to be well defined, and such strategies should include communication tools, such as conference calls, video conferencing, wikis, bug tracking, and continuous integration build servers and a source control repository. Here we will have a brief look at some of these tools:
Conference calls/Video Conferencing - There should be a routine conference call set up between your team and the team from your offshore company. In here too a schedule needs to be set up, ensuring that conferences start and end at specified time. The issues discussed should be well documented to be referred to later.
If you have an access to a video conferencing system, it would become a highly desired facility in such scenarios. However, true video conferencing equipment would require high bandwidth, unlike the $100 web cams which are increasingly used for such conferencing. Setting up video conferencing and its operation is costly, and this conferencing could perhaps be scheduled once a week.
Wiki/Whiteboard/RSS - You would need collaborative development effort in any project outsourced offshore. Ideally the “white-board” solution is quite effective in solving different kinds of technical issues. This allows both the parties to work on a common document structure, hence following the same method of representing their status regarding the project.
Continuous Integration and Bug Tracking – You need to a way for all team members to immediately, at any time, know the status of the project from the code perspective. Two ways this can be facilitated is through a continuous integration build server and the implementation and diligent maintenance of bug tracking/automated test results.
Source Control Repository - A document repository is a part of an important tool for providing communication between the onsite and offshore teams. This repository should be accessible by both the teams 24 hours, 7 days a week, remembering that your offshore team will be working when you will have nights. The repository should preferably have a secured access, with each identified members having their own username and password.
You probably noticed the exclusion of email and instant messenger (IM) as tools? Of course, I do not suggest you remove these applications entirely. But offshore software development teams tend to quickly rely on them too much. When information is exchanged across email or IM, the knowledge contained in the communication is buried. Using these tools appears to be a time saver on the surface. However, in the longer term, in the exchange of emails/IM becomes a burden and time waster when attempting to reference previous communication dialog.