At my new job I have had to 'fix' a few things lacking in the development environment. Many of us have been in this situation before: a small shop and everyone is 'too busy' to implement some of these 'best practices'. I didn't have a lot of time to spend myself but I simply cannot work effectively without some of these tools.
Houston, we have a problem. Revert!
Where would we be without source control?! I thought about git but I wanted something simple with a proven set of tools so it was back to our old friend Subversion. I've setup Subversion servers from scratch before but I wanted to see if there was anything a bit more user friendly that had a GUI. After some research I settled on VisualSVN. It literally took me a few minutes to download, configure everything and have a SVN server ready to go. CollabNet also has a new product called "Subversion Edge" which bundles Subversion and Apache in an easy to install bundle. VisualSVN seemed the simpler of the two options so I went with that one and have been happy so far. It includes a very simple administration interface that allows you to define repositories and permissions, and can integrate with Windows authentication if you need more complexity.
Where is that Post-it with the client's feedback?
I've also grown used to developing with a bug/issue tracker. I love Jira but needed something free so turned to Redmine. Redmine is built on Ruby on Rails and again I didn't want to go through the hassles of setting something up so I turned to BitNami which I have blogged about in the past. BitNami happens to have a Redmine application stack available. Download. Install. Done! Out of the box Redmine provides you with issue/bug tracking, file repository, wiki, forums and more. It also integrates nicely with Subversion.
Hey who deleted the file on the server?
I've also grown used to developing locally vs. on a central server. Locally I'm running my VirtualBox development environment I've talked about before. ColdFusion, MySQL and some other tools all conveniently running in a VM. I actually set this up at home, then exported it and copied it to my work machine. A few tweaks and I had our project up and running locally on my workstation.
In only a few hours I setup source control, a bug/issue tracker and a local development environment. The "I'm too busy" excuse is easy to fall back on but it really takes very little time to setup a solid development environment that would benefit everyone from a small team of one to large corporate teams.
Next up - mockups, bug logging and more tools!