August 10th, 2009 by Moti Karmona | מוטי קרמונה · No Comments
Recently, I have encountered an interesting paper (2006) about Chubby – Google’s (Paxos based) distributed lock service.
I was especially amazed by the observations made on the Google engineering capabilities and mindset inside a “formal” research publication.
Although one can easily get into a cynical state of mind reading this paper… I feel that this “pragmatic view” which combines a deep architectural and algorithmic know-how with keen understanding of the social factor in software development is exactly the key to create legendary software.
Anyway, very well written – highly recommended reading…
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
“Our developers sometimes do not plan for high availability in the way one would wish. Often their systems start as prototypes with little load and loose availability guarantees; invariably the code has not been specially structured for use with a consensus protocol. As the service matures and gains clients, availability becomes more important; replication and primary election are then added to an existing design.”
“Developers are often unable to predict how their services will be used in the future, and how use will grow. A module written by one team may be reused a year later by another team with disastrous results … Other developers may be less aware of the cost of an RPC.”
“Despite attempts at education, our developers regularly write loops that retry indefinitely when a file is not present, or poll a file by opening it and closing it repeatedly when one might expect they would open the file just once.”
“Developers rarely consider availability. We find that our developers rarely think about failure probabilities.“
“Developers also fail to appreciate the difference between a service being up, and that service being available to their applications.“
“Unfortunately, many developers chose to crash their applications on receiving [a failover] event, thus decreasing the availability of their systems substantially”
Tags: Development · Google · People · Software
June 22nd, 2009 by Moti Karmona | מוטי קרמונה · No Comments
Ken Schwaber was quoted giving this mind-blowing Scrum / mother-in-law allegory:
“imagine that your mother-in-law believed her daughter could do better… and then imagine that she moved in with you… that’s what Scrum is like”
Think about it…
Assuming we shouldn’t aim to completely avoid all errors in software development (since this is an inherent part of any human creation) but rather to spot them as quickly as possible before they become real problems.
And… since Scrum is indeed a very good “tool” to bring the problems in-your-face without any mercy in a daily manner.
So without even getting into the continuous improvement possibilities with mother-in-laws, I really liked the Mother-In-Law allegory :)
By the way, with great anticipation I have proudly joined the Haiku contest @ the famous Ktorium – Wish me luck! :)
Tags: Agile · People · Project Management · Scrum · Software Management
November 15th, 2008 by Moti Karmona | מוטי קרמונה · 5 Comments
The Dunning-Kruger effect is a cognitive bias in which people who are worst at a task show the most illusory superiority, rating their own ability as above average (e.g. “shut up I hack you“ :)
Justin Kruger & David Dunning have tested and verified the following predictions:
- Incompetent individuals tend to overestimate their own ability and performance
- Incompetent individuals fail to recognize genuine skill in others (it takes one to know one ;)
- Incompetent individuals fail to recognize the extremity of their inadequacy (“One puzzling aspect of our results is how the incompetent fail, through life experience, to learn that they are unskilled”)
- If they can be trained to substantially improve their own skill level, these individuals can recognize and acknowledge their own previous lack of skill (There is still some hope)
Do you have the confidence that this post isn’t about you?
Think again… (!!!) – “ignorance more frequently begets confidence than does knowledge” (Charles Darwin)
Do you think this post is about you?
Might be considered vain but interesting enough, the same research have shown that the top performers tended to underestimate their own performance compared to their peers (see chart below).
So… if you find this post boring, obscure, stupid, annoying, poorly written or inappropriate than please keep in mind it isn’t something I have committed knowingly.
Tags: Blogging · Conspiracy · People · Psychology
October 4th, 2008 by Moti Karmona | מוטי קרמונה · 2 Comments
When “The Moscow Cats Theater” came to New York, the Russian clown Yuri Kuklachev was interviewed: “the secret of training them is realizing that you can’t force cats to do anything […] If the cat likes to sit you can’t force her to do anything else […] Each cat likes to do her own trick […] Maruska is the only one who does the handstand. I find the cat and see what they like to do and use that in the show […] I have a cat now that loves to be in the water…”
— REUTERS, 2006
Personally, I think that managing engineers is much more complicated than herding cats (although I didn’t have the twisted pleasure to herd a cat yet)
When you go out of your way to hire the best people around than soon enough you will find yourself herding a superior, class A, hyper-developed mutant Ligers* who are much more knowledgeable than the herder (a.k.a. you)
In this environment you have to learn to simply trust your people (although this is not simple at all :), mark the vision, let them loose and only help to get rid of the stones in their way (this concept was best described as the Open Kimono** policy in Peopleware)
Well…. Managing the Delver Engineers is like Herding Legendary Ligers and you need to make a superior effort to see what these ligers “likes to do” and run fast enough to set the Vision and move the rocks out of the way.
* The Liger, is a (huge) hybrid cross between a male lion and a female tiger
** Open Kimono Attitude: You take no steps to defend yourself from the people you have put in positions of trust.
By the way, The best answer I found on the origin of the term “Herding Cats” was in Google Answers
Tags: Delver · Development · Leadership · Management · People · Project Management · Software Management
July 7th, 2008 by Moti Karmona | מוטי קרמונה · 1 Comment
Dunbar’s number is the supposed cognitive limit to the number of individuals with whom any one person can maintain stable social relationships.
In a 1992 article, Dunbar used the correlation observed for non-human primates* to predict a social group size for humans and using a “simple” regression equation on data for 38 primate genera, Dunbar predicted a human “mean group size” of 150 (with 95% confidence interval of 100 to 230).
Dunbar’s Friends is my definition (and trademark ;-) to those few “real”, trusted and known people in your huge** online social network***.
* Primatologists have noted that, due to their highly social nature, non-human primates have to maintain personal contact with the other members of their social group, usually through grooming (and not “poking” as you might be expecting :-). The number of social group members a primate can track appears to be limited by the volume of the neocortex region of their brain.
** Did you know that Robert Scoble is following 21,060 people in Twitter, 2,992 in FriendFeed and only 71 “lousy” friends in Flickr…
*** Social Network for Dummies – Lee and Sachi LeFever (a.k.a. the CommonCraft‘s family :) have created a wonderful video explaining social network in plain English.
Tags: Internet · People · Social Network