Friday, December 31, 2004

Joel on Software Book Review

I just finished Joel On Software. A book devoted to software management, software development, and best practices. It's great book. I especially like the section devoted to writing a functional specification. Most of the practices that Joel suggest are easily implemented and with consistent use can improve the quality of software development, and your working experience. I do have a bone to pick with Joel. He consistently mentions Netscape as an example of what not to do in development in deciding to chuck Netscape 4.0 and re code from scratch. He then holds this up as why they lost the browser war.

Sorry Joel but that was hardly the reason why. Microsoft's predatory business practices were the reason, the decision to code from scratch acknowledged that fact. If you take a look at the market share Netscape had at that point, it wasn't 90% of the market, but rather closer to 25%. Here's an article from 1998 showing their market share had dropped to 54%, clearly the MS bundling strategy had worked. Another study has their market share at below 20% at January 1998, when they announced their open source strategy.

By 2000 the point had already tipped. The real question is what caused the tipping point, IE's superior technology? Or the very clear threats they made to hardware manufacturers that their OS licenses would be pulled if Netscape was bundled. As developer at Microsoft, Joel only saw the great things about Microsoft, namely their development practices, devotion to excellence in software and technical progress. He clearly never sat in a meeting where MS has welded their current monopoly on OS as a huge stick to force people into line. These meetings happened at every single hardware manufacturer that was bundling Netscape. Lo and behold they stopped shipping Netscape.

Let's remember that Microsoft was found guilty of anti-trust violations for this very behavior. The simple fact of the matter is that MS choked off 'Netscape's air supply' and their own incompetent practices finished them off. After removing the competition,MS stopped development on the browser, disbanded the team and as a result we have seen little to no improvement in IE since 5.0. Granted Joel does touch on this in the book, namely Microsft's reluctance to improve the browser as it commoditizes the OS. I have known several developers who have retired from Microsoft and they all love the place. As a developer I am sure Microsoft is a fantastic place to work. I only worry about some of their practices in business development.

This little bone of contention aside, I found the book useful, a great resource and I highly recommend it. The Joel Test is a useful guide for rating your current development practices. And to be frank his section on how to write a functional specification is one of the most useful I have ever read. I have found it especially helpful as I myself writing two specifications right now.

I highly suggest his blog
Joel On Software

You can buy his book Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity.