Reviewed November 8th, 2006 @ 11:06PM
Getting Real is a recent release by the guys over at 37signals. I actually stumbled upon this book and read it online from their website. It is a very quick read that conjured up some different thoughts and approaches. I have used different 37signals applications in the past, so I had a history to understand their writing and developing style. This book reflected their business values and goals, so it may cause conflict for some readers who don’t necessarily agree with everything they bring to the table.
I must say, I am not completely sold on all of their methodologies, but I am also in a different market than they are (development wise). A few things I enjoyed from this book:
The problem of scaling. Many people make this out to be a big problem before it is really a big problem. They focus heavily on making sure their server can withstand the biggest Digg, without knowing if they will ever need to worry about that scaling. Some sites are moderate sites and will stay that way. They may be able to get by without load balancing and other tricks to keep their server running. Not that you shouldn’t look at this, but that you shouldn’t focus on it too early in the development cycle.
Taking user feedback. They seemed to contradict themselves a little here. In one breath they said “take what the users give you, and throw it aside and forget about it.“ Basically, you be the judge about what is good for the end user. Later on they say “We already knew what needed to be done next because our customers constantly reminded us by making the same requests over and over again. There was no need for a list or lots of analysis because it was all happening in real time.” The distinction is never made as to what requests are actually used (except through repetition from users). How do you know of a repeated item if you are throwing their initial requests away? I understand the concept — I just felt it wasn’t articulated as well as it could have been.
Don’t specialize. This idea takes different routes from different developers. I am in agreement with them. Too many people try to separate every little piece which adds to unnecessary confusion. They are aware that specialization has its place, but it takes away from your developers really taking hold of the application. Instead of seeing the whole picture, they are seeing only specific parts of the puzzle.
Getting in the Zone. This is simple, and for anyone who has programmed they understand this completely. It is that uninterrupted time where you can complete tasks.
Passionate People. I think it would be hard for an application to succeed if the people behind building it didn’t really believe in it. For 37signals, much of their development and applications came from their own needs. Having passionate people on board will ultimately enhance the production as well.
These are just a few items, but they are best read in context with the rest of the book. The main struggle I had was working in a corporate environment, some of their things are easier said than done. When you are building a web app for yourself all of their items make sense. However, when placed in a corporate environment the picture seems to shift a little bit. Not that this is a bad thing, or that the team at 37signals is wrong — I just think there is a big gap between the two (although I wish there wasn’t).
Overall, I enjoyed the read and was encouraged and refreshed by much of what they had to say.