Skip Links

Network World

  • Social Web 
  • Email 
  • Close

What Outsourcers Can Learn from Open-Source Communities

By Steven J. Vaughan-nichols , CIO , 11/07/2008
Newsletter Signup
  • Share/Email
  • Tweet This
  • Comment
  • Print

Outsourcing development and open-source development may at first appear to be about as far apart as baseball and football. Both use a ball in a game, but that's about it. Yet a closer look from open-source software developers and industry analysts reveals that enterprises using outsourcing for their programming needs could stand to learn some management and process techniques from the open-source community.

For example, one important lesson that outsourcers can pick up from open-source development communities is "the open-source community's emphasis on asynchronous methods of communication--e-mail, bug tracker, forum, VCS (version control systems) update--over synchronous ones--phone, chat, meeting," points out Josh Berkus, a Postgre SQL core team member and part of Sun's open-source database team. According to Berkus, the advantages of asynchronous development include:

-- If you're sending e-mail, it doesn't matter what time zone the recipient is in. Synchronous methods often force people to take calls at 6am or 11pm, which decreases overall work efficiency and job satisfaction. Plus, many programmers work odd hours (at least by preference), so you can't even assume that people living in the same time zone will match up.

-- Asynchronous methods contain their own audit trail. E-mail, bug trackers and such tools automatically generate a record of what happened; someone who's out of synch can catch up with a little reading. "This trackability also reduces repeat discussions, and managers know better what their staff are doing," says Berkus. In contrast, synchronous methods generally require extra effort (that is, time) to create a record; and because someone has to write the record, the task is often skipped.

-- "Great programmers are often people whose ability to concentrate is high but whose multi-tasking skills are poor," Berkus points out. Synchronous methods require interruptions, which has been proven to decrease the overall effectiveness of your best programmers. Since these programmers do 60 to 90 percent of the work which ends up in the final product, he says, it pays to coddle them.

-- Everyone hates meetings. Synchronous methods of communication are often very inefficient, says Berkus. "They require waiting until everyone is present, which can eat as much as half of meeting time," he says.

  • Share/Email
  • Tweet This
  • Comment
  • Print
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a NetworkWorld account? Log in here. Register now for a free account.

Videos

rssRss Feed