If you have ever been involved in any sort of project, you will know that one of the biggest pains involved in the process is communicating with whoever had the idea for the project. They always "thought it a bit different", or even better "didn't expect it would look like this", even when their project is 100% up to their specs. This post is about the what, next up is the how.
In a more familiar (to me) environment, ie working for a company and making websites - I won't rant on about how important it is to have someone competent enough to draft the specs from a customer (which I don't), or how useful it is to be able to talk to the customer directly to shed some light in their requirements (which I can't). I will instead focus on how you can avoid the pains of "golly, it's been so long, what have you been doing?", or the ever better "but I never asked you to do XXX, you should be doing YYY instead!" (which I get).
The answer is having some magical all knowing entity software that you can keep track of things assigned to you, and record time spent on the various projects. Though I've tried numerous times to use one or the other ( Trac, Bugzilla, MantisBT ), and had to jump through endless hoops to install them, I then had to jump through even more hoops to get rid of them because they just weren't usable enough (for my non-technical but paying associates).
Then I head and read about Redmine. It's got everything more than I need, wikis per project for documenting things on the fly, file manager for deliverables, issue tracking, tight integration with any source control system I knew of, and a plugin system. The only big (and I mean... real big!) turn off is that it runs on Ruby on Rails.
As with all my geeky endeavours, it all started with a simple though "meh, how hard can it be?". Apparently, pretty damn hard if you're using a "slim" version of Red Hat Enterprise by your host (ie they install the bare basics). Add to that the extremely annoying lack of any proper documentation on how to install a recent version of Ruby (or what is affects if compiled manually), or how to make ruby's package installer (gem) work without blowing bits all over the place... and it's super-annoying. And that's without even touching the subject of integrating RoR into Apache, or even Plesk's vhost system. Oh did I mention all this should happen on a production server where no down time is allowed?
Fun part is, I evaluated Redmine on my personal workstation, that runs Ubuntu 10.04. Installing redmine there was done using sudo apt-get install redmine .
In any case... I took the plunge and set out to find all the icky details. Coming in the next post!