Tuesday, December 19, 2006

Advice for Software Development Managers

Q: What’s the most important piece of management-related advice anyone has ever given you?

GW: If you blame your employees, you're a bad manager. You hired them, accepted them, supervised them, and directed their training. You’re responsible. If you don't like what's happening, look to your own behavior. But, if there's credit to be given, it's theirs.

Q: What about when a manager has been hired into a group where some or all employees were already hired by someone else?

GW: You don't take a management job passively. Before you accept the position, you interview everyone in your group, and you get them to sign on with you, or you sign them off -- or you don't take the position. I don't know why managers don't understand that. They take on new assignments like high school kids on their first blind date.

Q: What if an employee begins to exhibit bad behavior after he or she has been hired -- behavior that wasn't apparent in the interview phase?

GW: Well, that happens, and that's what managers get paid for handling. It can be a setback, but it's your job to take care of it and get the job done. Unfortunately, not many technical managers have any preparation for this, something I've been trying to remedy for years -- so in a sense, I'm to blame, because I've succeeded in only a few cases. Hey, if everything went smoothly all the time, you wouldn't need managers.

Q: If you were to publish a third edition of The Psychology of Computer Programming, what new insights would it include? (Dorset House Publishing released a Silver Anniversary Edition in 1998.)

GW: I might add something about how to make yourself so valuable that your work will never be outsourced -- something about the arrogance and overconfidence that has led to the loss of lots of software development jobs, not just to outsourcing, but to development work that's just not being done because the odds of success are so poor.

Q: Is this bad behavior coming from the developers themselves, or do you mean to say the entire industry is to blame for not staying on top of innovation?

GW: It starts with the developers, and managers, too. But the overall result is, as you suggest, the entire industry getting too involved in navel-watching and competitiveness over the wrong values. For a long time, customers had nowhere else to go for service and had to put up with whatever we gave them. Now they have choices, and they're getting even.

Q: In Are Your Lights On? (also available from Dorset House), you note that people like to complain. How do good managers draw the line between harmless venting and disruptive pessimism, if such a line needs to be drawn?

GW: "Drawing the line" is probably not the most useful metaphor. The approach I like most is to listen to the complaint for a reasonable amount of time, then say, "And what do you propose to do about this?" Depending on the reaction you get, take it from there.

Q: You once said, "If you can’t manage yourself, you have no business managing others." Could you elaborate on that? What does it mean to manage one's self?

GW: Well, perhaps you can look at Kipling's famous poem,"If." It starts:

If you can keep your head when all about you
Are losing theirs and blaming it on you;
If you can trust yourself when all men doubt you,
But make allowance for their doubting too;
If you can wait and not be tired by waiting,
Or, being lied about, don't deal in lies,
Or, being hated, don't give way to hating,
And yet don't look too good, nor talk too wise;

Most of this poem is still pretty good advice about what it means to manage yourself (except, unlike in Kipling's day, it now applies to women, too).

Q: In your opinion, why do so many software projects go over budget or fail to meet their original requirements?

GW: There's no single reason, but here are probably the top three:

1. The original budget, schedule and requirements were totally unrealistic, due to the inability of people to speak truth to power.

2. The original budget, schedule and requirements were totally unrealistic, due to the inability of people to understand and acknowledge their own limitations (which we all have).

3. Even in those rare cases that people pass those first two hurdles, they lose emotional control during the project when something goes wrong -- and something ALWAYS goes wrong. In 50 years, I've never seen a project where something didn't go wrong. When it does, the project’s success is determined by the leaders' ability to manage themselves emotionally.

Q: If you were to find yourself on a development team, reporting to a project manager, what qualities would you want that manager to have?

GW: I'd want that manager to be a congruent, adult human being, capable of learning from others and his or her own mistakes. A good place to start honing these attributes is the AYE Conference.