How do multyple people write code for one project?

Started by
10 comments, last by Madhed 9 years, 9 months ago

(1) if you have one or more developers on a project, always use a revision control system (VCS). Developed as we entered the Space Age in the 1970s, this technology has been shown to both facilitate code sharing in a multi-user environment and act as an aide to escrow for contractual obligations, but have saved the bacon when Mr. Murphy stops by for a chat. Please note the "one or more." The only people who have regrets about a VCS are those who didn't use one.

(2) You will want to host the VCS on a commonly-accessible network node and provide the occasional backup of that node. It's especially important that the node be commonly-accessible for teams of more than 1. The advantage of using a separate node even for teams of one is the elimination of a single point of failure in your design, and the advantage for larger teams should be self-evident.

(3) The easiest way to set up a locally-managed VCS service is to use one of the modern distributed revision control systems (DVCS). The tools git, mercurial, and bazaar are the most popular DVCS available, and all are fairly straightforward to set up as a service.

(4) Using a third-party DVCS service is even easier than maintaining your own. Such services generally have easy set up, provide regular back ups, and often offer other services for team development, such as inline code reviews and publication (source code release downloads, wiki pages, etc). If you absolutely need privacy, there are commercial DVCS and setting up an in-house or private hosted service is not difficult.

(5) most DVCS provide a simple way to tag and/or pull a particular "snapshot" of the code as it exists at a particular moment (older nonshared revision control systems like SCCS, RCS, SVN, etc either do not provide that or have very clunky methods for doing so). This is important for advanced processes such as releasing software, bug tracking, QA, and so forth.

In short, you should use a DVCS such as git, mercurial (hg) or bazaar (bzr) to keep and share your code. You might consider using a third-party hosting service to make it easier and provide an automatic off-site backup of your most precious asset.

Stephen M. Webb
Professional Free Software Developer

Advertisement

If you have a small team, I recommend using assembla.org.

It has a good set of tools, and for free, it can help you acquire a svn repo, ticket system, etc for a project and a team of (I think) up to 10 people.

assembla.com should that be interesting for you.

+1 for Assembla. I have used it in the past for a small private project.

This topic is closed to new replies.

Advertisement