Many, many years ago I went on one of those corporate week-long training courses to learn how to negotiate. Back then I was too young and too green to learn anything from it except I remember this mantra:
The only way to win against someone with an agenda is to have a better agenda.
At the time, I never quite understood what that meant. I think I have a better handle on it now.
Negotiators, professional or just natural ones, start with an agenda, a plan of things they want to get done, want to discuss, and want others to do. And then they doggedly stick to that agenda. They don’t answer questions that distract from their agenda, they don’t discuss anything that’s not on the plan, and they ensure however they can that the conversation returns to their agenda.
Look at politicians with their talking points, how they never ever answer interviewer’s questions. Look at powerful CEO’s who always talk up their businesses no matter what. Look at the technical press (even the WSJ) slamming Apple even though the competition they promote is horrible. They all have their agendas, and they tenaciously work their way through them, no matter what, undistracted, even if it makes them look ridiculous.
We developers, on the other hand, tend to jump on board with other people’s agendas. I am sure part of this is because we get paid to do so (it is our profession after all) and if we do not, we’ll never make for happy clients or get work. But I think it’s more deep seated than that. We jump on board because we see their agendas as problems to be solved, and we, the natural problem solvers in the room, take it as a challenge to help them. Or maybe we’re just trying too hard to fit in and please.
In jumping on board another’s agenda, we give up our own. Even if we do not know what our own agenda is. In jumping on board another’s agenda, we succeed or fail based on their plans and abilities, not our own skills and abilities. That’s not good for us.
What we need to do is first know and understand their agenda. We also need to know and understand our own. If the two align, great; if not, we need to do something about it. We need a better agenda, and we need them to jump on board ours.
So how to do this?
I could use an “it depends” argument here, but better if I run a scenario. Lets say you have a boss or a client with an agenda for a product, and they intend to get it done as quickly and cheaply as possible. Let us also stipulate that the product idea is a good one, but the plan sucks. Wrong platform, bad feature set, insane deadlines, not enough budget, or, in other words, the usual non-developer agenda.
Normally, we would jump on board, and mutely try to build the product wanted within budget and time (knowing full well that it’s bad and not going to work). And when we get to the end, the product does suck as predicted, everyone is unhappy. Or worse, we start complaining about the time or the budget or the platform or the features, which just causes the agenda holder to dig in harder. In short, we all lose, bad product, bad reputation and unhappy customers.
What we need to do is review their agenda, identify the problems, but instead of pointing them out, determine a better way to achieve the final agenda goal. Apply our finely tuned problem solving skills to that. In doing so, we create our own agenda, one that still gets everyone to the same end, but with fewer risks and problems. For each item on our new agenda, we need to create an argument or valid reasoning why our way is better, and use that to attempt to persuade the boss or client to change their agenda.
You’ll win some and you’ll lose some. But you will get better at it.
Overall everybody wins a bit more. The product may take a bit longer and cost a smidgen more (or even possibly less), but it will be that much better, and the client happier. And the next time you face a new agenda, they will listen to you a bit more and follow your agenda a bit more, because your agenda worked better last time, and together you will craft even better products.
The only way to win against someone with an agenda is to have a better agenda.
I think I finally understand the lessons of that course, just 22 years too late.
Follow the author as @hiltmon on Twitter and @hiltmon on App.Net. Mute #xpost
on one.