BOOKS: GENERAL INTEREST
Waltzing with Bears
Tom DeMarco and Timothy Lister
(Dorset House, 2003)
“We hope that winning will help us get the buzz going about risk management at all those sleepy software organizations out there.”
—Tom DeMarco and Timothy Lister
If you’re the only person in the known universe working on a software project that has absolutely no risk, you don’t need this book. For the rest of us, Waltzing with Bears explains how to deal with risk and the mindset of risk management, detailing problems that are all too realistic and familiar. Waltzing with Bears will raise your awareness of possible project obstacles and pitfalls, and the need to plan for them up-front. Although developers often view technical obstacles as unexpected interruptions, they’re inherent in the nature of our work and should be anticipated as opportunities to evolve.
Waltzing with Bears will help even novices quantify uncertainty in their projects. Waltzing with Bears should be on the shelves of not only your project and program managers, but every member of your team.
The Art of Unix Programming
GNU, famously, is Not Unix, and Linux isn’t, either (certain stock-inflating courtroom rants notwithstanding). Darwin evolved from FreeBSD. What these legendarily solid, adaptable and long-lived operating systems do share is a design philosophy dating back to 1969. Eric S. Raymond elucidates the implications of those simple yet profound design decisions for today’s programmers in a readable book that tells you a lot about how to program in Unix-like environments—but also explains the why. Yes, Raymond takes a few dutiful swipes at other operating systems, but it’s clear his heart isn’t in casting slings and arrows. Instead, he’s bursting to tell you why Unix programming is so great, exploring the ramifications of cheap process-spawning, the “everything’s-a-file” landscape and the rest of the Unix world. Along the way, Raymond gives plenty of good advice on programming itself—derived from the Unix philosophy, but applicable anywhere.
Lean Software Development: An Agile Toolkit
Lean Software Development cuts to the chase: If it’s not about analysis and coding, and if it doesn’t matter to the client, it’s fat. Procedural fat clogs the arteries of otherwise productive development teams, leaving them panting beneath the excessive weight of obligatory documentation and approvals. Instead of spending their time jumping technical hurdles, developers slog through requirements collection while packing on the pounds. Excess weight translates into projects over budget and schedule while beet-faced staffers feel the burn.
Mary and Tom Poppendieck are master chefs offering a seven-ingredient slimming solution: Eliminate waste, amplify learning, decide as late as possible, deliver as quickly as possible, empower the team, build integrity in and see the whole. Lean Software Development may be the diet developers have been craving: It’s good for you and tastes great, too.
The Pragmatic Starter Kit
After giving us The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley, 1999), those galloping gurus of pragmatism, David Thomas and Andrew Hunt, have pragmatically decided to not only write, but publish a three-volume series of best practices guides, The Pragmatic Starter Kit. The first two volumes are Pragmatic Version Control Using CVS and Pragmatic Unit Testing in Java with JUnit (the third volume will deal with automation). As one Jolt judge said, these lean and focused books get straight to the point, and hopefully represent a coming trend to save the forests required to print 400-plus-page tomes that throw in everything including the history of mankind. What Thomas and Hunt do throw in is an explanation of version control and unit testing, and how to utilize the headlined tools to achieve these best practices.