I also would recommend this book to all programmers. It's a very understandable blend of guidelines plus the math and research that led to the formulation of those guidelines. It has greatly helped me in my current project, which was one of the biggest projects I've ever undertaken.
I often get asked for quick estimates of projects. My self-taught estimation technique had evolved like this over the years:
1. give a quick guess (usually turned out 3x too short)
2. make a quick guess, then triple that (usually closer, but still too short)
3. give a wildly pessimistic guess (never short, but not what my boss wants to hear)
Since reading the book, I feel my boss & I are both happier with the estimates/schedule that we figure out together.
In addition to presenting an easy-to-grasp summary of research into various individual factors that influence an estimate/schedule (like tilly's examples), the book leaves gives a lot of practical ideas for making better estimates.