February 18, 2009

Founders At Work, Getting Real with 37signals

Over the Holidays and a little bit into 2009, I read Founders at Work. It has some really great points and some other things that should be taken with a grain of salt. Founders is organized as a series of interview transcripts, which was refreshing.

One chapter of Founders At Work interviews David Heinemeier Hansson of 37signals. David has made several big contributions to online development over the past few years; most notably, 37signals and Ruby on Rails.

37signals is a small web-application development company based in Chicago. They make simple, effective, and highly usable software such as Campfire, an in browser chat program and Basecamp, communication driven project management software. 37signals originally started as a web design contractor but has since moved completely into web-app development. Although they are independently owned, they did receive a private equity investment from Jeff Bezos.

Over the past 2 years, Ruby on Rails has experienced rapid adoption by web-app developers. It is used by Hansson's company in their products, as well as Twitter and YellowPages.com. Rails has influenced several other frameworks (my favorites being Grails and Django) and has also solidified the MVC pattern as the defacto-standard for web-apps (For example, .NET MVC).

Now that we have the introductions out of the way - The founders at work interview goes into detail about various topics that make 37signals revolutionary and unique:
  • Signal Vs. Noise (svn), the impressive company blog.
  • Using their own software - Eating your own dog food.
  • More or less making their own rules with Getting Real - more on that later.
  • Working alone.
I particularly liked when he went into detail about working alone. In the early stages of 37signals, developers were spread across multiple time zones. This was advantageous because they never stepped on each others feet when developing. In certain situations, this is the best way to get things done. If a feature requires a lot of upfront research, it is better to lock one programmer in a room to figure it out, then relay the information back to the team. Other situations require more direct teamwork (like interface design).

Getting Real is a book (more like a collection of essays, blog posts, and articles) that was published in 2006 and is available for free over the Internet. The book is organized in a few logical chapters like Priorities, Feature Selection, and Process to name a few. Each chapter consists of 5 or 6 articles that are loosely related. The articles are short and sweet, and provide a key points and examples relating to how 37signals develops software - basically what works for them.

The book was a breath of fresh air for me. It was a quick read (2 hours max) and I felt motivated to work when I finished. I think the idea of saying no to features and preferences is the most important advice I will take away from the book. Instead of having hundreds of confusing features and giving users a myriad of configuration options, 37signals software is clean and easy to use. The same principal can be applied things we use in our everyday life - like the standard 2 button, scroll wheel mouse. There could be more buttons (adding features), but this would make the mouse less usable.

Some portions of the book are tough to relate. 37signals develop their own products - they are not working in a consultant role. This is hard to wrap my head around because most all of my experience has been in a consultant role. So the practices of ignoring feature requests and endless iterations are hard to implement as a consultant (unless you're quite good).

I would definitely recommend Getting Real to anyone who likes software development - check it out, it won't take long. It's a treat to hear about companies like 37signals. They are doing what they like to do (and they get paid for it) - something that everyone can appreciate.

No comments:

Post a Comment