Skip to main content

Book: Getting to yes: negotiating agreement without giving in

This book presents a technique developed at the Harvard Negotiation Project, in alignment with the Harvard Law School. The technique is called "principled negotiation". The technique can be broken down into four key tenets, as follows:

  • Separate the people from the problem
  • Focus on interests not positions
  • Invent options for mutual gain
  • Insist on using objective criteria

The book itself is divided into five sections. The first section dismantles and analyzes the traditional style of negotiation whereby each party takes a position and makes a stand on that basis; the negotiation goes back and forth until the positions are shifted enough so as they are closely matched. The author spends this first section setting the scene by saying that this style of negotiation is potentially dangerous - "don't bargain over positions".

The next section of the book deals with the method of principled negotiation in detail, and the four tenants, as listed above. This section goes into each tenant in depth, looking at the reasoning for this approach at a psychological level.

The third section addresses what to do in the situation where negotiations are complex or difficult. Introduces the concepts of BATNA (best alternative to negotiated agreement) and "Negotiation Jiujitsu" - using the energy of the other sides attack to develop constructive negotiation. It also looks at what to do if the other side is using "dirty tricks" (for example - extreme commitment, deliberate deception, etc). This section also covers an approach called the "one-text procedure", whereby a third party is enabled to step in and broker an agreement. Worth noting that this technique is more-or-less the same as the requirements gathering process that a seasoned engineering consultant would go through with a client in order to develop a proposed solution that fits a specific business problem. The situation where negotiation procedure itself is negotiated is examined - doing this is encouraged, if for example, the other side is using tricky tactics. This is probably the most useful section of the book as it's more-or-less about putting the theory into practice.

The fourth section is the conclusion - it's only a few pages long. Covers the fact that most of what is presented is understood by many people already, that the content of the book is only useful if put into practice and that negotiation isn't about "winning" but about mutual agreement.

The final section deals with "ten questions people ask about 'getting to yes'". This section is itself broken into four sections; questions about fairness and "principled" negotiation, questions about dealing with people, practical questions, questions about power.

Useful quotes:

"If you want someone to understand your reasoning, give your interests and reasoning first and your conclusions and proposals later".

"Where disagreement persists, seek second order agreements - agreement on where you disagree".

"It will be easier to reform the negotiation process than it will be to reform those with whom you are dealing. Don't be diverted from the negotiation by the urge to teach them a lesson".

"A clever strategy cannot make up for lack of preparation. If you formulate a step-by-step strategy that is sure to knock their socks off, you will run into trouble when they come to the negotiation wearing sandals".

Title: Getting to yes: negotiating agreement without giving in
Author: Roger Fisher, William Ury and (for second edition) Bruce Patton
Tags: Business, Negotiation, Analysis


Popular posts from this blog

HOW-TO: Apply a “baseless merge” in Team Foundation Server 2010 (and 2012)

Another purely technical post on TFS...
The scenario We wish to migrate code between branches that do not have a branch/merge relationship, in order to expedite urgent changes being made by a project team, without disrupting on-going BAU development work. Sample branch hierachy/strategy Imagine the following branching strategy in TFS (visible by connecting to TFS via Visual Studio 2010 or 2012):

Essentially you have a "DEV" branch, which has a "QA" branch, which in turn has a "PROD" branch. DEV is the branch that you would be using for BAU development. As a piece of development matures, you move it into QA, where it is tested by your internal QA team. There may be further changes made in DEV that are moved into the QA branch as the QA team pick up issues. Once the QA team are happy with a packaged of changes, they will move them into PROD, which is essentially the hand-over to the customer. The PROD branch represents the software that the customer has.


HOW-TO: Add/edit a field in Team Foundation Server 2012 using Visual Studio 2012

It's been a while since I made a purely technical post...

So, today I wanted to make a change to a Microsoft Team Foundation Server 2012 (TFS2012) instance that I am working with to reflect "Actual" time spent on a task - mainly for reporting purposes, and because I have found in the past that making this minor process adjustment yields a relatively useful metric over the long-term.

I am using the Microsoft Scrum 2.1 Process Template ( for a project that I am working with. So that I don't forget how to do this (again!) I will blog-post the procedure I've used to add this field to the template as a screen-shot-based tutorial, as follows...
Before Assuming you are familiar with the Scrum Process Template (2.1-ish) - open a task and take a look at the "Details" section, as follows:

 This is where I want my "Actual" field to show up.
Get the Power Tools Download and install the latest v…

Eclipse/Android error: "Multiple dex files define [...]"

Wow, I am really going nuts blogging this-evening - 2nd post in less than an hour. 

Anyway this is a particularly nasty error that I keep running into with Eclipse/Android when starting the emulator after I have not run it for a little while. Since I run the risk of permanently forgetting the solution to the problem every time I walk away from my Android project (and thus having to spend a painful hour-or-so digging up the procedure again), I will blog it here, for my benefit, and for the benefit of anyone who may also suffer the same problem.

The gist is that when you start the emulator in debug mode (that is, you hit the button in the following image), you get the following error message come out on the console and a nasty popup telling you nothing more than there is an error with your program and you need to fix it:

[2012-04-06 23:20:57 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/gson/ExclusionStrategy;
[2012-04-06 23:20:57 - SimpleList] Conversion to Dal…