Distributed development

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A distributed development project is a research & development (R&D) project that is done across multiple business worksites or locations. It is a form of R&D where the project members may not see each other face to face, but they are all working collaboratively toward the outcome of the project. Often this is done through email, the Internet and other forms of quick long-distance communication.[1] Distributed development was largely pioneered by the open-source software community.[2]

It is different from outsourcing because all of the organizations are working together on an equal level, instead of one organization subcontracting the work to another. It also is similar to, but different from, a virtual team because there is a research element.

Characteristics of distributed development[edit]

Developers are distributed across multiple locations and work on the same project or product. The reasons for the distributions do not matter, they might include the availability of resources in different locations, closeness to certain clusters, proximity to customers or cost advantages.

People might specialize in a distributed development environment, but they actively collaborate to achieve the common goal. There must be a program lead or project manager somewhere in the project management mix. In a distributed environment, project members share ideas, information and resources. One key requirement is that all communication must be open to all involved, and not limited to those in the same office building. This is usually achieved by using internet-based collaboration. Communication tools commonly used include Github, and wikis.[2]

Distributed development is one of the highest forms of collaboration in any engineering or scientific R&D environment. It is typically not a barrier to business success, but it can range from being somewhat of a burden to difficult to achieve, since it requires high management capabilities, an excellent communication environment, a politically free environment, a highly efficient infrastructure, a well-developed organization chart, and frequent interaction. Most important, management needs to believe in the set-up and put measures in place to reward compliance, as well as be very strict with those who do not comply. According to entrepreneur Mitch Kapor, many companies are doing distributed development successfully.[1]

Success factors[edit]

There are several disadvantages to distributed development. Studies have shown that employees that all work in the same office are better at coordinating their work and more productive. Similarly, software applications that are tightly-integrated can be very difficult to develop using distributed development. For these reasons, many large companies, including Facebook, require all employees to work in the same office.

Despite this, there are several advantages to distributed development for a business. It allows companies to hire a more diverse workforce, including employees that wish to work at home or don't wish to move long distances. It allows companies to hire quality workers for a lower cost, as opposed to the very high wages in Silicon Valley. Distributed development is often more suitable for modular software, where different parts of the program can be developed separately.[2]

There are three main success factors for a distributed development project:

  1. Select and/or recruit good, strong, highly skilled people.[1][3]
  2. Spend some money for face-to-face meetings, especially at the beginning of each major project.[3]
  3. Build an organizational design that supports working in a distributed development, including the right incentive systems.[3]

By doing these three actions, one may obtain advantages beyond pure outsourcing or offshoring, namely much higher motivated employees in all parts of the distributed network, higher retention and certainly one gains from the diversity of the network.

References[edit]

  1. ^ a b c Mitch Kapor, How to Build a Successful Company, lecture to Stanford University entrepreneurship students, 2008-01-16.
  2. ^ a b c Asay, Matt (June 24, 2014). "Distributed Development: You're Still Doing It Wrong". readwrite. Retrieved January 28, 2015. 
  3. ^ a b c Daniel Ek, A Playlist for Entrepreneurs, lecture to Stanford University entrepreneurship students, 2012-05-16.