A social media site thrives on active and ongoing user contribution. That typically demands ongoing infusions of content, skilled animation, participation incentives — all of which cost money.The great news is that social media sites offer at least as many opportunities for revenue generation as for spending.
How can online collaboration tools like Basecamp support effective project management? That's one of the questions that came up at the values-based project management session I attended at Web of Change, led by Rob Purdie of Important Projects. I wanted to continue the conversation with Rob himself, and promised to blog our own project management workflow at Social Signal so that he could offer his comments and feedback on how to improve our approach.
Let me begin by saying this is very much a work in progress: we're still searching for the Holy Grail of optimized workflow, and feel like the tools we use now — particularly Basecamp — don't fully meet our needs. I'll address some of those limitations towards the end of this blog post, but let me begin with an overflow of what we use and how we use it.
Our main tools are:
- Basecamp: for project-related task management and client communications
- OmniPlan: for prospective project planning and gantt charting
- Remember the Milk: for internal task tracking
- iCal: for internal scheduling and time tracking
- Google spreadsheets: for capacity planning and docket review
This blog post will focus on how we use Basecamp, which is our main tool for managing the ongoing work of individual projects. The fact that we use so many other tools speaks to the issues we have with Basecamp — which is one of the issues I'm particularly keen to hear Rob address. We're also fans of — though not religious adherents to — David Allen's Getting Things Done methodology, which has influenced our approach to task management.
We set up a Basecamp site at the beginning of each client engagement. Some of the best practices on Basecamp set up that we are trying to adopt as our standard include:
- posting a welcome message to Basecamp that explains how to use the site (see VentureMarketing's Basecamp Welcome PDF, and their Basecamp client jumpstart, for another approach)
- presenting an overview of Basecamp at an early client meeting
- when clients e-mail us outside of Basecamp, redirecting them back to the Basecamp site, often by copying-and-pasting their messages into Basecamp
I add all our subcontractors to Basecamp as members of Social Signal, so that we can cover any technical issues without dragging the client into the Drupal abyss. We recognize that our clients don't always benefit from seeing how the sausages are made, and when it gets into some of the intricacies of module development or permissions configuration, we like to keep the excruciating details private so that clients aren't drawn too deeply into technical issues. Unfortunately, Basecamp only allows private communications among members of the same company, so we choose to treat all our subcontractors as members of Social Signal.
Structure and usage
We use messages for communications that require an action or response. This includes:
- communications with clients and client updates
- client requests (bug tracking, questions, etc.)
- internal discussions of how to handle tasks (marking these discussions private so they aren't visible to client)
We use writeboards for communications that are FYI only (though we may use messages to notify each other of a new writeboard).
We use task lists for items that require a "next action" (in GTD terms).
We have recently refined our use of messages to keep better track of all open loops. We respond to urgent messages as they come in, and at least once a week (and ideally every 2-3 days) we review all the messages in a given project space, and update status. We find that updating message status on a real-time basis is excessively time consuming and leads to duplication of effort.
Our message categories vary a bit by project but mostly reflect major categories of project activities (see screenshot — some items deleted to protect client privacy).
When we review a message we briefly note our response, action required, or action taken, even if it's already completed, for future reference.
We then edit the title of the original message to note the status of that message:
- QUEUED: the message requires an action or response. An item is only marked as "queued" when it has been added as a specific task or tasks in a to-do list. An item may be marked as "queued" even if we anticipate that it will prove too low-priority to address; however by adding it to our queue it can be reviewed with the client during our next review of outstanding tasks, and prioritized accordingly.
- CLOSED/RESOLVED: the message requested or required an action or response that has now been completed. We switched from marking items "resolved" to marking them "closed" because sometimes messages are closed because the team (including the client) decide that no further action is warranted, because the item is low priority or because the issue is not expected to recur. When an item is closed we ALWAYS leave a final comment noting the action or decision that led us to mark the message closed.
- NOTED: the message provided information that is needed by the team or client, but does not require direct action. When an item is noted it is usually placed in a writeboard we expect to refer to at a later date, e.g. a "think about for phase 2" writeboard or an "items to review before launch" writeboard.
Editing our message titles to reflect the status of each message gives us an at-a-glance view of which client issues have been addressed, and which need to be reviewed for action items.
We have recently shifted from using fewer, generic to-do lists (which we were trying to standardize across projects) to using a lot more to-do lists, each one corresponding to a set of related tasks. This reflects the GTD notion of grouping tasks by "contexts" or as "projects" consisting of multiple tasks.
By grouping related tasks we ensure that:
- related tasks at the same time, and can therefore consider a solution that might address multiple requirements or bugs at once
- tasks can be ordered in sequence or priority, so that a team member can quickly see which tasks must be completed in which order
- a team member can see who else is working on related tasks
- tasks don't get lost in long (20+ items) lists
When we had fewer categories we found that the very long lists of tasks under each made it hard to identify relationships or priorities; the shorter list of tasks makes this much easier.
We keep our to-do lists organized alphabetically; when we decide to prioritize a specific set of tasks as the next focus for our work, we move that to-do list to the top of the page and mark it "P1: to-do list name" (as in "priority 1").
Writeboards are our long-term storage area and collaboration space. We use writeboards for:
- to-dos that we are considering (often for a future phase) but haven't prioritized/organized yet
- reference information (like a description of our e-mail configuration)
- meeting notes
- personal notes that we might want to share with other members of the team, but which don't require an action from anyone (we may still use messages to notify the rest of the team that we have created a writeboard for them to look at)
Our experience with Basecamp has been shaped equally by the technology itself, and our diligence in using it. Of course, these aren't unrelated issues; if Basecamp really met all our needs, so that we could keep all our tasks organized in one place, I suspect we'd be much more consistent in using it.
We find that Basecamp works well for:
- collecting client and team correspondence in one place for future reference
- organizing project tasks, particularly site/softeware development tasks
- keeping track of our "someday" ideas in writeboards
- centralizing our project notes as writeboards
We find that Basecamp works poorly for:
- personal task management; we often transfer our basecamp tasks to Remember the Milk, where we each maintain an integrated personal "to do" list
- sensitive communications with other team members (due to lack of privacy settings)
- project planning (we use OmniPlan, then transfer milestones to Basecamp)
What we like about Basecamp:
- industry standard — most of our partners and subcontractors, and a few of our clients, have extensive experience with Basecamp
- nice-looking user interface
- client-friendly/intuitive to use
- e-mail notifications include full text of the message
- availability of 3rd party add-ons
What we need that we're not getting from Basecamp:
- deadlines for specific tasks, not just milestones
- priorities for tasks
- ability to assign one task to multiple people (though I recognize that could be a mixed blessing)
- ability to comment on a task
- bug tracking (could be addressed by ability to comment on a task)
- ability to make messages/to dos private when communicating with people outside our own company
Nice-to-haves would include:
- spreadsheets (as well as writeboards)
- personal calendaring
- ability to store project templates so we don't have to recreate all our categories from scratch each time
- option to automatically alphabetize categories
- option to keep message categories and to-do lists in sync (i.e. creating a new to-do list would create a new message category with the same name)
- tags in addition to categories
- better RSS output and/or an iGoogle widget that lets us interact with our tasks from our Google homepages (as Remember the Milk does)
One of my favorite compulsive activities these days is looking into Basecamp alternatives. So far my conclusion has been — to paraphrase Winston Churchill — that Basecamp is the worst possible project management tool, except for all the others. Here are some of the "others" I have looked into, or mean to look into; I'll try to come back to this post and annotate the list with the reasons we haven't moved to any of these:
Unfuddle — intriguing because it includes subversion and bug tracking
Clocking IT — a free basecamp alternative, but as far as I can see no built-in messaging. Time tracking, though.
Michael Silberman of EchoDitto put me onto Central Desktop as a somewhat pricier Basecamp alternative that includes many of our concerns about Basecamp. We're trying it out, and it looks promising, although I'm a bit disappointed in the look and feel (it's not nearly as pretty as Basecamp) and daunted by the prospect of moving our projects over. However the prospect of being able to assign deadlines to tasks (imagine that!!) probably outweighs every other issue.
Brian Benzinger's roundup of project management tools for developers provides quick takes on some of the above, plus many more.
In the course of my obsessing over Basecamp and project management workflow I've found a number of useful blog posts on other people's use of Basecamp and Basecamp alternatives. For some reason many of the blog posts I've come across are by friends in the non-profit tech sector; I'm not sure if that's because of Google's freaky habit of customizing search results, or because non-profit techies are somehow more obsessed with workflow (comments, anyone?) Here are some of the posts I've found helpful.
Sonny Cloward mapped his workflow, which hinges on Basecamp, Backpack and Mozilla Calendar.
Ruby Sinreich blogged her thoughts on Basecamp plus GTD, which includes creating virtual "people" who represent different contexts, so she can assign her tasks to contexts.
LifeDev reports on using Basecamp with GTD, in this case using to-do LISTS as contexts.
Jon Stahl provided an overview of collaboration practices at ONE/Northwest, which includes using Basecamp.
I'm going to take Central Desktop for a serious spin. I'm going to continue praying to the 37Signals gods for true Basecamp-Backpack integration, or to the Remember the Milk guys for Basecamp-RTM integration as an answer to their "how can we start charging for RTM?" quest. I'm going to try out Omni's forthcoming OmniFocus task manager.
And I'm going to resist the temptation to engineer an in-house Drupal solution to our project management wishlist. After all, our needs aren't THAT exotic, and there are an awful lot of people chasing the same vision. I'm trusting that one of them will get us much closer to a solution before long.
Meanwhile, I'm eager to hear from Rob Purdie and others about how we can improve our current Basecamp usage. In particular I'm curious to hear:
- how people use Basecamp as part of GTD
- best practices for to-do list structures and message categories
- best practices for managing privacy and disclosure among staff, clients and contractors
- advice on how to manage personal to-do lists within/alongside Basecamp
- how people cope with Basecamp's lack of task due dates
- experiences with Basecamp alternatives
- advice on encouraging good Basecamp habits among staff, clients and contractors
And if you've blogged your own project management approach or workflow, please let me know by sending an e-mail to alex [at] socialsignal [dot] com, or posting a comment here.
Why invest in an online community if Facebook is going to knock you out of the game?
1. My hair dryer (so no cracks about the ‘do, ok?)
2. All the #@*!!## beeping, noisy kids’ toys in our house. Let them play with carbon neutral, quiet blocks for the day.
3. My TV. I can read the American Idol results online. 😉
Why would I live without all that electrical goodness, even for one day?
Because May 16th is “Turn It Off! BC” — a day for people across the province to turn off their lights and other non-essential electronic and electrical devices. We’re going to show the world that BC-ers don’t just talk the talk on sustainability — we’re prepared to talk in the dark.
Please join me by:
1. Forwarding this message to three (or more) of your Facebook friends (instructions below)
2. Joining the Turn It Off! BC Facebook group at http://www.facebook.com/gr
3. Taking the Turn It Off! pledge at http://30daysofsustainabil
To turn YOUR friends off….
1. Select this message (everything down to where it says THANKS!), copy it, and then hit the “share” link (above if you’re reading this in a profile, below if it’s a message in your inbox).
2. Choose the “send a message” tab, and paste this text into the body of your message.
3. Edit the list at the top of this message to replace one of my pledges with your own (or replace all 3 items).
4. Enter the names of 3 of your friends in the “To” field (Facebook will help fill it in), slap on a subject line (“Can you turn it off?”) and hit “send”.
And while you’re at it, why not post to your profile or your wall, too?
Still here? Don't tell me, you need actual reasons to join. Fine, here goes:
- It's huge, and it's growing. While Facebook started as a network for college students, it opened up to anyone who wanted to join in September 2006, and grew more than 75% — to almost 25 million users — by February. I haven't found numbers more recent than that, but I can say that between 1-3 people in my own personal address book (1500 email addresses) are joining every day.
- Your friends are already there. If you import/connect to your address book when you sign up , you'll discover all the folks you know who are already on Facebook. This is a great way to keep in touch with them. You can even find out who in your universe is already on Facebook, before you sign up yourself.
- It mixes business with pleasure. Unlike LinkedIn, which feels like some sort of massive rÃ©sumÃ© swap, Facebook brings a personal side to its user interactions. More than half of my Facebook friends are colleagues or professional acquaintances, and now I'm finding out about their personal passions as well as their professional pursuits.
- It's one-stop shopping. Facebook offers blogging, photo sharing, messaging, web-to-mobile communications, social networking, and groups.
- It's a window on your world. Once you've added your contacts to your list of Facebook friends, your Facebook home page will be the best place on the web for you to find out what's going on with the folks you know. My favourite part of Facebook — the thing that makes it truly addictive — is checking in to see what's going on with all my friends and groups. I can see my friends' latest status reports, their latest new friends and groups, their notes, their photos….all in one place. The best way to get how cool this is is to take a look, but I don't think I can really share a screenshot because that would mean sharing details on my friends' activities. And that underlines what is so great about the Facebook feed: it feels far more personal than what you'd normally see on the wide open web.
- It's pretty. God knows, I've fallen in love with my share of social media tools, but most of them have required me to look past a barebones or even downright ugly interface in order to appreciate the inner beauty of content sharing, social networking, or whatever. In contrast, Facebook has a very polished interface.
- It can help you connect with your community. Facebook has now got an API — application programming interface — that lets people extend Facebook with all sorts of little applications and enhancements. (Check out some of the options so far.) And that API is going to see Facebook integrated into more and more 3rd party sites. If you find it easier to connect with your members, supporters, customers or friends on Facebook than to lure them into registering on your own site (and for most organizations, it will be MUCH easier to connect via Facebook) you need to start thinking now about how you can integrate Facebook's community and functionality into your own site.
I'll have more to say about Facebook — and especially about the options for integrating Facebook with external web communities — in the coming weeks. But if you want to understand why this matters, you need to join Facebook now. And once you do, be sure to add me as a friend!