As every IT professional knows, it's getting harder and harder to find qualified developers. That's why so many companies are turning to virtual development teams -- geographically dispersed groups of coders who collaborate in the development of large e-business applications.
The virtual development model allows companies to quickly assemble multitalented teams of professionals from practically anywhere in the world. This approach can be a particularly attractive proposition for global IT organizations that face shortages of skilled professionals in their immediate vicinity.
Moreover, with a virtual development team, companies can rapidly deploy outsourced consultants -- again, without geographical restrictions -- to assist developers with thorny technology issues for short periods of time.
The catch is that, although geographically distributed software development projects can be very successful, these projects run a higher risk of failure. After all, pulling together people who are scattered across the globe and making them work together as a cohesive unit causes several managerial and technical headaches.
The first thing to keep in mind is that distributed development requires a disciplined, well-structured project management framework. You must implement a global methodology that guides developers through the critical stages of software development, giving them a common set of activities, deliverables, terminology and a clearly differentiated role for each contributor.
Remember that, in a distributed environment, information must always be made explicit. You can't rely on the shared sense of understanding that regular face-to-face contact tends to foster. Without a common frame of reference, collaboration and communication between the dispersed team members may be disordered and inefficient, and developers may not appreciate the impact their activities have on the rest of the group.
Portals to the rescue
In order for the collaboration to be successful, all geographically dispersed team members must have easy access to shared development tools.
That's where Web-based enterprise development portals come in. This relatively new technology offers ubiquitous access, via a single interface, to unified software development and project management tools. These facilities can be used to complement more traditional technologies, such as fax machines, conference calls, cellular phones, pagers, and videoconferencing.
In e-business development environments that require strong security measures, VPN-like infrastructures can be implemented to protect the exchange of information among virtual team members. Web-based enterprise development portals can also be easily extended to include distributed team partners and suppliers.
Plenty of products will soon be available. Large vendors such as IBM Corp., Rational Software Corp. /Catapulse, Telelogic Inc. /Continuus, OpenAvenue Inc. , and Sun Microsystems Inc. /Forte have all indicated plans for Web-based enterprise development portals. Other vendors, such as Microsoft Corp., WebEx Communications Inc., WebProject, and OpenAvenue, offer tools in the related fields of Web-based collaboration and project management.
Despite all this market saturation, some companies even choose to build their own development portals, thus securing the advantage of using in-house development and collaboration tools.
Getting to know you
But technology alone cannot ensure success in virtual team environments. Several "soft" human factors also need to be taken into consideration when managing distributed software development projects.
For instance, geographical dispersion across cities and countries, multiple time zones, different backgrounds, and diverse cultures might cause problems among distributed workers that lead to loss of trust, loss of urgency, loss of motivation, and loss of project context.
Experienced project managers who are responsible for distributed development teams never relinquish the opportunity to increase face-to-face human contact unless they absolutely have to. For example, a manager can physically bring all virtual team members to work together for short periods of time, such as during the project's initial kickoff when group interaction is crucial or at the completion of a major project milestone.
Bringing together everyone to meet face-to-face greatly helps team members acquaint themselves with each other, discover little idiosyncrasies and peculiar personality traits, and solidify friendships -- all keys to building united teams. The acquaintance process helps develop trust among virtual team members, and trust is a critical factor in team environments.
Perhaps even more importantly, face-to-face time helps team members gradually establish a common language that will smooth out future communications. Once the developers go back home, you can publish electronic newsletters to help maintain a sense of teamwork and spirit.
A word of caution
Not everyone is well suited to work on virtual development teams. In addition to ensuring that each team member has the proper technical skills, which can be difficult to assess when your employees are not in the office, you must also select high-performing, self-motivated people with strong interpersonal skills.
Even if you do manage to put together the ideal team, it is important to continually work on improving communications among your distributed team members. No amount of technology can truly compensate for camaraderie and spirit, and in the final analysis, that's what teams are all about.