books on writing quality software

published: Thu, 19-Jun-2003   |   updated: Sun, 8-Feb-2004

This list is a selection of books on best practices in software development that have taught me a lot over the years.


Essentially books about the design process. Some cover project management as well.

  • Design Patterns by Erich Gamma et al (Addison Wesley)
  • Design by Contract, by Example by Richard Mitchell and Jim McKim (Addison Wesley)
  • GUI Bloopers by Jeff Johnson (Morgan Kaufman)
  • Object-Oriented Analysis and Design with Applications by Grady Booch (Addison Wesley)
  • Object-Oriented Software Construction by Bertrand Meyer (Prentice Hall)
  • UML Distilled: Applying the Standard Object Modeling Language by Martin Fowler (Addison Wesley)

project management

Books about the managing of a project, some of them straying into the realm of software development.

  • Agile Software Development by Alistair Cockburn (Addison Wesley)
  • Extreme Programming Explained by Kent Beck (Addison Wesley)
  • Rapid Development: Taming Wild Software Schedules By Steve McConnell
  • Software Project Survival Guide by Steve McConnell (Microsoft)
  • Under Pressure and On Time by Ed Sullivan (Microsoft)

software development

Books about developing software, testing, debugging (both proactive and reactive).

  • Code Complete by Steve McConnell (Microsoft)
  • Debugging Applications by John Robbins (Microsoft)
  • Refactoring: Improving the Design of Existing Code by Martin Fowler (Addison Wesley)
  • Writing Solid Code by Steve Maguire (Microsoft)

web sites

Sites that are interesting and updated on a regular basis.