Patrick Useldinger said:
Hi All,
I am going to stay in hospital for a week or so (nothing serious), and am
trying to find a book or two to read there. As I have not come across
anything spectacular recently (except Python in a Nutshell), I would like
to know what *you* consider to be the best book you have read in the last
few years, about Python or IT in general.
I'd suggest "Lean Software Development: An Agile Toolkit" by
Mary and Tom Poppendieck. It applies the concepts of Lean
Manufacturing to software development. It's mercifully silent on
specific Agile methodologies, but covers all of the theoretical
underpinnings that will let you understand why they work, and why
conventional software development methodologies have problems.
Chapter 1 enumerates the seven categories of waste, and introduces
you to value stream mapping as a tool.
Chapter 2 covers quality, learning, feedback, iterations, synchronization
and set-based development (actually set-based decision making).
Chapter 3 states why one should defer decisions as late as possible,
and covers concurrent development, options thinking, the last responsible
moment and making decisions
Chapter 4 covers rapid delivery, including pull systems, queueing theory
and the cost of delay.
Chapter 5 covers team empowerment, including a scathing critique of
Taylorism, the CMM and CMMi, team self-determination, motivation,
leadership and expertise.
Chapter 6 covers integrity, including perceived integrity (the customer's
view), conceptual integrity (the developer's view), refactoring and testing.
Chapter 7 covers seeing the whole, measurements, the problems with
attempting to optimize individual pieces of a process (suboptimization)
and contracts.
While I consider myself as somewhat of an XP fan, this has shaken
up what I thought I knew and given me a whole different perspective
on what works, what doesn't and most importantly, why.
John Roth