Saturday, June 21, 2008

Dreaming in Code

Anyone involved in the development of software should read Scott Rosenberg's "Dreaming in Code". It follows a team of programmers as they develop a new personal information manager (PIM) in an open source environment. The team is led by Mitch Kapor, the guy who founded Lotus Development. He used his Lotus money to start the Open Source Applications Foundation (OSAF) and Chandler, the new PIM, was the first project.

I have been around software development for 30 years. Most of that time has been in a small business with an IT staff of fewer than ten programmers. Prior to that, I worked as a program manager for a defense contractor with more than 100 programmers. This book can be depressing. If this team of talented developers - with experience at Apple, Microsoft, Next and Lotus - that are well-funded and without the pressures of a commercial schedule, can't succeed in creating a new application, what hope do us normal folks have?

The book is well written and provides a good history lesson as it reviews the background of the various players. The author has researched the literature on software development and refers repeatedly to "The Mythical Man-Month" by Frederick Brooks. This book should be on every software manager's shelf right beside of Brooks' book.

Like Donald Knuth said, "Software is hard". This book doesn't offer any silver bullets that will make it easier, but it provides insight into the challenges that every programming team faces. Before you take a job as a software development manager read "Dreaming in Code", at least you'll know what you're getting into.

No comments: