A lot of people over the years have asked us how we use Basecamp to manage our projects and collaborate at 37signals.
Knocking down the wall
We’ve given tours, we’ve shown screenshots, we’ve shared excerpts, but that’s like peering through a tiny hole in the wall. You’d have a much better view if there was no wall at all.
So we built in a special feature that’s unique to our Basecamp account that allows us to make one of our projects completely public. It’s read-only, it can’t be changed, but you can see all the discussions, to-dos, files, etc., just as they happened.
The project
Whenever we work on a new feature in Basecamp, we create a new Basecamp project. We keep all the discussions, to-do lists, assignments, relevant files, relevant text docs/notes, and any related schedules in the project.
Recently we added the ability to export your Basecamp projects and files into a tidy, self-contained web site you can download to your computer and view in your web browser. This way you can take your data with you, make a backup, or send a copy to a client.
So to get started we created a new project in Basecamp called “BCX: Exporting”. Note: We put “BCX” in front of any new project that’s related to the all new Basecamp. This way, at a glance, we know that this project is for this product, and not for something else we’re working on.
Here’s a link to that project.
You can see all the discussions we had around the export feature. Here’s a meaty discussion (38 comments) that involved ops, dev, and data. And for the designers/writers out there, here’s a design discussion about a specific to-do.
Every file and screenshot we shared in this project is stored on a single page. And you can see a list of every to-do we completed before deploying the feature.
And if you want to see exactly what happened, day-by-day, check out the super-useful Catch Up view. You can step back in time, one page/day at a time. For example, May 22nd was a particularly busy day with 10 people contributing feedback to the project. And May 9th saw a nice handful of important to-dos completed by Jeff.
Lastly, here’s an FAQ that Jeff put together for the support team. It’s super helpful to use Basecamp Text Documents for things like this.
More public projects soon
We hope a look at one of our real Basecamp projects helped give you an idea how we use Basecamp to centralize discussions, files, to-dos, and decisions.
We’ll be opening up more of our projects to public view in the coming weeks. We’ll share different kinds of projects too – some heavier on the design side, some heavier on tech, etc.
After seeing this, do you have any questions about how we use Basecamp? We’d be happy to share any tips/tricks or best practices we’ve come up with along the way.
brad
on 28 Jun 12These kinds of “how we use it” examples are 4,573.5 times better than a user manual that just lays out features without giving you a clue about how to put it all together into a real-world workflow. Thanks for doing this!
Jay Pandey
on 28 Jun 12Really nice showcasing how you use Basecamp internally.
radex
on 28 Jun 12So you guys use GitHub (not GitHub FI) to store your internal source code…
DHH
on 28 Jun 12Radex, absolutely. We’re in the business of hosting other people’s confidential data on our systems. What kind of example would it be to set if we wouldn’t host our confidential code on a trusted external system? Do as you say and say what you do.
Cyle Gage
on 28 Jun 12This is fantastic. Any way you can make it so other accounts besides yours can display projects entirely publicly in a read-only state? I actually sent a feedback request with this question when the new Basecamp came out.
DHH
on 28 Jun 12Cyle, we’re thinking about it. We just have to figure out what the implications are for bandwidth, traffic, etc. We don’t want Basecamp to be used as a free distribution platform for your next 1080p movie ;)
Raymond Brigleb
on 28 Jun 12Do you actually use Basecamp to manage development projects, or something like Redmine?
Chas
on 28 Jun 12This is very nice example of how to create quality copy.
- https://public.basecamp.com/1679267/projects/343643-bcx-exporting/todos/5157955-design-the-ui-for
Thanks for sharing.
DHH
on 28 Jun 12Raymond, we use Basecamp to manage all our development projects. That goes for both things that are in development and things that are deployed. We use it to track bugs, feature requests, everything. It’s amazingly flexible and simple to use.
This is not a sample project. This is the real project for how we implemented the Export feature in the new Basecamp.
Henrik N
on 28 Jun 12“View full size” on a file links outside the “public” subdomain and asks for auth.
Anderson
on 28 Jun 12You guys should build a feature to let us rename our uploaded files.
David Radcliffe
on 28 Jun 12Wow, this is awesome. Great to see how you work. Thanks!
Phil Caravaggio
on 28 Jun 12Jason / David,
This is a great idea. Would you mind sharing your individual processes for staying on top of projects as managers?
E.g., in Basecamp Classic, each morning I would review the project overview page for each project I was managing, clicking on each to-do, comment, etc. in reverse chronological order until I reach the items I reviewed the previous day (or the last time I checked in), just to make sure I’ve reviewed everything relevant to me.
You guys? What routines and processes do you go through each day in Basecamp to be an effective project manager / leader?
Dan Bowen
on 28 Jun 12This is a great look into the minds at 37Signals and your internal use of your tools. I am however curious if you have some examples of how you have used the product for things outside of dev like your office build or a company get together etc. It would be beneficial for use cases outside of software dev to see examples of things that fall outside of where our brains naturally take us with your products.
Mark
on 28 Jun 12@ Dan, what you have mentioned used to be the purpose of the amazingly useful (and often customer-driven) Product Blog, which 37s disabled; now, there is only sifting through thousands of unclassified, non-visually stimulating Twitter posts to find that rare gem of customer usage idea.
The old Product Blog was a treasure trove of ways to use 37s tools. While I understand they didn’t want to maintain it, it is beyond me why they didn’t keep the archive available. If they are looking for ways to double their customer base, they might consider re-opening this defunct vault.
Cedric
on 28 Jun 12Love the ‘where do we put those zip files’ thread :)
File-system storage is a real pain with multiple hosts. Nobody should have to endure NFS… but harm continues to be done ;) DHH: no, you are clearly not the only ones out there with the problem… but the answer should not be found at the kernel/system level.
For what it’s worth, I’ve been running GlusterFS for a couple of years for that purpose (and hoping for less inconvenience than NFS when it comes to handling node failures). Finally been able to kill that last month—this has been the component responsible for most of downtime at my place. Any solution that sits at the file system level is weak, IMHO. Should be managed by application code, not by some kernel/system magic. Going to S3 for persistent stuff. When necessary, S3 is cached by a distributed per-node loxfile-systems, with on-demand cross-cache transfers (through nginx—) - either S3 - or Rails code that manages per-server local distributed storage, with
Cedric
on 28 Jun 12Gosh, hit the ‘Post’ button by mistake :( Last sentence makes no sense.
Anyway, just saying that using Rails to manage a distributed per-node local storage with some tricks to either replicate data between nodes (on-demand or pro-actively) using plain HTTP or use loadbalancer to hit a node that hosts the required data is probably very adequate for this purpose (ie, for short lived & large files). Persistent data is still fine on S3 I guess. At least, that’s my current strategy… my quality of sleep has greatly improved as a result.
Time for somebody to come up with a nice generic gem for that…!
NFS, my dear…. I feel the pain of the Op team!
Forrest
on 28 Jun 12I noticed a couple of discussion posts referring to the project’s “heartbeat.” Is this terminology you all use regularly? Like, a heartbeat is a status update, or like “bumping” a thread on a message board?
Thanks for releasing this! Very inspiring and interesting.
EH
on 28 Jun 12One nitpick I have is that on the Catchup page, it’s not apparent that the conversation titles are something to be clicked on for more.
DHH
on 28 Jun 12Phil, I really like the daily email that Basecamp sends. It’s a summary of everything that happened yesterday. During the day, I use the timeline to catch up on things. The new Basecamp is much better than Classic for these things.
Forrest, a heartbeat is a weekly update from the team on where they are and where they are going.
Felipe
on 29 Jun 12Hey guys,
Great post as always. I have question related to your software team. Do they use any other software web based to track code development? (like Pivotal Tracker)
Thanks.
Breandán
on 29 Jun 12Just another vote to push the “public, read-only” view of Basecamp projects to the hungry masses. I understand the bandwidth concerns, but this would be a great, great thing for those of us who do large projects with public money.
As a taxpayer, we think you should be able to see our work (in our case on digitising cultural heritage across 2,000 european institutions). You should be able to see how we make decisions, see our product roadmap, see what tax money is funding. We can’t add 300 million people to Basecamp, but we would love to “work in public”.
We have projects with hundreds of people, collaborating every day. We so wish we had a way to open the process to the thousands of working professionals who would like to use our code, processes and expertise.
Markus Wild
on 29 Jun 12This gives us a good guidline how to post short and pointed messages. Our threads are too often overcrowded with signatures and this kind of stuff that makes it difficult to read the essence quickly. Have you any directive on how to write posts into discussions or tasks? Would love to have an additional public project named BCX Timetracking ;-)
Vincent
on 29 Jun 12I’m wondering how you use Github in your workflow. Do you use it just as a code repository and leave pull requests and issues out and keep all your discussion in BCX? Or do you use them in tandem with BCX?
Angelo Giannatos
on 29 Jun 12“One project picture, a Thousand help words”
DHH
on 29 Jun 12Felipe, we exclusively use Basecamp to track code development. All features are planned, discussed, and prioritized in Basecamp todo lists.
Vincent, we mostly just use Github as repository. We have on a few occasions used pull requests, but it’s not that common. All discussions generally happen in BCX.
Breandán, that’s a great idea! Let’s explore some simple controls a little more and see if we can’t make that happen. Maybe send me an email to [email protected] and we can see if we can turn on this feature just for you for starters?
Hugo Baraúna
on 29 Jun 12Nice post!
The way I use Basecamp is having a to-do for each milestone of my project and a task for each feature.
So, one thing that I found curious is that instead of creating a to-do or a task for each feature, you guys create a whole new project. I can see the advantages of that approach… but, what about the disadvantages?
It seems to me that if I create a project for each feature, and I have a lot of features in my backlog, there’s no easy way to prioritize them or have a big picture of my whole project.
Could you please comment on that?
DHH
on 29 Jun 12Hugo, we keep a master project to organize whole iterations. I think we’re still calling this project BCX: V1.1. It has a list called “In progress” and “Plated” for things we’re working on now and things that are coming up shortly. Each of these todos are just a pointer to a full-size project that we use to keep the bird’s eye view. Works really well!
Martin
on 29 Jun 12wow, really impressive tool. Especcially today when workflows changes so deeply. Since some years I work on my own – but in many projects I have some freelancers or other companies to cooperate. I think I will try basecamp in my next project.
Good luck to you, Martin
Sen
on 29 Jun 12The way we use basecamp is that, we put all client work in one project, each client is given their own to-do-list and stuff we need to do is broken down into tasks. This gives us our bird’s eye view and keeps everyone on the same page.
We tried assigning projects individually but staff were complaining that it was bothersome checking everything separately, so we grouped it all together.
If there’s a major project that requires constant client feedback, it’s made into an individual project and the clients are invited in. Project will be archived upon completion and hand over.
David Paquet
on 29 Jun 12Just curious, some of those discussion talks about Google Docs integration, I wasn’t aware of any “Google Docs” feature in the new Basecamp?
JS
on 29 Jun 12@David Paquet
Spoilers. ;)
ECR
on 02 Jul 12Too bad a lot of these features aren’t available in Highrise. Or should I ask: when will they be available in Highrise?
Alex Sante
on 02 Jul 12@James
I took a look at the files section, and was impressed by the collaboration between you and you’re team on even the smallest tasks.
It’s great that you’re sharing this. Thank you!
Alex Sante
on 02 Jul 12Sorry.. meant @Jason not @James :/
Michael Hall
on 02 Jul 12very cool case study guys, i’ve yet to use basecamp cause it seems to have so many bells and whistles and i haven’t really had a need to collaborate with more than email yet, i guess it would be very useful if you guys created blank templates/wizard for specific tasks or types of projects that would ask us a series of questions and do the behind the scenes stuff for us depending on how we answer each question. but this was very thought provoking, hopefully i’ll need to use this soon or can probably use a demo for a small project. Feel free to email me a scenario/wizard that i could try out, i’m always coding up new web based apps/sites and i tend to create a list of modules in a to do list and then work on them one at a time, but i could see how doing this as a team or for allowing a client to provide feedback as the project progresses.
Ovi Demetrian Jr
on 02 Jul 12Heads up that the ‘View all of these images at once’ link comes up with broken images. Ex: https://public.basecamp.com/1679267/projects/343643-bcx-exporting/comments/8514938/image_attachments
tap chi design
on 05 Jul 12Amazing ! thank for this post sharing
DHH
on 05 Jul 12Ovi, thanks for the report. Fixed it.
This discussion is closed.