Home

Managing software development


Peopleware
Hiring
Projects
More articles
How do the most successful software-development managers find good programmers? What does it take to manage a successful software project? Although I have a very small amount of experience managing programmers, most of the information on this page is from people with extensive experience in both management and programming. My own comments will be primarily from the point of view of a programmer.

Peopleware

A superb, easy-to-read book by Tom DeMarco and Timothy Lister on the human side of software development. By far my favorite programming management book. If you're having troubles in a software-development project, you'll almost definitely find insightful guidance in this book.
The major problems of our work are not so much technological as sociological in nature.

Hiring

Fred Brooks

The Mythical Man-Month
Don't wait until you're halfway through a project!

... when schedule slippage is recognized, the natural (and traditional) response is to add manpower. Like dousing a fire with gasoline, this makes matters worse, much worse.
Adding manpower to a late software project makes it later.
NEW
Bruce Webster
The Wetware Crisis
Talent, Education, Professionalism, Experience, and Skill.
Joel Spolsky Finding Great Developers
Track down the best ones, or get them before they're taken.
Lidor Wyssocky Hiring Great Developers?
Grow your own programmers. Work with your current staff.
Paul Graham Hiring is Obsolete
Just buy yourself a startup.

The Python Paradox
if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it.
Nick Corcodilos IT talent shortage, or management failure?
How do you do your hiring?
Gladwell The New-Boy Network

Managing projects

Plan all your hiring first! See the first entry in the Hiring section above.
Neil Rickert The Parable of the Two Programmers

How would you react if you told your programmer to develop a big, complex application, and he only wrote a few hundred lines of code?

If we wish to count lines of code, we should not regard them as lines produced but as lines spent.
(Edsger Dijkstra)
Joel Spolsky

Have you hired the best consultants in the industry?

What do programmers want?

"When you manage programmers, specifically, task switches take a really, really, really long time."

The Development Abstraction Layer

The support staff knows what to do but they take their cues from a salty old fart who nods ever so slightly in certain directions to coordinate the whole symphony...

Mike-O-Matic 6 Signs of Good Software Project Managers
Zed Shaw x=Control, y=Responsibility:
A Simple Principle For Managing Smarties

x needs to be correlated with y.

Angry Aussie When Project Management Works
It's all about how you react when things go wrong.
Do you have your software project under control?
Steve Yegge Are you pampering your developers as much as Google is?
Although, on the other hand, should you be? Google employs some of the smartest, most motivated programmers in the industry. Is this model applicable to the average programmer? I think some of it is, but maybe not all. You don't necessarily need to pamper your tech staff; it's more important to understand them.
(Not) Managing Software Developers
I know plenty of good managers, even great ones, and none of them are managing.
Michael Jackson

Brilliance
from Software Specifications and Requirements, as quoted in Every open system develops towards the unusable, by Michael Kölling

..."We all think Fred's brilliant." The manager faced a huge flowchart stuck to the wall ... two hundred symbols, hundreds of connecting lines ... "Fred did that.... Fred tells me that he's not sure he understands it himself."

I got the picture clearly. Fred as Frankenstein, Fred the brilliant creator of the uncontrollable monster flowchart. "But what about Jane? I thought Jane was very good."

"She hasn't really proved herself yet. We've given her a few problems that we thought were going to be really tough, but when she finished it turned out they weren't really difficult at all."

Jane was probably the company's best developer. She probably could have consolidated the duplication in Fred's flow chart so that it would be simpler and easier to debug, everyone would understand it, and it could be implemented more reliably and efficiently.
© 2006–2008 Daniel S. Bensen   Home   About   Site map