Classic books for testers
Updated: Dec 3, 2018
With technology changing so quickly, we all need to keep up to be able to test effectively. Podcasts, blogs, and twitter feeds and coding are great ways to keep up.
Books too! Here are some of the books that have helped me shape my perspective on software advances.
These books help put software development in perspective.
Thinking fast and thinking slow by Daniel Kahneman, the only psychologist to win the Nobel prize for economics. This is a must read to understand how we humans analyse risks and make decisions. I am amazed how many times the ideas first mentioned in this book now permeate business and tech.
Principles of Product Development Flow by Donald G. Reinertsen - Classic. This book provides the "math" that underlies the reason for agile software development. Its all to do with queuing theory. Very readable, practical.
Fred Brooks's The Mythical Man-Month has stood the test of time. Brook's analysis of what made software so difficult and slow to develop apply just as much to today's systems. Its a fast read. Still releveant. This book sets the stage for conversations today about how to run software projects.
The Economics of Software Quality by Capers Jones - Capers is the guy who provides the industry data to justify tradeoffs about software quality. Capers synthesizes reams of data on software projects. This is especially valuable for helping large organisations come to agreement on where to invest in quality.
But what do I actually do to improve software quality? Here are some practical texts:
I am a fan of Gojko Adzik's work because he addresses in practical terms one of the biggest areas of poor quality in the software - miscommunication between the business and the developers. These 2 books are essential reading by both sides of the divide:
Specification by example by Gojko Adzic
Leading Lean Software Development: Results Are not the Point by the Poppendieks. These 2 folks have helped innumerable companies improve their software development workflows and improve quality. Their overview of software development is refreshing and contains many ideas to help you work with your fellow developers and testers.
Lessons Learned in Software Testing by James Bach and Cem Kaner - I can't speak highly enough of James Bach's influence on software testers where I have worked, and worldwide. His approach to testing is practical and empowering. And it works.
Of course, developers test too. Here are 2 good references