I first read this book about ten years ago, but for most of the intervening time I've worked at companies where, in essence, the ends justified the means. In my current position, I think there is at least an attempt to do the right thing, so I thought it was time for a refresher.
In fact, although many of the principles remain intact, this book now seems rather dated; in various places it makes reference to "design-by-committee"-style practices, and whilst there's a nod toward ever diminishing timescales, there is no mention of anything that could be described as agile development. So in many ways it's been a sobering re-read, wondering how anything would ever get done if we worked this way. Still, I would say probably at least half of the content remains relevant today.