Heads up! This page uses features your browser doesn't support. Try a modern browser like Firefox or Chrome for the best experience.

Build software for general concepts and encourage people to create their own solutions

Don’t force conventions on people. Instead make your software general so everyone can find their own solution. Give people just enough to solve their own problems their own way. And then get out of the way.

When we built Ta-da List we intentionally omitted a lot of stuff. There’s no way to assign a to-do to someone, there’s no way to mark a date due, there’s no way to categorize items, etc.

We kept the tool clean and uncluttered by letting people get creative. People figured out how to solve issues on their own. If they wanted to add a date to a to-do item they could just add (due: April 7, 2006) to the front of the item. If they wanted to add a category, they could just add [Books] to the front of the item. Ideal? No. Infinitely flexible? Yes.

If we tried to build software to specifically handle these scenarios, we’d be making it less useful for all the cases when those concerns don’t apply.

Do the best job you can with the root of the problem then step aside. People will find their own solutions and conventions within your general framework.

We made Basecamp using the principles in this book. It combines all the tools teams need to get work done in a single, streamlined package. With Basecamp, everyone knows what to do, where things stand, and where to find things they need.