One of the most important books ever written on software engineering practice. Author Frederick Brooks won the Turing Award for this book and for his work on IBM's System/360 (the main example project used in the book).
Everything I needed to know about taking on software projects. "Prepare to throw one away".
The insights from reading this book years ago certainly helped me navigate project management as a rescue guy. By the time I was hired, the failing project was already part way through the experience that Brooks' book is based on, and he was writing the OS!!!
He writes about the origin of the svc (supervisor call) in OS360. They needed a way to keep track of them as they were popping up from all over, so they made a list, and you added yours to it, then other groups could check the list before they wrote another version of the same function.
If you read that and like it, try The Design of Design by Fred Brooks, in which he talks about on a high level how the design process works; good teachings about the flaws of the waterfall model.
"It is the one thing every software manager needs to read... not just once, but once a year." (Joel Spolsky)