Keeping in touch with your offshore team is critical to the success of your development work. That idea seems pretty simple, but when you factor in accents and time zones, your ability to communicate well can be seriously hurt.
Poor communication can be a concern bigger than security or the safety of your intellectual property. When it is daytime here, you want to move documents back and forth, but the servers can be shutdown at night in India. The engineers in each country can have trouble understanding one another. The accents and the fatigue of late-night or early-morning conference calls reduce your ability to share ideas and brainstorm. These are common frustrations you can encounter with offshore outsourcing.
Much is lost without the intimacy of direct communication. And without good communication, barriers are created between your people here and “them”: the guys one or two oceans away who are supposed to be writing your software.
The overhead required to make outsourcing work depends on the skills of the people both offshore and in your organization. You need to put processes in place and use tools to minimize that overhead.
Many companies that outsource use weekly conference calls and then exchange emails and instant messages as needed, usually every day. In addition there are bug tracking and source code control systems, and each software release is delivered as a zip file of source files.
But, what tools should you be using to communicate with your outsourced software development team? Here is a summary of the tools you should be using:
Keep your outsourcing on course by tracking delivery dates, scope, and budget. You can manage milestones, project and subproject plans, tasks, and resources. It should be compatible with Microsoft Project and support import/export of Project files.
Identify and track the engineering talent on your project and rate their performance.
Track the progress of your software projects by viewing the actual time spent on tasks and comparing it to planned estimates.
Unify your teams by enabling them to share and manage key documented information affecting your software project’s outcome.
Requirements Management and Traceability
Capture and analyze your requirements and trace their progress throughout the project to ensure that they’re being delivered as agreed upon. Notify relevant team members and stakeholders when a requirement has been changed, completed, or approved, to help you head off issues before they affect your bottom line.
Issue Tracking and Defect Tracking
Successfully manage the life cycle of each issue and defect to its resolution.
Keep expectations in line and prevent going over budget by managing each stage of a change request, including tracking its cost and schedule implications.
Achieve the level of quality your software requires by managing your testing cycles. You can track and confirm the status of test plans, trace test cases to requirements, review the results of all test scripts, and analyze and audit current test results against historical results.
You can put together a collection of tools like this on your own by cobbling together tools and systems from open-source offerings. Easy, low-cost alternatives also exist that are online hosted solutions allowing you to keep in touch with your outsourcing team. Some have a roles-based dashboard, used by everyone from testers and programmers to the high-level executives responsible for the software development. The dashboard enables you to keep on top of and manage the critical factors affecting your outsourcing from start to finish.
Whether you use a commercial offering or put a collection of tools together yourself, the list above includes all the functions you need to implement.
To learn more about effectively keeping in touch with your development team, get your copy of Software Without Borders.