Diplomacy Pattern


Diplomacy Pattern; "Professionalism Pattern" might also be appropriate.


DanielKnapp, but gentle, professional modifications to the pattern are of course more than welcome - this is Wiki.


Dealing with people, on any scale from global to a single office, through any medium from face-to-face communication to television advertisements to books.


You have ideas which you wish to spread; you believe that the more people who willingly adopt them, the better off you, they, and the world will be.

Perhaps your ideas are a programming language, a design philosophy, a school of fiction, the colonization of the solar system, or a nifty gizmo. At any rate, you want them to be used.


Your potential audience can be divided into several categories with respect to your ideas:

Those who already believe and practice your ideas. You must:

Those who, at present, have no interest in your ideas; you believe that they would still benefit, but can't attract their attention. You must do several conflicting things with these people:

Those who are opposed to your ideas. If you are very, very lucky, all of these people will oppose you only by putting forth reason-based arguments against your ideas. (In fact, if you are this lucky, your ideas are probably wrong.) You would very much like to ignore these people entirely.

(There are other categories too, obviously. There may even be unclassifiable individuals. These three are the important ones to consider.)

Assuming your ideas are any good and you live on Earth, you will be subject to ad hominem attacks, strawman arguments, appeals to emotion, slander, and possibly outright fraud. Those who you are trying to attract the interest of will be more inclined to dismiss you without a second glance if you allow yourself to become deeply involved with these; however, if you do not defend yourself, the claims against you will most definitely be believed. Always. Really.


Use diplomacy. Don't try to be a revolutionary, or not too much of one if you must; play the game the way it has been played for ages. Newspapers, the media, your boss, your employees, your clients, and your friends are invariably slanted one way or the other, but don't tell them so to their faces. It's okay to be rude, but be sure first that the people you are rude to really deserve it.

Don't try to push your message to the exclusion of all else; focus instead on building your public image and being a person who will be listened to. That way, when something comes up that your ideas are relevant to, you can have an audience.

Convince your loyal supporters to follow the DiplomacyPattern also, so that your image is not tarnished by their behaviour.

When encountering a new person or group, be it a prospective client, a contractor, the boys from Wall Street, the strange and bewildering world of ISO and other standards bodies, or simply a friend, do not be hasty in deciding which category this person or organization falls into. Even if you quickly and correctly decide that you do not want to deal with an organization, there will be others who you do want to deal with who take that organization seriously, and you must know what if anything you will say about it to them; else you will be taken less seriously in general.

In this spirit of reserving judgement, be sparing with both criticism and praise when discussing third parties. This allows those you are talking to to form their own opinions of the third parties, and doesn't make you look like an unprofessional bigot or a blind follower.

Resulting Context:

You have made one tiny step toward convincing everybody to adopt your ideas, and avoided hurting their future prospects.

Just as PatternLanguagesArePatternsToo, so this pattern opens the gate to an entire pattern language, which, had it been written, would now be applicable.


You are gaga about CommonLisp; you think that it is appropriate for everything. You are, however, only one programmer of a team on a project which has been around for a while.

Applying this pattern, you suggest and lobby hard for the use of CL when creating a new component of the project. Rather than talking about why CL would revolutionize the industry if it were adopted, you prepare and study some notes on specific features it has which are good for this task.

You attempt to overcome resistance from your coworkers by showing them that implementations of the language are readily available, and that simple tasks in the language are not as difficult as they expect. You attempt to overcome resistance from your managers by arguing that, for good or for ill, they are only deciding the question for this one component: If it doesn't turn out to be a perfect fit, at least it will work. If it turns out to be a horrible mistake, you can just finish the component and it will still play nicely with future components which are written in C++.

So they agree to let you try it; and you make goddamn sure that you deliver on your promises if it kills you; and maybe for the next component people will be open to using it again.

Known Uses:

Lots of historical examples in the book, HowToWinFriendsAndInfluencePeople.



EditText of this page (last edited June 11, 2012) or FindPage with title or text search