Home > Sample chapters

Negotiating Achievable Commitments in Software Project Management

Your Personal Commitment Ethic

httpatomoreillycomsourcemspimages590315.jpg

Well-intentioned people often commit to more than they can handle. I once managed a capable and dedicated developer who always said “yes” whenever I asked her to take on a new responsibility. I soon learned, however, that often she didn’t deliver on schedule. Her in-basket was overflowing. There was simply no way she could complete everything to which she had agreed, despite her cooperative nature and good intentions.

httpatomoreillycomsourcemspimages590315.jpg

The same sort of thing happened with this very book. The original publisher concluded partway through the book production process that he was overextended and backed out of the contract. It could have been worse. The book could have lingered for months in an incomplete state, only to be cancelled after a lot of time and goodwill had passed under the bridge. But the contract cancellation did leave me with the problem of scrambling to find another publisher. As you can see, I was successful!

Accepting more responsibilities than you can fulfill makes you look unresponsive and makes others skeptical about your promises. A meaningful commitment ethic includes the ability to say “no,” or at least “whoa” (Karten 1994). Here are some other ways to say “no” that might sound more palatable:

  • “Sure, I can do that by Friday. What would you like me to not do instead?” (As project manager, you’re responsible for making these priority decisions.)

  • “We can’t get that feature into this release and still ship on schedule. Can it wait until the next release, or would you rather defer some other functionality?” (This is a way to say “not now” instead of “no.”)

  • “That sounds like something I can do, but I’m afraid it’s not as high on the priority list as my other obligations. Let me suggest someone else who might be able to help you more quickly than I can.”

A track record of making realistic performance estimates and satisfying your commitments earns credibility. That credibility improves your future ability to negotiate problematic schedules or other commitment requests. Before you say, “Sure, no problem” to a request, use the commitment analysis checklist in Figure 9-2 to think through carefully whether you should make the commitment.

Figure 9-2

Figure 9-2 Commitment analysis checklist.

httpatomoreillycomsourcemspimages590315.jpg

Despite occasional pressure to promise the impossible, I practice this personal philosophy: Never make a commitment you know you can’t keep. My personal preference is to undercommit and overdeliver. Keeping that resolve is both part of being a professional and a way to be recognized as someone who is reliable. Once I was discussing process improvement plans with my department’s aggressive and intimidating senior manager, four levels above me. Fred was pressuring me to agree to a timetable that my group had concluded was not remotely feasible. When I resisted, he grudgingly moved his objective out several months, but even that goal was pure fantasy. Finally I took a deep breath and said, “Fred, I’m not going to commit to that date.” Fred literally did not know what to say. I don’t think anyone had ever before refused to make a commitment he demanded.

It would be unprofessional to commit to an objective that I knew was unattainable, I explained. I said, “We’re not going to work any less hard if we have more time to do it, and our morale will be higher if we’re not set up for certain failure.” Reluctantly, Fred agreed to a more plausible target date. He didn’t shout at me or hit me or fire me, although in some situations those might be possibilities you need to consider.

As a project manager, don’t pressure your team members to commit to requirements or delivery dates they don’t believe to be achievable. If you fear someone is getting in over his head, discuss the commitment details, assumptions, the risks of failing to meet the commitment, and other obligations that could get in the way. Stay on top of the promises you and your team members make to others by recording and tracking requirements and milestones. Also monitor the promises others make to you. Create an environment in which your team members can turn to you for help with negotiation and priority adjustments. Unfulfilled promises ultimately lead to unhappy people and projects that don’t succeed, so strive to build a realistic commitment ethic in your team.