Selecting Project Management Software
What Do I Want?
So, the starting point was to define my requirements. My objectives were to provide a visually appealing site where clients could easily see the state of play, the work performed, the hours spent, any notes related to the work and could log any bugs or feature requests. I needed a system that allowed me to see my tasks (ideally within Eclipse), where I could document time spent on each task and could upload documentation related to things like APIs that I'd researched. I also needed some concept of stories (this was for development - not just bug tracking) and some way of relating tasks to stories so we could see estimated vs actual effort. And because the clients are paying by the hour, I needed to put billable hours into the estimated and actual field - ideally rolled up from smaller level tasks that I created (so I'd have a story, start by listing 15 tasks required, put time one each task and be able to see the rolled up time for each task). So my requirements are (in no particular order):
- Visually Pleasing, Simple, Intuitive Client Interface - As one of the few things my (remote) clients will ever see about me, the UI needs to be elegant, usable and well thought out. It needs to be focused on providing clients with just the information they want to see and should be intuitive to use.
- SVN Integration - I wanted it to capture notes from svn commits so I didn't have to double enter when I made a commit that fixed a bug or implemented a story. I also wanted a system where svn would be hosted on the same server so I didn't have to create two different environments and then write the commit hooks into the svn install - I want to spend my time programming - not doing sys admin tasks.
- IDE Integration or Desktop Widget - I'd really prefer to minimize context shifting by having either IDE integration or at least a desktop widget for my Mac for checking off tasks done, adding new tasks and tracking time. Ideally it'd work offline so I can code on the Ferry or at Starbucks (where in Oz the Internet access is prohibitively expensive). I'd love an AIR app, but didn't find the one I was looking for in the timeframe required for this project!
- Stories Metaphor - This is primarily to track development - not just bugs. As such I want the idea of stories which are comprised of tasks, with hours roll up from tasks to stories and burn down charts so we can all see how well the project is progressing.
- Bug tracker - That said, I also need the ability for the client to log bugs - ideally against stories so I'll be able to report at the end on the estimated vs actual effort for each story including the time taken to fix related bugs and to implement related enhancements. In the ideal world I'd see "build", "bugs" and "enhancements" numbers under each story with % figures as well as a total so I could give the client really good feedback on where the time was being spent and whether we should spend more time on tests to avoid bugs or less on adding new features until the other stories were done.
- Workflow - Ideally I'd love a workflow which would allow me to set things like "requested features" and with the ability to add stages for prioritizing, estimating, approving estimates and then "to implement" lists as there is a long workflow between a client thinking of a feature, me estimating it, them prioritizing it and me actually putting it into the hopper to start working on.
- Time Tracking - I want a simple widget where I can either click "start" and "stop" to get the clock running on a task (needs to allow returning to a task as there are often task interruptions) or can at least type in hours spent on it. This needs to be assigned to the task.
- Hosted Solution - I'll install software if necessary, but I'd rather just pay a monthly fee and let someone take care of the hosting - especially while I'm just trying this out. Last thing I need is to waste a half day getting a server configured just to try something out for a project or two.
- Email Interface - For both clients and myself, I really want a solution that allows replies to automated emails to be logged as comments against a ticket to keep the overhead of using the tool as low as possible.
- Content Management - There needs to be some kind of baseline content management or wiki features so I can upload documentation to the site and make that available to clients.
The Candidates
There are LOTS of pieces of software out there. I decided to look at the following ones. Trac, LightHouse, Unfuddle, activeCollab, Mingle, Fogbuz, Rally, Retrospectiva and TargetProcess.
The Bug Trackers
Unfortunately, some of the contenders dropped out pretty quickly. I really need the story metaphor (or at very least support for hierarchical tasks with roll up - I don't care whether they are called stories). I also need integrated time logging and reporting with each task. As such, Trac and LightHouse fell at the first hurdle. Unfuddle has time tracking and while it didn't have stories or hierarchical tasks, it has time roll up per milestone so at a push it might work. Mingle wasn't really designed to implement hourly estimates, but it allows for estimated and actual effort for each card, so it could work.
Narrowing the Field
I really wanted to play with Mingle, but I've got a business to run and while I would like to give Buildix a try (Mingle + svn + Trac + CC), I just don't have the time to play with that on this project. Maybe next time! Similarly activeCollab requires an install.
Also, Retrospectiva seemed just a little early stage for us - even though it is nominally a 1.1.
I was really looking to minimizing context shifting for managing tasks as that would be the biggest time sink, so I checked for that in all of the remaining contenders. Unfuddle has a widget, Fogbugz has EclipseBugz (although I'd prefer if the IDE integration was part of the commercial offering and hence supported), Rally appears to have Eclipse integration, although I have no idea why I need to send an email to request information about this - it should be part of the download and I need this up and running today. Also it appears I need to speak to their sales team to get going with this. Fair enough for most cases, but I need up and running fast, so Rally is out of the running for this project. Anyone who has jumped through their sales hoops, please let me know how it worked out as the software looks cool. TargetProcess doesn't seem to have IDE integration or widgets, so that leaves me with an initial shortlist for this project of Unfuddle and Fogbugz.
I also just saw that (not surprisingly) FogBugz doesn't have svn as part of their hosted solution. Of course they support svn integration, so I could set up (or rent) a svn install, customize it, customize Fogbugz and get them playing nicely together, but it the best of all possible worlds that's a half day of unbillable wasted effort and it could easily be a day or two of messing around. For now I'm going to try Unfuddle, and if it's good enough that'll work for today. If not, I'll review my criteria and see if it's worth checking out Mingle or activeCollab instead.



http://www.fogcreek.com/FogBugz/LearnMore.html?sec...
http://www.cftopper.com/
And I'll be presenting at CF United Europe too, so I'll definitely find Topper and talk to him about TeamWorkPM to see if it's looking to add svn as that'd be great!
My only other criteria would be I'd want to host it myself. I've been using Google Apps for my wife's new biz and it's great - and while it's very rare for it to do down - when it does - it's a mess. My wife missed a whole day of email once and it was a mess. I couldn't imagine my project mgmt app going down and not being able to access project data.
BTW, the link to JIRA for anyone interested is:
http://www.atlassian.com/software/jira/
I've only heard great things about it as a step up from Trac or Bugzilla in terms of usability and reporting features.
Unfortunately, I needed a hosted app right now and while Atlassian are working on it, it's still in beta:
http://www.atlassian.com/hosted/
I will definitely look at it when I have the time to implement a self hosted solution. It even has time tracking.
Looks like some nice estimation updating and reporting features around it too.
Well, if you're going to self host there are detailed instructions for configuring Fogbugz to integrate with svn. I needed a zero setup solution as I had to find a piece of software in the morning and configure it so I could start knocking out features by the afternoon. As such, even downloading activeCollab or Fogbugz was more time/risk than I could take as sometimes installs work, and sometimes they can take a while.
It is a good point re: self hosting as you definitely own more of the elements in the risk chain (although there are still risks when you self host). I think once I find a solution I love I would host it in-house.
I'm also getting into Mylyn which I think you mentioned in another post and I could see integration with that becoming important as well. Very neat idea if you use Eclipse based tools.
JIRA has some awesome suite of tools and if I had an unlimited budget I'd be shopping there :)
I tried about 20 open source projects and some demos (such as JIRAA) and ended up with Redmine (http://www.redmine.org). It's not hosted but it's the best free, web based application I found.
Have you checked out Code Spaces: http://www.codespaces.com, seems to do a lot besides for the wideget you want.
http://www.fogcreek.com/FogBugz/docs/40/Articles/S...
I'm the author of a free open source bug tracker, BugTracker.NET, (at http://ifdefined.com/bugtrackernet.html) which also has SVN integration. FogBugz documentation was a help to me as I was designing/coding my own app's approach, so that's how I'm familiar with it.
Thanks for providing the link. I agree and disagree. I think that if you're already hosting a svn repo and have FogBugz running, integrating them may well be simple (although you never know for sure until you follow the instructions!). However, if you need to provision a server, install svn, install Fogbugz, and then integrate the two, it *could* take minutes, but if you don't have a background in Linux admin it could take longer. I went with a hosted solution to scratch the immediate itch and it's working out great. When I have the time I will consider an in-house solution and then I'll definitely check FogBugz out again.
@Jeremy, Interesting. I'll have to play with Rally some more when I get time. Thanks for the heads up!
SharpForge.com provides commercial hosting of SharpForge, the open source project ( http://sharpforge.org/p/SharpForge.aspx ).
SharpForge supports agile, lightweight, collaborative processes. Each project has a wiki, svn, forums as well as work item tracking & voting.
SharpForge is open source software so your data isn't locked in a proprietary format, you have more deployment / customisation options.
http://www.sharpforge.com
Thanks to David Buhler for mentioning Teamwork Project Manager. Without wanting to make a sales pitch here, TWPM is 100% ColdFusion and has lots of nice features and is getting better every day. I think one of the key advantages of using ColdFusion over our Ruby competitors is how fast we can get things implemented and rolled out.
Regarding my talk at CF-United Europe, well it was my first time speaking in public and I was a little nervous but the comments on my blog indicate that I pulled it off - http://www.cftopper.com/index.cfm?page=blog&bl...
I'd love to get some of ye to come over and try the free version which allows up to 2 projects. All comments - feedback, suggestions, criticism and advise are welcome - www.teamworkpm.net.
Cheers,
Topper
Because it is a hosted service, I did not have to buy expensive software or deal with installation and maintenance headaches. The functionality that I have with valleyspeak to manage my geographically dispersed teams works well for me. We also evaluated Basecamp and some other solutions but were not impressed.