Survey of Source Code & Project Management Systems

What choices we have for Source Code Management + Project Management?

To keep things straight I am not going to right which one is good. This all depends on your comfort; style and what you are looking for (features). All tools give something or other, however they miss few features too in comparison.

This is post is coming from a 3 week long study which I had performed for my projects. I had to evaluate lot of things

  1. Repositories/Source Code Management Tools
    1. Server
    2. Client Support (Gui, Command Line or any integration)
  2. Project Trackers/Management Tool
    1. Server
    2. GUI
    3. Reports
    4. Extensions/Modules/Plugins
    5. Workflow
  3. Type of Implementation
    1. In-Premise
    2. Hosted
    3. Cloud (Self-Managed)
    4. Cloud (Managed)
    5. Appliances

Source Code Management

1. CVS

Probably, one of the oldest and simplest – source code versioning System. Low learning curve. Easy implementation, number of tools available and chances are there that your linux box already has it.

2. Subversion

Most popular code versioning system. Easy to setup, again low learning curve. Tools available and many project management system honor it and provide integrations.

3. GIT

One of quickly acceptable distributed versioning system. Popularity is growing thanks to projects like Github. Takes a wee bit more time to get handy.

4. Perforce

Good versioning system, proprietary, expensive. Popular in large enterprises.

5. VSS/TFS

Not played much and apart from MS development teams rest of the teams do not care about them. Complex implementation, takes some time to learn.

6. Mercurial

Again quite popular easy to setup inbuilt web-based management, Distributed SCM. Will take some time to get hands on. Although quite intuitive

7. Fossil

Easy to setup Distributed SCM. Although quite intuitive. Inbuilt web-based management, and issue tracking system.

8. Bazaar

Quite popular, easy to implement. Those who find SVN easy will find Bazaar quite easy. Number of tools/extensions. Several IDE integration

9. ClearCase

IBM’s expensive, rich in features SCM learning curve exists. However if you use this suite you may think 10times before switching.

10. Monotone

Those who are looking for reliability over performance may look at this tool. Not so intuitive. Will certainly need time to learn.

Project Trackers/Management Tool

[* I have included only those who support Code Repository/Integration]

1. Trac

Easy to setup provide integration SVN, Mercurial, Bazaar, Git, Monotone, Perforce.  Apart from regular task tracking, Trac came has test case management system for script based testing

2. Redmine

Easy to setup, lightweight, integration with SVN, Mercurial, Bazaar, Git. Has quite a number of plugins to extend features.

3. LibreSource

LibreSource is an exhaustive project management tool with number of features. However it has minimalistic SVN support. Not so easy to setup.

4. ActiveCollab

If you can pay price then it is one of the cleanest implementation, has quite a feature set, recently they launched subversion support.

5. Jira

Good old Project Management server, exhaustive feature list. Supports many IDE’s and SCM’s through code connectors/plugins. Popular in enterprises.

6. MS Project Server

If enterprises can afford, this is most exhaustive Project Management System. For development teams it gets integrated through Visual Studio Team System.(Available with 2007 and 2010 versions). However best suited for MS Based development teams other wise for just EPM it is one of the best we have.

7. Unfuddle

If you are looking for hosted solutions one of the clean implementation for GIT/SVN integrated project tracking solution quite inexpensive and have a free plan

8. Assembla

Supports GIT, Mercurial, SVN, free plans allows you to choose only one tool. Free for public projects. Clean and crisp implementation

9. Springloops

Just like unfuddle and assembla, a hosted project tracking tools with SVN and GIT. However as SpringLoops guys recommend it for web development studios.

10. Github

Most popular repository and project management hosted solution has only Git support. Do I have to say anything about them, numbers speak for them. Free for public projects.

Few project management tools I did not mention viz

Basecamp

VersionOne

FogBugz

Lighthouse

Above tools can be signed up separately and can be integrated with Codesion which hosts Subversion, Git and CVS repositories. They are great tools individually but since I was looking for one platform I really did not look at them. I have used one or other through different ways in different capacity at some point in time. If you are looking for just project management you can use them. You can also look at Huddle I find it good when you do not need Source Repositories and a document repository would be just good. Huddle is quite an exhaustive platform with numerous tools/features along with On the Go/Mobile support.

One thing if you are looking for 10mins setup which includes Redmine+Mercury+Bazaar+SVN+GIT you can look at turnkey appliance for redmine. They also offer just source code management appliance. They provide cloud implementation.

If I am missing which I am certain of any tool worth looking at please drop in. I will include them in this list.