The Rational Unified Process is a book by Philippe Kruchten which lets you figure out how to build good software.
This first came on my radar a long time ago in university, but it was also referred to in Simon Brown's talk on The Lost Art of Software Design.