The importance of project management tools is almost never fully appreciated. I am shocked at how common it is for a group of developers to go working without version control, ticket tracking, development documentation and so on. The very first thing I do when working with a new client is to make sure that they get these tools in place if they haven't already.
Those who are used to working without a complete set of project management tools never fail to appreciate the benefits of them once they are introduced. I consider it next to impossible for a team to work together without managing code and tasks in an efficient and highly organized way.
Hopefully you do not need to be sold on this idea and are using CVS or SVN to manage your project already. You likely have some sort of ticket system. It is a little less likely that you have both of these components integrated with each other.
When it comes to choosing a solution for project management software, a die-hard Drupal user has a dilemna. On one hand, Drupal seems as though it should be the perfect solution. It's fully customizable, has lots of nifty project management related modules and, most importantly, it's Drupal! Why would you not use it? "Eating your own dogfood" is the way to go, right? Meh...
Drupal is generally considered a content management system. Personally, I like to refer to it as a website management system. It is great at managing website related stuff like users, posts, permissions, categorization, and so on. Using contrib modules, you can customize and enhance this core functionality to almost no end. But at the end of the day, Drupal is designed to handle web content and the users that are accessing it. That's what a content management system is (and if content is king, that would make Drupal... well... God).
Managing a project, on the other hand, is a much different business from managing a website. Yes, you have many shared properties such as content and users. But the essence of project management involves things that have nothing to do with website management such as a revision controlled code base edited by multiple users, a need for efficient ticket management, and ideally full integration of everything. Essentials also include stuff like a nice repository browser, user management interface for repository access, fancy reporting for tickets, organization of tasks by milestone, date, person, severity, etc...
It's a very tall order. Yes, you can do all this in Drupal, but not very well. You can piece together something that sorta kinda resembles a project management solution, but in the end, you need to invest a relatively large amount of time to create something that is less than ideal and will require ongoing tweaking and modification. Unless your business is creating an effective project management solution in Drupal (something I dream of!), you should not be using Drupal for project management.
I'm a one man shop, and I do not have time to spare. I cannot justify spending any time at all kludging together a project management solution for a client when there are already far superior solutions available at low cost. I would much rather pay someone a few bucks a month and be done with it. Let them deal with SVN administration and enhancements; let me focus on my primary task which is building cool sites with Drupal.
While there are numerous project management related service providers out there (Fogbugz, Basecamp , Beanstalk to name a few), I want to talk about my personal favorite, Unfuddle. Unfuddle has taken obvious inspiration from the folks over at 37signals, innovators of the simple, clean, effective, it-just-works web application. Unfuddle is an instant project management solution that takes minutes to set up and costs a few dollars a month. The time you'll save in not having to set up SVN and manage SVN users alone makes it worth every penny.
What you get with a solution such as unfuddle is a ready-to-use repository with integrated documentation, ticketing and reporting. It takes seconds to set up a new user account with permission levels fit for everyone from a developer (gimme root!) or a suit (look but don't touch).
From a single interface, you can browse code, tickets and documentation. Every component integrates with the others. You can even resolve a ticket with an SVN commit message, saving you the trouble of having to go and edit the ticket after your commit! Users can individually subscribe to whatever level of email notificaton they would like to recieve and how often. The developer can shut off all notifications while the manager can get a nice daily summary each morning of milestone completion progress, new tickets, added documentation and so on. The project manager can glance over one of the ticket reports and group tickets into milestones for reasonable short vs long term goals.
SVN comments link back to the tickets they are related to. Tickets contain links to the changesets that resolved them. Viewing these changesets, you can see a beautiful code diff and quickly see what fixed the problem. Senior team members can quickly and easily review code changes submitted by junior staff.
With tools like this available these days, it's just not worth it spending any effort whatever on a lesser solution.




hmmm...this is interesting. i JUST started using subversion for some freelance work that i do, and i don't really do that much, but already my local subversion DB is almost 1GB.
i want to get our web team at my full-time job on some sort of version control system (preferably SVN), and this looks good, but i'm not even sure the enterprise 8GB is enough! we have a pretty extensive internet site, in addition to a LOT of intranet content and code.
it's worth a shot though...thanks for bringing it up!
Good points, and I am definitely an unfuddle fan. We are using it on an important project with a client.
However, I want to also point you and your readers to another service I discovered shortly after recommending unfuddle, a much more economical service which kinda does the same thing (unlimited repositories, unlimited users, access control over users, a free Trac instance with each repository), which I have also adopted for many projects, and I would like to sing its praises too.
It is http://svnrepository.com/
I am now trying to integrate Trac (tickets, changesets) with my own Project Flow and Tracker (http://pftracker.awebfactory.com.ar/ user drupal password rocks), which needs a lot of love on usability and needs SVN under the hood. Until I get time for that I find Trac is awesome (lightweight, does the job). But eventually, the agile and test driven approach in Project Flow and Tracker will be eating our own dogfood: it's a Drupal based webapp.
saludos,
Victor Kane
http://awebfactory.com.ar
Heh... well, it won't be done in a few weeks, but we *will* have most of that in Drupal. Just lean back, relax and observe.
*observing*
Great article, Harry. I'm an unfuddle fan, as well, although I do really hope project management in Drupal will be a viable solution soon.
Thanks for sharing about Unfuddle Harry. The services sounds great, I think I will run and give it a try. Cheers
Very useful article. I also was inspired by your site in general- especially your 'Terms of Service' which I think I should emulate!
I understand your point of view. We've gone through many different solutions. For internal purposes, we've now settled on a Drupal solution. We even do time tracking. Our point of view is that if we're going to have to customize whatever we use in any case, we may as well customize code that we control and can make better over time.
Of course, this is a matter of returns. For small groups of people, an off the shelf solution is probably a better choice. For larger groups that plan to grow larger, investing in your own solutions has greater returns.
Whatever solution you pick, at least make sure that it has APIs and data exports. That way, you can continue to integrate around it. Unfuddle had been lagging in this area, but they recently released an API. It's also my best suggestion for people.
Hi Boris!
If the team is large enough, then building out a custom solution is a possibility. But from my own experience, these solutions end up eating into developer time that could be better spent on the project itself. And when they break, everyone is slowed down.
The project management component is very important and is readily available through service providers. I couldn't see myself ever suggesting a client not go the ASP route.
IT is true communication is key with clients so thanks for sharing unfudle. I think that this is a major issue for developers so this is a great solution that the majority of freelancers have problems with. thanks I will check it out!
Chad C.
I simple don't trust online services and that includes Unfuddle. I think there is a question of privacy, and using it might also leave a bad impression on the client. I run my own svn repository on Dreamhost. Simple, private, secure.
Seems my name conflicts with someone elses...