37signals – Getting Real, BaseCamp, & Ruby on Rails

The company I work for recently discovered a product called BaseCamp, and the company that built it, called 37signals. We were simply in search of a project management solution and ended up finding somewhat of a philosophy (as well as a project management solution). This philosophy is outlined in the book Getting Real.

Now, I’m skeptical about almost everything. I don’t generally buy into anything without considerable time and thought. But by the time I’d read through the free sample chapters, I realized that they were saying many things I’d been thinking for years. Things I’d already learned from experience on my own. Things I thought were just me being lazy. Many things that our company already does inherently, but often fights against because they seem to go against conventional wisdom. This ended up being true all the way through the book.

Admittedly, so far, this kinda sounds like the rebellious outcast kid who finds comfort and refuge in a cult leader who finally identifies with him, who “speaks her language”, who “knows exactly what he’s thinking”. That’s okay; I’m wearing the black Nikes and purple shroud for now.

I’m certain their philosophy doesn’t apply directly to every situation, but their business is close enough in concept to our’s that I think it’s just about dead on. The only glaring difference I see is that 37signals often has a lot of public attitude about knowing what’s best for the customer, and not letting a product stray from it in anyway. While I do believe in that idea, the owner of our company has had a lot of business success with a more cordial approach to customers. I’m betting the same steadfast ideas can be done without being thrown so directly in customers’ faces.

By sheer coincidence, I’d recently been looking into some kind of new programming framework to standardize our tools on. Ruby on Rails has been making a lot of noise, but I had seen recent articles comparing Ruby to perl, and bought into the idea that Ruby is becoming popular simply because it has better-than-average marketing for an open source product. Since perl has been our environment of choice for 10 years, my first reaction was to try one of several perl frameworks that seem to be popular at the moment. After a couple hours wrestling with a large number of perl module installations and still not having anything to show for it, I decided to move on.

Ruby on Rails was the next test. Several tutorials on Ruby made it seem like a good enough language. Strong regular expression support? Check. Object oriented approach? Check. Easy code to read and learn? Check. Then I ran across a video demo of a “15 minute blog” done in Rails. Very impressive. Even without understanding every little detail, it was clear why the approach was fast and good. I figured installing Ruby and Rails would probably be a bear, but it went surprisingly smoothly and quickly. Not long after, I had the RadRails IDE installed and was working through the “Ruby on Rails: Up and Running” book. I simply didn’t encounter any of the usual “stoppers” that one runs into during this sort of thing.

It was about this time that I discovered Rails was created by 37signals partner David Heinemeier Hansson, and that it’s the framework for all their products. Wow, this just all seems to be coming together at the same time.

Certainly the verdict is still out on whether it will eventually become practical to make a full switch to Ruby on Rails for our products, but I’m very encouraged by what I’ve experienced so far.

I only hope that there’s not an alien ruler named Xenu at the end of this philosophy…