Coding in a Distributed Team: Testing, Reviewing, Sharing and Merging Code Without Going Crazy

By:
To add a paper, Login.

Canonical Ltd has 20 launchpad.net developers in 5 continents, working on the same codebase in many timezones. After 2 years of Launchpad development, the team has developed processes that allow them to avoid many of the problems with distributed development, and has developed and enhanced several Free Software tools to improve collaboration. Common problems with distributed development include: making sure that developers on one side of the world aren't blocked for a day on colleagues on the other side of the world; allowing all developers to work on a functional shared codebase; and checking that code works before checking it into the shared codebase. Andrew Bennetts will describe two of the technical tools Launchpad developers use to solve these problems: the distributed version control system Bazaar and the Patch Queue Manager which controls code merges. In addition, he will discuss some of the QA procedures used by the team, including automated test suites, and how these are integrated with the version control system.


Keywords: Software Development, Quality Assurance, Bazaar, Patch Queue Manager
Stream: Tools
Presentation Type: 30 minute Paper Presentation in English
Paper: Coding in a Distributed Team


Mr. Andrew Bennetts

Software Developer, Launchpad, Canonical Limited
Sydney, NSW, AUSTRALIA

Andrew Bennetts has been a professional Python programmer since 2001, most
recently as part of the Canonical Ltd team building launchpad.net using Zope 3,
SQLObject, bzr and Twisted. His previous work included writing stock market
data feed processing code with Python, which ran faster (and crashed less) than
the C++ it replaced. Outside work, Andrew regularly contributes to the
development of Twisted, an asynchronous network programming framework for
Python. He's a member of the Sydney Linux Users Group (SLUG), and has given
talks on Python and Twisted to SLUG and SLUG's Python Interest Group. He also
arranged the Python mini-conf at Linux.conf.au 2004, where he gave a talk about
Twisted. Andrew is particularly interested in code quality issues and much of
his professional time is taken up with reviewing other developers' code. He has
worked with a number of others to promote test-driven development in his team.

Ref: OS6P0040