Last week, I was in Japan for the Release Council. I turn on the TV in my room and flick to BBC news… and there it was! It seems that all started with David Drummond‘s explanation in the Google Blog about a new approach to China.
As this topic has been in the news a lot recently, I don’t really want to review here if Google is right or not on changing their policy. What I wanted to discuss with you is something that really called my attention when the announcement was done.
Just after discussing the “what and why” of Google’s decision the BBC person asked the Google representative: “Have you already discuss this with the Chinese goverment?” – the answer from Google :”Not yet”
It’s a dilemma, a Prisioner’s Dilemma
Since Google decided to enter the Chinese market in 2006, it engage on an iterative prisoner’s dilemma with the government. Google would cooperate by censoring its results, while the government would have to cooperate by allowing Google to run its business. Clearly Google believes that the hacking into its user’s account constitute a deflection and hence it has retaliated.
The fact that Google announce their counter-deflection through the public media is explained by Thomas Schelling as way to increase the stakes. It is now much harder for Google to not withdraw from China if the can not agree to keep their search engine uncensored, that if they hadn’t done this public commitment. This is equivalent to an army general burning the bridge that his troops have just cross to remove the possibility of retreat. Continue reading “On Google exiting China: Not “If” but “When”?”→
As an agile methodologies SCRUM is pretty simple to follow. There are basically 3 roles , 4 ceremonies and small bunch of practices. So why does it work? let me take a game theory perspective to the how, in order the explain the why.
Sprints: Deliver often!
A sprint is a unit of time (in our team is 2 weeks) in which the team plans and delivers an increment of the product that provides value to the customer. Once a sprint finishes a new one starts, the 4 SCRUM ceremonies are held within one sprint.
Classic waterfall projects tend towards a big bang approach to delivery. For the customer and the supplier, it leaves a door open to last minute surprises: “this is not what I ask for, it is going a bit late, I am not paying you, we had to cut that feature…” This might be represented as deflections by both sides (or players in a prisoner’s dilemma).
Tricking the other side into doing their part without you doing yours, (e.g. increasing your margin by cutting test effort and delivering bug-ridden software) can be more appealing if the players are not likely to meet again (or at least not in the near future).
However, if these interactions are more frequent and longer lasting, the benefits of ongoing collaboration become more attractive. This approach to fostering collaboration is well argued by Axelrod and it is implemented by scrum in the ‘sprint’ concept.
A clear difference between a collaborative project and an “uni-lateral” project is – how to establish a level of confidence on whether all the parties involved on the project will deliver their contributions as intended. I don’t think this problem is unique to Open Source Software, but in fact can be found in many “trust-based” transactions. By “trust-based” transactions, I mean exchanges where the completion can not be warranted beyond relying on the other party to do the right thing.
Few decades back, a field of mathematics called Game Theory modelled this situation in “the prisoner’s dilemma“. Imagine that you and your best friend have been arrested by the police for a crime to which both of you were part to. You are put into different interrogation cell’s and offer the following deal:
“At the moment, neither of you is talking… but we have enough evidence to put both of you prison for 2 years. However, If you are prepare to incriminate your accomplice, we will cut your sentence to 1year community service and he will spend 5 years in jail. But you must hurry, because we are offering the other guy the same deal. If he gives you up, you will spend 5 years inside…you have 5 minutes to decide” But you know that if both of you talk, the jail term will be 3 years for both of you… so what do you do?
There is no clear cut answer to the question, hence is called a dilemma 🙂 In fact, John Nash identified a theoretical equilibrium point at the “guilty-guilty” scenario. This is the only scenario where, considering the other person’s choice, you couldn’t have been better of if you had chosen differently. However, actual lab experiments showed that “real” people don’t tend to choose the Nash equilibrium more often than the other 3 scenarios.
A variant of the problem is the “iterated prisoner’s dilemma” , this is when the game is played repeatedly and the impact of the decision into future transactions is taken into account in the current “game”. It’s this version of the dilemma that in my opinion applies to collaborative development projects.
In collaborative projects the 2 players are the contributor and “benevolent dictator“/project lead. Will the contributor keep to his/her public commitments? Will the project lead accept the contribution and give the kudos where is due?
Ultimately, the attitude of both players will be influenced by the prospect of future collaborations. If you are trying to facilitate these kind of relations, here my views on how to make it successful:
Iterated the Game as much as possible: Ensure the collaboration is not based on a one-off interaction. The easiest way to do this is to have a multiple-deliveries integration plan vs big bang approach.
Raise the stakes: The prisioner’s dilemma is based on the fact that the reward of defecting is far larger than cooperating. You can alter the situation by raising the stakes for mutual cooperation, making it much more attractive to both parties. (i.e. in a situation where “if nobody talks, you are both free” there is no dilemma)
Lastly, make sure common sense prevails. Although game theory is a fascinating subject, proposed solutions to this dilemma have failed to consistently predict how real human (i.e. not only rational but also emotional) beings actually behave.