Books
Here are some of the books PatchSpace uses and recommends. The list is by no means exhaustive, but is a starting point for exploring the ideas we take inspiration from.
Business / Systems Thinking
The Goal - on Amazon UK • on Goodreads
The Process of On-going Improvement described in this underpins everything PatchSpace does
It's Not Luck - on Amazon UK • on Goodreads
Strategies for dealing with marketing and sales contstraints; also introduces the TOC Thinking Processes
Certain to Win - on Amazon UK • on Goodreads
The military strategy of John Boyd applied to business; explains how to use rapid feedback in a competitive environment
Out of the Crisis - on Amazon UK • on Goodreads
A call to action to rescue western industry, by one of the major influencers of Japanese industry. Deming demands better leadership, and constant efforts to improve quality.
Maverick! - on Amazon UK • on Goodreads
The extraordinary story of what happens when you ask "Why?" about every corporate policy you have
The Logical Thinking Process - on Amazon UK • on Goodreads
Dettmer's guide on how to use the thinking process tools from Theory of Constraints. PatchSpace applies these tools to solve our own business problems and help our clients too.
Lean / Project Management
The Mythical Man-Month - on Amazon UK • on Goodreads
Classic text on the management of complex software projects
Waltzing With Bears - on Amazon UK • on Goodreads
Origin of the term "risk management is project management for grownups". Good reading if you've ever been in an environment where uncertainty was unacceptable.
Kanban - on Amazon UK • on Goodreads
Practical guide to the history and application of Lean Product Development in software. Explains the Kanban Method, which is both the development process and a framework for introducing continuous improvement.
Manage Your Project Portfolio - on Amazon UK • on Goodreads
Lean management in a multi-project environment
Managing the Design Factory - on Amazon UK • on Goodreads
Theoretical but very practical tools for managing any design process
The Principles of Product Development Flow - on Amazon UK • on Goodreads
The state of the art in Lean Product Development. This is a highly abstract piece, as each principle can be applied in many contexts. But equally, it's of immense practical importance. This is one of the main works PatchSpace uses to validate our Lean-Agile process.
Agile / Software
Extreme Programming Explained - on Amazon UK • on Goodreads
A classic on Agile Software Development. Time only seems to validate the ideas in this.
The Art of Agile Development - on Amazon UK • on Goodreads
A very detailed look at how to implement Extreme Programming
User Stories Applied - on Amazon UK • on Goodreads
Description of the User Stories approach to gathering requirements in an Agile process
Test Driven Development by Example - on Amazon UK • on Goodreads
Clear introduction to TDD, focusing on the very fine mechanics. No real coverage of mocks, however.
Refactoring - on Amazon UK • on Goodreads
The mechanics of refactoring, presented as a catalogue. Also available in a Ruby edition.
Working Effectively with Legacy Code - on Amazon UK • on Goodreads
The Feathers definition of "Legacy Code" is "code without tests". The book is a set of strategies for safely getting legacy code under test before being able to refactor it fully. Many of the ideas are broadly applicable, although some are only relevant in languages that do static type checks.
Growing Object-Oriented Software, Guided by Tests - on Amazon UK • on Goodreads
Brilliant guide on how to design object-oriented systems with TDD and mock objects. Also sneaks in a refactoring of a system to the hexagonal/ports-and-adapters architecture.
Smalltalk Best Practice Patterns - on Amazon UK • on Goodreads
A catalogue of low-level design design decisions you face in everyday coding. In typical Kent Beck style, this breaks the subject down into its finest-grained principles. This would serve as an excellent basis for any set of coding standards (in any language).
Domain-Driven Design - on Amazon UK • on Goodreads
A process for modelling software that captures the business domain as directly as possible in the code. Worth reading just for Ubiquitous Language.
Agile Software Development: Principles, Patterns, and Practices - on Amazon UK • on Goodreads
While it now feels dated in some ways (the use of Java and C++ biases the patterns), it is an excellent guide to OOP design principles.
General
The Timeless Way of Building - on Amazon UK • on Goodreads
The origin of pattern languages. Profound implications for the way we design everything, not just architecture and code.