Just finished reading Software Estimation: Demystifying the Black Art by Steve McConnell.
I've found it to be a really interesting read and I have learnt quit a bit from it. In the past I have read a few books on project management and estimation and in general I have found them pretty hard to get through. Often they get bogged down in what the book calls the science of software estimation. That is mathematical methods of estimating and complex estimation models where you vary a bunch of factors. I'm sure they are useful for people who's main job is to estimate or people estimating huge projects, but for the size of the projects I generally work on they are just not appropriate and/or worth the effort.
Instead this book talks about the art of software estimation which is focused on providing easy to use, hands on techniques that are appropriate to different styles of projects. This book is a much better resource for someone such as myself that often has to provide estimates in short time frames.
The book provides advice that ca be used in the real world where you still have to work out an estimate even though you might not have historical data for the sort of project your working on i.e. it provides real world advice not just best practise.
It is also really well organized into small chapters with practical tips highlighted along the way which means if you don't have a lot of time it's easy to read in short sessions, or to just read the portion that applies to what your currently doing.
I'd definitely recommend reading it if you are (or aspire to be) a lead developer or technical project manager. In fact I think I will definately give it a re-read in six months or so again to see what else I can learn from it as well as to see how my estimation skills have improved.