Ryan Thompson asks:

From a financial perspective, how did you make the move from client development to 100% product development (i.e. private funding, VC, Angel, internal profits?). We’re in a pivotal time of shift in this direction but being internally funded means that client work sometimes (or most times) still takes precedence.

37signals made the move from clients to products one day at a time. Basecamp was developed alongside client work and was treated as essentially a third client. It had to compete for resources on equal footing with other clients, which meant that every hour we spent on it had to really count.

With constrained resources, you realize the value of the marginal hour very quickly. You can’t just goof around with science projects, open-ended explorations, and play time with new whiz-bang technology. Instead, you have to deliver real value, real soon. Otherwise the project is simply going to languish as it loses out to the “real work” of paying clients.

For us, that meant we had to build something for ourselves, something we needed, and something that was valuable enough that we’d assign resources to it over getting billable hours done. It meant racing to running software, deciding that a lot of stuff just doesn’t matter, and building half, not half-assed.

The initial start of extreme resource starvation lead to many of our thoughts on software development. It also lead me to believe that the best work is done when there’s not enough time, not enough money to do it “right”.

Doing it right is a pie in the sky. It’s a misnomer for second-system syndrome and it’s never going to happen anyway. So stop aiming for perfect, start aiming for good enough.

Got a question for us?

We’re looking for interesting questions to answer here at Signal vs. Noise. Got one? Then send it to us at svn@37signals.com (make sure the subject line reads “Ask 37signals”). We’ll cherry pick the most interesting ones and answer them here. Fire away!