Home  Gregor Work

Professional Bookshelf

Software
Engineering
Software Development OOAD
Patterns
Java
J2EE
Internet Enterprise
Integration

I divided this category into three sections. The best books manage to combine the best from both worlds. I placed these books where I saw the biggest emphasis. Books are loosely ordered top-down, based on the amount of dust that has collected on them (no dust = top of list).

Title Author Scoop
Process    
Rapid Development McConnell Steve McConnell's second major book is another stroke of genius. It is comprehensive, pragmatic and well organized. It contains a rare combination of of personal experiences and hard facts.
Software Project Survival Guide McConnell A follow-on book by Steve McConnell that is loosely based on the CMM. I find it useful, but not as enticing as Rapid Development.
Dynamics of Software Development McCarthy Jim McCarthy's book contains mostly anecdotes and personal experiences. While I agree with most of his points, there is a bit too much storytelling vs. hard data.
eXtreme Programming explained Beck Great book on the best new software development methodology.
The Rational Unified Process Kruchten Few concepts have been more abused than the RUP. If asked for a methodology, most of the system integrator's are embarrassed to point to their aging shelfware, so they say: We use RUP! Unfortunately, very few people have figured out how to implement and manage 8 parallel workflows!
Object Solutions Booch A book from the pre-RUP era. I like the treatment of both macro- and micro-process. I have an autographed copy, huhu.
AntiPatterns Brown et al. Obviously, the book title fell prey to the buzzword bingo, bit still a good book. This book shows 'patterns' of screwed up project management and offers advice on how to 'refactor' ('Move brain to project manager' --G). Still reading...
Mythical Man Month Brooks Contains what must be the most-quoted law in software land: Brooke's Law. Unfortunately, 90% of the people forgot the sentence right above the law: "Oversimplifying outrageously, we state Brooke's Law". as such, I am not sure whether the law is a blessing or a curse. Either way, the book is a must-read classic.
Managing the Software Process Humphrey Enough has been said about the CMM. Most people agree that it contains many useful ideas, but is a bit too focussed on documentation. Anyway, anyone who wants to talk intelligently about the CMM should have read this book.
A Discipline for Software Engineering Humphrey In this book, Humphrey describes the PSP - Personal Software Process. I have to admit, I read it only one third of the way. I just had a hard time seeing our consultants follow a very structured process like this when the project manager constantly yells: is it done yet? I believe that process changes like this have to be introduced on a project-wide basis.
Controlling Software Projects DeMarco I dropped some serious dime on this 'classic'. I have not made it all the way through, but I occasionally used diagrams from the book when management is just being too stupid about estimation. Even the simple probability curve instead of a single number can go a long way to making them speechless.
Decline and Fall of the American Programmer Yourdon We all laugh at this one now -- especially since Ed Yourdon followed up with "Rise and Resurrection". Actually, the book has a good overview of software engineering best practices, regardless of Decline or Resurrection.
Pitfalls of Object-Oriented Development Webster Written before the Java craze, it contains a list of pitfalls. Interesting: Pitfall 5.4: Using C++. Pitfall 5.5: Not Using C++.
People    
Peopleware DeMarco, Lister Great book on the always ignored human factors of software development. Lively stories tell that they have been there!
Quality Software Management Vol 3 Weinberg I love Gerald Weinberg's writing. I must have at least half a dozen of his books (volume discount??). His books apply a great deal of psychology to the world of software management (e.g. Congruent Leadership, MBTI). I can recommend this book to people who like models.
Quality Software Management Vol 4 Weinberg Haven't finished reading this one yet...
Psychology of Computer Programming Weinberg One of the few 'computer books' that are still in print after 25 years! A lot of concepts such as egoless programming are still being celebrated as the latest ideas. Some sections do show some aging, but still a worthwhile read.
Understanding the Professional Programmer Weinberg One of Jerry Weinberg's older books. Still reading...
Journey of the Software Professional Hohmann Still reading...
Creating a Software Engineering Culture Wiegers The principle of integrity and intelligence has been my guiding principle at work for a long time. It earned me respect from clients and team members and sometimes got me yelled at by management who realized that they were wrong but could not admit it.
Managing Software Maniacs Whitaker Older book. I need to look at it again...
Folklore    
Are your lights on? Weinberg I had to special order this witty book. You know you are up to something great when you read the preface: Problem: Nobody reads prefaces. Solution: Call the preface Chapter 1. New Problem Created by Solution: Chapter 1 is boring. Resolution: Throw away Chapter 1 and call Chapter 2 Chapter 1!
The Secrets of Consulting Weinberg A great book that is easy to read, funny and full of smart advice. A must read for any consultant.
Constantine on Peopleware Constantine A collection of articles, mainly from Software Development magazine (at the time called Computer Language Magazine). Great reading for airplanes etc. as each chapter can be read on its own.
Software Runaways Glass This book seems to focus more on telling the story of how projects failed, rather than speculating on why they failed -- and offering some advice. I saw it mostly on manager's bookshelves...