How to go from clients to products?

Ask 37signals: How to go from clients to products?: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.

[Always a good reminder.]

IronRuby is now an Open Source project!

IronRuby is now an Open Source project!: On Friday October 12, the OSI approved the Microsoft Public License (or the license formerly known as the Microsoft Permissive License) and the Microsoft Reciprocal License (aka Microsoft Community License).

While many in the community have acknowledged that this was a formality, it’s good to put the nonproductive license lawyering behind us so that we can focus on delivering a great Ruby implementation to the community.

Source: Less is better

NYTimes DBSlayer

NYTimes DBSlayer: NYTimesThe DBacesslayer aka DBSlayer aka Släyer (as we like to call it when we’re feeling ironically heavy metal) is a lightweight database abstraction layer suitable for high-load websites where you need the scalable advantages of connection pooling. Written in C for speed, DBSlayer talks to clients via JSON over HTTP, meaning it’s simple to monitor and can swiftly interoperate with any web framework you choose.[From the Times? Cool.]
Source: BitWorking