TL;DR: If you’re new to software development, this book is a real gem. Even if you’ve been programming for a while you’re likely to find some gold dust between the pages.
The book’s core tenants are presented as a series of “trim tabs” – Small lightweight practices and mindsets that are easy to adopt in the short-term but payout handsomely in the long-term.
Apparently the authors obtained these insights working as consultants in the software business. Imagine walking into a struggling software development firm knowing next to nothing about their business rules, domain logic, and you’ve never seen their code base before. What can you possibly accomplish in a few weeks that the developers haven’t been able to accomplish in a few years? That’s where the trim tabs come in.
The concept of trim tabs in this context reminds me of working in tech support. Often a client (or family member) complains of “slowness” on their brand new computer. What do you? Past experience tells you that 99% of the time the slowness is due to a buildup of temp files, an infestation of malware, junkware, etc. So you whip out old standbys like CCleaner and Malwarebytes and their computer is back up to speed again; it just needed a little tune-up.
Many times when productivity plummets on a software development team it’s because they’ve got some bad practices gunking up their process. The “trim tabs” presented in the book are to programming what CCleaner is to tech support. Practices like “Programming by Intention”, “Separating Use from Construction”, and “Defining Tests Upfront” are simple and rather painless to implement but payoff big in the long run.
Many thanks to the authors for sharing their practical insights with the rest of us.