In 2002, Mitch Kapor founded a new company to build a personal information management software product called Chandler. Rosenberg’s book uses Kapor’s company as an entryway into the big questions about software: why does it take so long? why is it so hard to make it good?
The book is one part history of software engineering and one part case study with a sprinkling of speculation about what the future holds. The case study turns out to be an excellent example because Chandler’s genesis falls somewhere on the less-auspicious end of typical. By the end of the book (published in 2007), Kapor’s team still hadn’t shipped a usable product, but they were still plugging away. At the beginning of October, a month after I finished reading the book, the team announced a “Preview” release that still isn’t a 1.0.
Rosenberg does a nice job on the history, talking about all aspects of development from architecture to UI design to people management. What comes out is that the advancements in the software art just don’t progress at the rate we might wish. While improvements in computer hardware design have allowed finished software to run ever more quickly, the creation of the software itself is still a laborious manual process. And there’s nothing on the horizon that looks likely to change that fact.