DEV Community

Discussion on: What books would you recommend to a project manager that has no software development background?

Collapse
 
bosepchuk profile image
Blaine Osepchuk • Edited

I'd recommend a new project manager learn the general principles and then move to the more specific issues of software project management.

Software Project Survival Guide (Steve McConnell)

The biggest risk a manager faces in running a software development project is that it doesn't get finished at all. A betting man would definitely bet against the first-time manager of a software development project. This book was specifically written for non-programmer project managers to help them "survive" their first project. All the information is written at the right level for a new manager. My only quibble is that this book is now 21 years old and some of the software development methodologies are out of date. But the philosophy, advice, and checklists are still extremely valuable.

Facts and Fallacies of Software Engineering (Robert Glass).

So many managers don't know these facts and blow up their projects needlessly. Software engineering is counter-intuitive but the information is out there. Just read this book and follow its advice:

  • The most important factor in software work is the quality of the programmers.
  • The best programmers are up to 28 times better than the worst programmers.
  • Adding people to a late project makes it later.
  • And over 50 more counter-intuitive truths about software development. Ignore these at your own peril.

Code Simplicity: The Fundamentals of Software (Max Kanat-Alexander)

While Facts and Fallacies of Software Engineering approaches software engineering from a high level, this book is about the code itself. This short book cuts through the hype and lays out the truth about code. It's definitely not everything you need to know about software development but you can't be successful if you don't know everything in this book. While I love Code Complete, no manager should be given a 1,000 page book on software engineering and be expected to read it. Code Simplicity is a much better option at 65 pages--its length is a feature, not a bug.

The Lean Start-up (Eric Ries)
There is an incredible amount of waste in product development. People have been known to spend years building their perfect product without showing it to a single customer. Then they launch it and find out nobody wants to buy it or they only care about 10% of the features or they targeted the wrong market, etc.. This book teaches you how to avoid all these traps and develop a product that people actually want and will be willing to pay money to use.

  • Nobody knows which ideas/products/features are good/successful and which are bad/failures ahead of time.
  • So, instead of guessing, you need to "buy" validated learning
  • You buy validated learning by running experiments to find your product/market fit by developing an minimum viable product (MVP) and getting feedback from your customers as soon as possible
  • Build, measure, and learn your way to a successful product/project.

The Principles of Product Development Flow: Second Generation Lean Product Development (Donald Reinertsen)

This book and the Lean Startup go together. While the Lean Startup is sort of big picture, this book gets into the nuts and bolts of actually optimizing your product development efforts. It helps you answer questions like:

  • whether you should fix the remaining bugs or launch now?
  • if you delay the launch for another month to add feature x, how much money must feature x add to our bottom line to make it worth the delay?

This book is the most challenging of all my recommendations. But it shows that the fundamental assumptions behind the dominant software development methodologies are wrong. What works in manufacturing does not work in product development. You need a different way to think about product development where you:

  • optimize economic decisions (instead of proxy variables)
  • reduce cycle time
  • reduce work in progress (WIP)
  • accelerate feedback
  • optimize the use of your resources to make the best decisions you can with the information you have.

Spend time with programmers
Finally, while it's not a book, I agree with Pablo's advice to encourage a new manager to spend time with the team. Software developers are a different breed and only good things will come from understanding them and their work before you attempt to manage and direct them.