Web Agency Project Management
July 9th, 2010 by Chris Olberding
It takes a lot of software to smoothly run a web agency. When Station Four started in 2007 we primarily leveraged cheap or free versions of a number of the 37 Signal apps such as Basecamp, Highrise, and Backpack. Over the years we’ve adapted as we’ve grown, all the while knowing that a number of the systems we were using were merely stop-gap measures.
Currently we still rely heavily on Basecamp though we’ve long outgrown it. Since 2008 we’ve been on a pretty regular cycle of a) getting frustrated with the limitations of Basecamp, b) evaluating alternatives, c) hating the alternatives, d) deciding to build out our own software to manage our process, e) realizing this isn’t going to happen overnight, and then f) resigning ourselves to keep using Basecamp ‘temporarily’.
In the last 9 months we’ve grown from two to five people, seen our workload increase exponentially, and also seen an increase in project complexity – the days of using Basecamp as our primary PM tool are nearing an end as a matter of necessity.
In this post I examine the project management software ecosystem and discuss what Station Four currently uses. I plan on following this post up with a description of the new system as we begin to put it in place.
Below is the way I conceptualize how the various pieces work together:
Each bit of functionality doesn’t necessarily require its own standalone piece of software – most project management web apps purport, to varying degrees, to offer much of the functionality referenced above.
Overview of Functionality
Centralized place to store contact information. Usually this is part of your traditional CRM software, however team members that have nothing to do with sales still need to access this information so I keep this separate from sales and marketing. 37 Signal’s Highrise is more akin to a contact management app than a proper CRM.
Currently Using: Good question. We’ve used Highrise and vTiger (a SugarCRM variant) neither with much success. Beyond a contact manager Highrise’s features are basic and not worth the $50/month to fully take advantage of them. vTiger is a free open-source and boasts a decent feature set based off SugarCRM. However, even with some customization and tweaking, the interface is cluttered, feeling slow and unresponsive and just isn’t fun to work with. If something’s not easy to use, it’s difficult to maintain. In reality our contacts are scattered between Highrise, vTiger, email, and scraps of paper blowing around the office. This is something that needs to be remedied.
System to track leads, prospects, and new business. Can send follow up reminders and run sales reports. Core functionality of most CRM’s like Sugar CRM, ACT, and Sales Force. Dependent upon Contact Management functionality.
Currently Using: vTiger. Highrise is too basic for our purposes. vTiger has the functionality we want – tracking leads from contact to contract – but is a pain to use. Most CRMs have too much functionality – marketing campaign tracking, email marketing, inventory control, invoicing, etc – and have cluttered interfaces as a result.
Allows clients to monitor project status and upload files and serves as a hub for project-level communication. Some project management apps do this well. Basecamp is great for this; ActiveCollab is not as great though it tries. Some of the more serious PM tools don’t really include ‘client portal’ functionality.
Currently Using: Basecamp. This is one thing that Basecamp does pretty damn well. Clients tend to figure it out on their own. The biggest area for improvement is how files are handled. The file area tends to become a mess on big projects with lots of files. Ideally we’d like the file system to tie in with our file server, technically possible via FTP but I’m not holding my breath. Other small annoyances: files attached via email in replies to messages are ignored, some meaningless email attachments show up in the file section, and writeboards can be a pain to use.
Area to view organizational-level information on projects, budgets, milestones, and resource availability. Most project management web applications do this. See Basecamp, AceProject, ActiveCollab.
Currently Using: Basecamp. At a basic level, I need to see what needs to get done by when and match that with the availability and schedules of my employees. Basecamp is decent for viewing milestones and dates but is awful for managing resource allocation. I might know that a design composition is due in a few days but I don’t know how much time has been allocated to it or used by the employee who is responsible for it. My solution? A lot of “Hey, don’t forget do this by Thursday”. This is not the most efficient approach and things can slip through the cracks.
Team Management and Collaboration
Allows for a team member to see assigned tasks, estimated budget, and upcoming due dates and milestones. Also enables team members to communicate questions and status to the rest of the team, and interact with time tracking in a centralized location. Allows managers to assign and prioritize tasks and monitor what everyone is working on.
Currently Using: Basecamp + yelling. Up until recently the entire team was working in the same room, which made verbal status updates a lot easier. As we’re growing I’m finding myself constantly wandering out of my office to make sure everyone is on track. Basecamp and gCal are good for seeing upcoming deadlines but for now, task management is very manual and verbally communicated.
Largely for use in QA. Allows for specific problems to be listed, assigned, tracked. Should be integrated with team member’s other tasks.
Currently using: osTicket or Excel. In terms of proper bug tracking, we aren’t using anything other than the occasional spreadsheet put together in QA. In some cases we’ll use our support ticket system, osTicket, but it’s not very efficient for dealing with a lot of minor issues/errors (i.e. bugs).
Support Ticket Management (not pictured)
Similar to Bug Tracking however Support Tickets come in from existing clients, usually for maintenance. Might result in one or more entries in the bug tracking system.
Currently using: osTicket. Conveniently set so clients can email firstname.lastname@example.org and create a ticket, beyond that it’s a pain in the ass. The UI is weak and tickets assigned here are outside of our contact management and project management systems.
Users review and input time cards. Admins can run reports across numerous dimensions. Time is entered/stored in a manner that allows for easy billing and invoicing.
Currently using: DbNetTime. Obviously put together by a developer. Lots of features, pain in the ass to use. Users enter in time on a cost center/project/task basis and can enter notes for each entry, which is great if a client ever questions an invoice. We use this for pure time tracking; the software doesn’t hold estimates or show task percentage completed.
Straightforward (probably because I don’t maintain this), place where all money coming in and going out gets recorded and reports can be run on profit, expenses, etc. Invoicing functionality doesn’t have to be integrated with the accounting aspects, of course, but it is in our case. Invoices can be generated from hourly work or from reaching milestones in projects.
Currently Using: Quickbooks. Since I don’t manage sending out invoices I don’t have a lot to say here other than Quickbooks obviously doesn’t integrate with any of our other systems (contact management, time tracking). I don’t see any reason to move away from Quickbooks for accounting though I’m open to moving invoice functionality to an integrated time tracking application like HarvestApp, but I’d have to be convinced that there was an advantage in doing so.
With this inventory completed I am working on defining the criteria by which to judge a new system and then will begin to evaluate them. I plan on having a new system selected by the week. Open to any advice or experience people have with these tools.