by Steve McConnell
Steve McConnell's 2nd edition Code Complete just came out this year and has been comprehensively updated and expanded. This book is still a must read for any practicing software professional and covers far more than just development. It doesn't claim to be the first and last word on the subject, but it's definitely a solid "first word" with comprehensive resources and reading lists on where to find the rest.
DaMarco & Lister's PeopleWare
DeMarco and Lister's Peopleware is another well-known classic that was perhaps one of the first well known books to popularize the importance of the people-factor in software development, which Agile methods brought back into the limelight when so many who were focusing on the Software CMM were appearing to omit that important part of the equation (even though the CMM fully acknowledged it, and even devised a People CMM to underscore it). Some of the seminal research on the importance of flow and context-switch interruptions and workspace layout and office design is in this book.
DeMarco and Lister's most recent work together is on the critical subjecct of software risk management, entitled Waltzing with Bears: Managing Risk on Software Projects and was a 2004 Jolt award winner. It, and DeMarco's other recent book Slack: Getting past burnout, busywork, and the myth of total efficiency are likely to become classics in the not-so-distant future.
Software CM Classics
We wish there were more to say here. The "classic" books on Software CM are the ones by Whitgift, Babich, Berlack, and Bersoff. Despite their technology-independent content being "timeless", the books are nonetheless out-of-print or hard to find, or very much "dated" by the amount of references to old or outdated SCM technology.
What should the "new" SCM classics be? Great question! There were a dearth of good books on the subject for awhile, and then sometime around 2000 or 2001, the subject started becoming popular again and several good titles came out. Unfortunately, some of those too were either tool-specific and/or now outdated.
If I had my pick, my first choice would be Susan Dart's Configuration Management: The Missing Link in Web Engineering . I'm aware of Alexis Leon's comprehensive SCM Guidebook (now in it's second edition) but Susan's work is among my favorite in the field and this book really combines together most of her best writings on the topic.
My second pick would probably be Mario Moreira's Software Configuration Management Implementation Roadmap followed closely by Anne Hass' Configuration Management: Principles and Practice
Michael Bay's Software Release Methodology warrants an honorable mention here too.
Robert is allowed to mention Software Configuration Management Patterns: Effective Teamwork, Practical Integration by Steve Berczuk with Brad Appleton! This book would not have been written without encouragement from John Vlissides, one of the authors of Design Patterns , the seminal work on the subject of patterns if not on all of O-O software design, and one of the best selling computer-science books of all time. Unfortunately John died recently after a long bout with cancer -- there is a Wiki page to memorialize John showing some of his contributions and the lasting impressions he created.
SCM Books in 2005
The jury is still out on what will be the "new" classics of SCM though, particularly since 2005 was a banner year for Software CM books, including all of the following:
- the 2nd edition of Brian White's outstanding Software Configuration Management Strategies and Rational ClearCase , updated by David Bellagio and Tom Milligan
- the 2nd edition of Alexis Leon's Software Configuration Management Handbook
- Pulsipher and Buckley's The Art of