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.
design
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.
- Joel on Software
- Ward Cunningham's wiki on Extreme Programming