Collaborative and project management software

August 2, 2009

I have spent the last few days toying with various pieces and types of web collaboration software: installing, configuring, using, testing. I have used quite a few in the last year and I will probably be using more of them in the near future.

As most projects and activities are nowadays developed by groups or teams, it is usually quite important to have access to good collaborative software. I am myself involved in diverse projects and I am constantly on the lookout for an adequate application. While on the lookout, I realized the diversity of the tools and applications one can use for collaborative work, group management, software management and project management. Each type addresses a specific need and it takes practice and some trial and error to find a suitable one.

I shall give a brief description of each type of such software. The classification is not perfect. Some features are common among different classes and some pieces of software are difficult to position in the classification. I will be mostly referring to web-based software as it is the main form of collaboration and team/group interaction.

I have divided the tools into two sets: simple tools created for a specific task (do on thing, do one thing well) and complex tools that integrate a subset of the former in a common interface.

Simple tools

While not really collaborative tools, forums and mailing lists are the basic form of communication inside a team/group. Forums are usually used for question/answer sessions (similar to Usenet and IRC channels), while mailing lists are “more collaborative” as they are usually used inside of a project for discussions on ideas, proposals and other issues. Forums are better at classifying discussions while mailing lists allow easy integration with an e-mail client and relieve the “burden” of accessing and logging into a web site.

The simplest and yet quite powerful tools for collaboration are wikis. Wikis are successfully used for storing and sharing information and knowledge. Major uses of wikis are:

Wikis are successfully used as content management systems (CMS) as they are simple to install/configure and allow easy editing. The ease of editing, modification, updating make wikis one of the most powerful form of collaboration. Most other collaborative tools usually integrate wikis or wiki-like features. Popular wikis are MediaWiki, DokuWiki, TWiki, MoinMoinWiki.

Somewhat related to wikis, Google Docs are a very good form of collaboration. Google Docs allow collaborative editing of documents, spreadsheets and presentations. I am usually using Google Docs over wikis when:

  • the object of the document is quite specific that it doesn’t make sense to create a wiki page (or a wiki instance altogether);
  • you don’t want to share it with the whole world; Google Docs invitation-based sharing is very fast and intuitive;
  • you want to later export the document in an offline editable format (.doc, .odt) and need the features of document editing (headers, formatting, bullets, etc.);
  • you want to enable simultaneous collaborative editing (wikis usually lock the page or section you are editing) and communications (through the integrated document chat sidebar).

Software projects couldn’t exist without the use of source code management (SCM) tools / version control software (VCS). They allow easy interaction between team members when working on the same software project. Common concepts are: repository, checkout, commit, local copy, revision, merging. Inspired by the advantages of SCMs, other tools (such as wikis or word processors) are using integrated revision control. Examples include Subversion, Git, Bazaar, Mercurial.

Bug trackers, issue trackers, task/todo schedulers and calendars are also forms of collaboration. I will not insist on the subject as they are usually integrated in collaborative software applications. Bug/issue trackers are used by software developers and users to report bug or request features. Task/todo schedulers and calendars are used for planning activities (tasks, ownership, timeline, priority) within a project; they may also be used for personal planning.

Integrated applications

What follows are classes of software that integrate some of the above tools. The classification is not perfect as some features blend in two or more classes. These applications are more complex and, worse, harder to chosse from. It is difficult to match your needs on top of a certain tool or choose the one that delivers all you want in the easiest way. Hopefully, the description here would help you in the process.

The “least-featured” class of integrated applications is the (web-based) software project management tools class. These applications are suitable for small to medium size teams of developers. They usually integrate wikis, VCSs (browser view) and bug/issue trackers. Todo/tasks schedulers can be integrated as plugins but their functionality is quite limited. Calendar features are enabled through the use of milestones. The best examples of such tools are Trac and Redmine. Redmine also offers project management facilities (activities, Gantt charts), while Trac can be easily extended through the use of plugins.

The “level-up” class in matter of software project management are software forges. Common existing examples are SourceForge, GNU Savannah, Google code, BerliOS. A software forge allows hosting of multiple projects and will usually be used by a great number of people when compared to software project management tools. They usually offer little traditional project management features, but generally integrate forums/mailing lists and software archive download services. User-deployable software forges are Indefero, FusionForge and Savane.

While the previous two classes are concerned with the software side of a project, the next two classes deal with the human/team and project activities aspects. The first class are groupware systems. Groupware systems are usually aimed for small and medium sized teams/groups. They integrate a webmail interface, task/todo schedulers, calendars, address books/contacts, group management and categories and sometimes even a wiki. Groupware systems need not be used by software development teams only. They can be used by groups requiring integrated features for collaboration. Some groupware systems may include further features such as bookmark management, a file manager or a document management system. Examples include eGroupWare, phpGroupWare, Kolab, Horde Groupware.

The “motherload” of collaborative tools are project management applications. I am not talking about Microsoft Project or similar desktop applications, but rather about web-based collaboration oriented applications. The separation line between groupware and project management applications is quite thin. eGroupWare can be easily tagged as project management software. Project management applications are usually aimed at large teams working in complex environments (usually companies). They include document management systems, time tracking, resource management and knowledge base interfaces. They are mostly commercial products, such as Assembla, Microsoft Office Project Server. eGroupWare and are free/open-source alternatives.

As one can see, there are many kinds of collaborative software. The thin separation line between these classes only makes it more difficult to choose the one that fits your needs. I will come up with some comparisons and some suggested usage scenarios in a later article.

tags: , ,
posted in Collaboration by Răzvan Deaconescu

Follow comments via the RSS Feed | Leave a comment | Trackback URL

Leave Your Comment



Powered by Wordpress and MySQL. Theme by Shlomi Noach,