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!
Top comments (10)
"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.
The Phoenix Project should be a fun one.
Thank you Jess I'll definitely read that one!
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:
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.
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:
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:
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.
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
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