Reading

Home  Services  Events  Reading  Links  Search 

Books

Reading the many good books written about software development can be a way to learn how to repeat other people's successes and avoid their failures. I often find that the most effective software professionals are curious about the world beyond their project and buy work-related books frequently. Here are some of the books on my shelves...

Classics

The Mythical Man Month should be read by anyone who believes that adding more people to a late-running project always reduces the overrun.
Peopleware explains why people matter more than process and tools, and how to grow a team that gets the best from each individual.
Becoming a Technical Leader discusses the philosophical and practical aspects of leadership and managing and working with people.
Software Craftsmanship discusses the current state of the software industry and suggests that the answer is to stop thinking of programming as an industrial activity.
Code Complete gives a thorough overview of common issues in software development (now updated in a second edition). Among many things I learnt from this book is that you don't write code for the compiler to read, you write code for other people to read.
Retrospectives outlines the the ways in which lessons learnt by individual projects and teams can be systematically applied within an organisation.

Agile Software Development

Agile Software Development Ecosystems introduces agility and describes several agile processes, reviewing their strengths, weaknesses and proponents.
Lean Software Development describes the benefits of agility from a business value perspective.
Agile Project Management with Scrum describes the Scrum process and its management techniques.
Crystal Clear describes philosophy and practice of this 'human powered' Crystal process.
Extreme Programming Explained this almost complete rewrite of the original 'white book' shows how XP is applicable more widely than to just programmers. It is a must read for anyone trying to understand how XP can succeed where 'high ceremony, low discipline' approaches can fail.
The Pragmatic Programmer lists practical ways for software developers to act in an agile way within an environment constrained by more heavyweight processes.
User Stories Applied details what user stories are, and how to create them, plan with them and track progress against them.
Kent Beck's and Dave Astels' books are excellent introductions to the art and practice of Test Driven Development.
Refactoring describes the whys and hows of improving the design of existing code through small steps. The book was based on experience of working with Smalltalk tools, but its impact has been such that many code editors for different languages now support refactoring.
Working Effectively With Legacy Code details approaches and tactics to allow the testing of tightly coupled 'legacy' code.

Software Design

Domain Driven Design and Analysis Patterns introduce domain-level modelling through real-world examples, walking the reader through the process of creating working models and sharing the results with others.
UML Distilled is a UML book that tells it like it is: which of the UML models are applicable, when, and why. As the title suggests, this is a distillation of many years experience, practically presented.

Other Books

The Blind Men and the Elephant discusses the nature of project work and how to make it meaningful for both teams and individuals.
Fearless Change lists and explains patterns for introducing and supporting new ideas in an organisation.
Systems Thinking describes the nature of problems and their solutions, and examines how viewpoints and experiences can lead to wildly different ways of thinking.
The Rise of the Player Manager outlines ways through the pitfalls of trying to combine leadership and task execution. An insightful and engaging book.
Why Does Software Cost So Much is a collection of articles written by Tom deMarco on many issues related to software and software development. Some are showing their age, but most contain valuable insights that are still relevant today.
Leadership gathers together the most requested articles on leadership from the Harvard Business Review. If you want to know the difference between leadership and management, read this book.
Beyond Chaos reprints 45 articles originally published in Software Development magazine that cover many traditional and non-traditional aspects of project management, including practical ideas for handling people, pressure and failure.

If you can read this then your browser does not support standard Cascading Stylesheets. You should consider upgrading to the latest version of the Mozilla or Opera web browsers so that this site and others display as they were intended.

Download the Mozilla browser Download the Opera browser