The tools in your tool box really break down into four kinds. You need time tracking and ticketing tools, you need communication tools, you need accounting and invoicing tools, and document and code management. For the most part, you can acquire adequate tools for free online. In some cases, you may have to pay for something in your tool box if you want hosted revision control or more robust tools.
Tracking and Ticketing
Ticketing and Tracking are the basis from which you are able to bill your clients, track your efficacy, share tasks, and organize sprints. I have used a ton of different ticketing systems over the last 15 years or so. They are more or less good depending on your specific needs.
Spreadsheets - Some have had good luck using spreadsheets for ticketing. If you take this route, it really is a good idea to use something like Google Docs so that the spreadsheet can be shared. That said, spreadsheets are not really very good ticket tracking tools. They do do a great job as estimating tools.
dotProject is one of my favourite project management suites. It is a highly flexible (if clunky looking) ticketing system. It allows you to create multiple projects over multiple clients. If you spend the time to add start and end dates to tasks within a project, it will automatically create a ghantt chart for you. I will say, if you want to be more effective in your charting using a tool like Omniplan DotProject also has an invoicing plugin if you want to invoice directly from the software. You need to set it up yourself on a LAMP stack server. Upside, it is free.
Unfuddle is a hosted service that provides basic ticketing, Subversion Hosting, and Git Hosting. It is a paid service if you want to have more than one project. It can be a little tough to get data out of unfuddle for the purpose of invoicing - but it does has an export feature that will let you dump the data as a CSV file. Unfuddle will incur a moderate cost.
Rally is another hosted service designed for Agile development. My one beef with Rally is that it uses sessions to track where you are in the software. This means if more than one person is trying to use the same user, you end up jumping around in the software in extremely odd ways. I believe this is by design, because Rally charges by the seat. Rally can be an expensive option.
Open Atrium is a Drupal intranet project that combines case tracking, blogging, a pseudo chat system, and document management. The only challenge with Open Atrium is the lack of a good time tracking system. However, it is terrific for client interaction.
Bugzilla is a terrific bug tracking system. Don't use it for regular project management.
Trac has a wiki and issue tracking system and will integrate nicely with Subversion. I've used Trac for about a year now, and it is a reasonable effective issue tracker.
Google Voice - get a phone number through Google Voice. The voice mail transcription is really pretty good and you are able to forward a number to any other number such as a mobile phone. Make sure you have a mobile phone. It will allow you to have your "office" pretty much anywhere you have your laptop.
Skype - sign up for Skype - it is a terrific voice, video, document transfer, and chat system. It is peer to peer which making it secure.
IRC or Internet Relay Chat is the granddaddy of all chat programs. You can host your own IRC servers. Using tools like the Drupal Bot by Morbus Iff will log your IRC channels for you and create pages in a Drupal 6 installation with your log files.
Open Atrium is terrific for client interaction through an Intranet.
Bamboo Invoicing is a great option for open sourced invoicing. It is basic, but easy to use.
Quickbooks is a complex, but great, accounting package for small businesses. It allows you to book hours and invoice folks. It will manage your output for your accountant at the end of the year.
Document and Code Management
Open Atrium can work for basic document management.
Dropbox provides versioning on shared documents. A folder appears on your computer that synchs over the Web to make sure documents match on each of the computers. This is great for document sharing and editing.
GIT is for revision control - allowing you to check code in and out of a central repository that the whole development team can you use. Unfuddle provides GIT as part of the service.
Subversion is also commonly used for versioning software.
CVS is older, but also still commonly used for version control.
Bazaar is a relative newcomer to the version control world, but is quickly gaining ground.
Photo Credit: boff_hiroshi on Flickr
Under a Creative Commons Attribution License