Technical Bibliography

Essential reading for object technology projects:

These first titles are the big three books that I use with most members of a team about to embark on a technical project. This includes senior management, engineering management, working engineers, project managers, product managers, test managers and marketing leaders.

Object Technology: A Manager's Guide (second edition) by Dr. David Taylor
ISBN: 0-201-30994-7
The best overview of object technology that I have found. It is a very quick read with summaries in the margins so it can be skimmed over with ease.

Surviving Object-Oriented Projects : A Manager's Guide by Alistair Cockburn
ISBN: 0-201-49834-0
An outstanding analysis of the issues behind managing a technical project using object technology. Any engineering manager who seriously reads this will learn something valuable.

UML Distilled (third edition) by Martin Fowler with Kendell Scott
ISBN: 0-321-19368-7
An excellent overview of UML, its notation and use. Useful as a starting point and a good reference along the way.

Additional reading, generally more technically specific (design and development) with process ideas sprinkled around:

The "Gang of Four" book -- the seminal work on patterns commonly used in system design:
Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.
ISBN 0-201-63361-2

Things not to do (and their fixes):
Anti-Patterns by William H. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick, III, and Thomas J. Mowbray
ISBN 0-471-19713-0

The reference set for UML by the "Three Amigos" -- the third book is about the Unified Process not UML per se:
The Unified Modeling Language Reference Manual (second edition), ISBN 0-321-24562-8
The Unified Modeling Language User Guide (second edition), ISBN 0-321-26797-4
The Unified Software Development Process, ISBN 0-201-57169-2
by James Rumbaugh, Ivar Jacobson and Grady Booch.

Books on real-time and embedded development:
Real-Time UML (third edition), ISBN 0-321-16076-2
Doing Hard Time, ISBN 0-201-49837-5
by Bruce Powell Douglass

Books on C++ development. If you use C++, you must have these on hand:
Effective C++ (third edition), ISBN 0-321-33487-6
More Effective C++, ISBN 0-201-63371-X
by Scott Meyers

A few other books I have found useful (but just a few, this list is in no way exhaustive):

Books on organizations and organizational behavior when working on development projects:
Process Patterns, ISBN 0-521-64568-9
More Process Patterns, ISBN 0-521-65262-6
by Scott W. Ambler

Probably the best books on the largest abstractions and solution patterns -- how objects fit into the business world in general and common large-scale abstractions used in extensive business systems:
Analysis Patterns -- Reusable Object Models, ISBN 0-201-89542-0
Patterns of Enterprise Application Architecture, ISBN 0-321-12742-0
by Martin Fowler

Making code better -- more maintainable, more flexible, more closely mapped to the problem domain at hand -- without changing its functionality is a task all developers need to do regularly, but few do reflexively. This book is a great way to start thinking about this process:
Refactoring -- Improving the Design of Existing Code by Martin Fowler
ISBN 0-201-48567-2

Contact: webinfo@davidaborgelt.com

Copyright 2003-2008 David A. Borgelt