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

twitter logo github logo ・1 min read

What would you think every project manager in the software industry should know about? Should managers really know at a very low level what a developer does? Probably not. But where should the line be drawn?

I've been thinking about this for a while now.

What other books, papers or concepts do you recommend as a must?

My must reads

  • The mythical man month
  • No Silver Bullet

I'm sure there's a lot of room for improvement in this small list. Please don't be shy and help me to expand the list!

twitter logo DISCUSS (10)
markdown guide
 

"Peopleware" by Tom DeMarco and "Facts and Fallacies of Software Engineering" by Robert Glass.

 

Kent Beck's eXtreme Programming Explained is a good primer on XP and on Agile in general.

 

Code Complete is a timeless look at the craft. Clean Code is also worth reading if you skim over anything overly complicated. Both might naturally go over your head in many ways but are filled with wisdom all should know.

 
 

Mastermind: How to Think Like Sherlock Holmes

A book that will really help in the development of the thinking process.

 

Before reading any book, just try to spend some time with developers.. sit next to them and see them in their natural habitat.. ask them what is all about.. what are the things that motivate them, what are the daily struggles that they need to overcome, how do they estimate effort, where are the limitations in the technology they use, even try to read some code!! you will find your line right there..

You could get a deeper insight really fast, and you will be able to communicate better with developers. And I think this is really important, especially when things go wrong and you don't have time to waste in translation.

My two cents..

 

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.

 

Even with experienced IT PMs, I've found hard to explain them the software quality concepts so, please, please make him/her read:
The Economics of Software Quality by John Capers
A deep reading of the classic "Agile Testing and Quality Strategies: Discipline Over Rhetoric" ambysoft.com/essays/agileTesting.html

 

The Dilbert Principle by Scott Adams (if they don't get the jokes and don't understand Dilbert then maybe they shouldn't be managing a software team).

Squawk!: How to Stop Making Noise and Start Getting Results by Travis Bradberry (How not to be a "seagull manager")

Software Project Survival Guide by Steve McConnell

Rapid Development: Taming Wild Software Schedules by Steve McConnell

Waltzing with Bears: Managing Risk on Software Projects by Tom DeMarco and Tim Lister

Dynamics of Software Development by Jim McCarthy

Classic DEV Post from Apr 1

How I Write Online Articles

How you can write online articles

Julio Guzman profile image

Customize your DEV feed to keep up with the technologies you care about.

Get Started