Ostensibly, Dreaming in Code tells the story of the project to develop the open source personal information manager Chandler. In truth, the book illustrates the common pitfalls of all software development. The book has narrative sections describing the development of Chandler interspersed with sections describing the authors personal experience with software development and sections on software development in general. One of the first of these general sections refers to the work of Frederick Brooks in The Mythical Man-Month, as do many subsequent sections. The author, Scott Rosenberg, also expresses his surprise (and dismay) at the state of software development (p. 239): "As I followed Chandler's fitful progress and watched the project's machinery sputter and cough, I kept circling back to the reactions I'd had to my own experiences with software time: It can't always be like this. Somebody must have figured this stuff out. Somewhere there is a map with a path out of the software-time tar pit." I'm sure I won't be giving away too much in saying he didn't find the "silver bullet"; he does describe many different approaches to software development with varying levels of success, including anecdotes about 37 Signals, Google, XP, Joel Spolsky, CMM, and PSP.
As a developer, the situations described in the book seemed quite familiar to me: bugs that no-one knows how long it will take to fix (p. 14, "Bugs that have a black hole-like quality—bugs that you wouldn't even begin to say for sure how long they would take to fix—would be tagged in Bugzilla with a special warning label."), endless design, and endless missed deadlines (p. 237 "From the earliest days of Chandler, Kapor had been adamant about trying to draw up plans and schedules that were honest and realistic, and yet when it came to meeting schedules, the project had a poor record. It was reliably averaging one release every six months, yet its plans continued to assume releases could be finished in three or four. ")
Interestingly, development on Chandler appears to still be active and ongoing, so you can download it and try it out for yourself.
I really enjoyed this book and recommend it as a (slight) diversion from the technical books you might be reading. It would also be a good book for your managers and sponsors to read to help them understand that the problems arising on your projects are more common than they might think.
0 comments: (+add yours?)
Post a Comment