Hello! My name is Brad Appleton, and I'm a book-a-holic! Hear my serenity prayer:
Lord, please grant me ... the serenity to accept that I can't read everything, the time to read and understand everything that I can, the wisdom to know the difference [so I won't have to leave my estate to Amazon.com] , and a sufficiently well-read network of friends [to tell me all about the books they've read] .
We thought 2005 was a pretty gosh darn great year for Agile and Software CM alike. We wanted to share what we feel are some of the timeless classics that we have most looked to throughout the year, as well as the new books in the last year that we have been most impressed with.
Let's start off with "the classics"!
We're not pretending these are the "only" classics, or even the "best" of the classics. These are just the ones from our personal list that we have found ourselves referring to most during 2005. A few of them might be surprising. In a later section we'll tackle some books that aren't really classics just yet, but we hope they will be someday soon.
Parnas' papers are most definitely fundamental classics in the field software development for software architecture, software requirements, and software process. He is considered the "father" of encapsulation and the principle of information hiding. His papers on program families and designing software for ease of extension and contraction apply every bit as much to configuration management as they do to software design.
I'm proud to have played a part in the creation of this book. I had the initial idea for it, mostly because I wanted it to exist and when I found out it didn't, I felt very strongly that it ought to. When asked if I wanted to be the one to collect the papers together into a book, I said (in my best Wayne and Garth voice) "I'm not worthy", but I knew David Weiss (through Jim Coplien) and was able to get him interested enough in the project to turn it into reality!
Gerald Weinberg has authored and co-authored so many classic books , it's extremely difficult to choose just one or two. Steve likes these two because they are so timelessly helpful in problem-solving, and in working with others to lead problem-solving efforts.
Are Your Lights On?: How to Figure Out What the Problem Really Is is a bit of an easy-to-read "primer" on General Systems Thinking . One problem people encounter when they use SCM tools and techniques is that they do "too much," and their system ends up hindering rather than helping them. This book is not about SCM but rather how to figure out what is really wrong in a system. It is an entertaining read that teaches an important and often undervalued skill. This books is about figuring out what the problem really is before going off and "solving" it. A must for agile teams.
Becoming a Technical Leader: An Organic Problem-Solving Approach is a must-read not just for all would-be technical leaders, but for anyone trying to champion change in their workplace processes (be it CM-related or Agile-related). It's a great book at helping us understand ourselves and how we can help others understand and express their voice so that we can all put our heads together, collaboratively. What else is there to say - the title says it all!