Distributed development refers to a collection of people located in different areas who collaboratively work together to accomplish tasks in developing a project. As a virtual team, this group of people uses communication technology to foster the interactions necessary for successful completion of work tasks. A distributed workforce solution is fluid, in that teams may come together for a project then disperse, and new teams may form for subsequent projects on an ad hoc basis. Distributed development teams frequently are used in collaboration in software development, scientific research, and technology development.
The advantages offered by a distributed development work model are many. Expertise and talent are not bound by physical locale, and experts can be tapped to perform vital aspects of the work. Mentoring may also be a richer experience for the same reason.
Workers who work in distributed teams have more flexibility in time requirements. Flexibility can enhance creativity, enabling workers to contribute when they are working in the flow. The heightened mental state in which a person's mind is fully engaged at the highest levels of creative and mental performance is a treasured asset.
The challenges in managing distributed development are significant, however. Working across geographical areas that may span many cultures requires a high degree of human resource expertise to manage relationships without access to the rich communication that occurs in a face-to-face venue. Although video-conferencing can ameliorate this somewhat, there are still aspects of face-to-face interaction that cannot be easily replicated. If the virtual team is multinational in makeup, the shortfall can be even more of an issue, as team members must bridge cultural differences within the diminished interpersonal communication inherent in a virtual environment. International laws may also come into play, requiring staff time to ensure legal compliance with disparate regulations.
Perhaps one of the most significant issues in distributed development is the frequent situation of performing work as a team across multiple time zones. For example, if a worker located on the Eastern seaboard of the U.S. is required to coordinate closely with a team member in Asia, the time difference may be so great as to make it quite difficult for the two to collaborate. There may be only a small window of time when both are at work. Significant communication delays can result.
Distributed development is not synonymous with outsourcing, although that strategy may be employed in assembling talent. Outsourcing is a human resource strategy that sources work to contractors, who then manage these human resources as an intermediary. This is also called subcontracting, as the common understanding of the distinction between the two has faded.