{
When I read the article on 37 Signals in Wired, I admit I alternated between shaking my head, laughing, and sighing.
When Hanson commented upon the term arrogance, I laughed:
"Arrogant is usually something you hurl at somebody as an insult," Hansson said. "But when I actually looked it up — having an aggravated sense of one's own importance or abilities' — I thought, sure."
When the article describes him as a "philosopher king" I shook my head. And his response to naysayers, "F--- you" made me sigh; not a convincing piece of rhetoric at all.
Despite all this, despite Atwood's recent swipe at what he calls "douchebaggery," despite the disagreement of Don Norman, there is something there.
It's not that I'm one of the fanboys of the Ruby or Apple world, or that I agree with Hansson's attitude towards windows developers - it's that I think it's a trait of people I call successful to be able to concentrate and get things done without regard for outside opinions. It's less of a "stay the course" mentality than an understanding of self and drawing clear lines with work rather than spending a lot of time second guessing and self doubting.
One area in which I can look at hard data and side with 37signals is in the realm of additional or complex features; I really do question whether they are worth it. I just recently quantified this with an application we wrote for a customer that they are using successfully. I compared the baseline functionality of a particular feature to some exceptional scenarios I had to write code for - it was easy because one can tell the usage by counting records in the database. Anyhow, for the baseline functionality I counted some 6,100 instances of its use. For the exceptional scenarios, I counted 9 entries. Here's the clincher: it took about 3 or 4 times as long to implement support for the exceptional scenarios (and it added a lot of complexity to the code for the baseline feature). So the ability to handle about one tenth of a percent of scenarios, cost and complexity was inflated significantly.
Here's where I disagree with them: it's not my decision, it's the customer's. My goal should be to communicate that trade off as well as I can.