Frederick Brooks / Ruby on Rails smackdown

Over at the 37Signals blog, there’s a post praising Frederick Brooks’ absolutely timeless Mythical Man-Month book (Wikipedia entry here), following up on a prior post espousing a “three people for version 1” philosophy, described as follows:

If you can’t build your version 1 with three people, then 1. you need different people, or 2. you need to slim down your version 1. Now, before I get yelled at, this doesn’t apply to every project, but I do believe it applies to the majority. And sure, if you are building a weapons system, a nuclear control plant, a banking system for millions of customers, or some other life/finance-critical system, then you may need a fourth.

But keep it in mind: three for version 1. Remember, it’s better to make version 1 half a product than a half-assed product. Three people will keep you closer to half a product and a cleaner, tighter, simpler base on which you can grow later.

The mysteries of the art of software development have always intrigued me, and I wrote about Frederick Brook’s amazing “No Silver Bullet” essay a couple of times in my blog and weekly column when I was at InfoWorld (man, that column about web services seems DATED now!) It’s one of those essays that’s worth re-reading every couple of years.

One of the comments to the post at 37Signals makes reference to the “No Silver Bullet” essay and puts it into the context of the Ruby on Rails phenomenon:

His essay called “No Silver Bullet” predicted that there would be no single significant development in programming that would increase productivity by an order of magnitude (whatever that means).

I’d be interested to hear JF/DHH’s opinion on that re: Ruby on Rails. Does RoR constitute an advancement of this type? Or, does RoR incorporate multiple technologies which collectively increase productivity (thus validating Brooks’ assertion).

Interesting question — I’ll stay tuned with my newsreader to see the response (and this isn’t really a Frederick Brooks / Ruby on Rails “smackdown,” I just liked the way that sounded as a title to this post!)

Incidentally, my friend and former colleague Scott Rosenberg is currently deep in the process of writing a book that touches on some of the issues he wrote about in one of his Salon columns — can’t wait to read it.

2 thoughts on “Frederick Brooks / Ruby on Rails smackdown

  1. I think Brooks’ idea was that there was no single tool that would improve general programming productivity by an order of magnitude (~10x).

    But in a specialized area, you can certainly improve productivity 10x or more by replacing stupidly inappropriate key development tools with a more appropriate one. Say, for a specific web development project replace Fortran and winsock with Ruby and Rails, if those latter tools are much better for the particular project.

    But this is still very dependent on your special situation — it is not a *general* improvement, it is a special-case improvement.

Comments are closed.