Ben Northrop


Decisions and software development


Anchors Away!


(21 comments)
July 21st 2009


Our species is the only creative species, and it has only one creative instrument, the individual mind and spirit of man. Nothing was ever created by two men. There are no good collaborations, whether in music, in art, in poetry, in mathematics, in philosophy. Once the miracle of creation has taken place, the group can build and extend it, but the group never invents anything. The preciousness lies in the lonely mind of a man.

And now the forces marshaled around the concept of the group have declared a war of extermination on that preciousness, the mind of man. By disparagement, by starvation, by repressions, forced direction, and the stunning hammerblows of conditioning, the free, roving mind is being pursued, roped, blunted, drugged. It is a sad suicidal course our species seems to have taken.

And this what I believe: that the free, exploring mind of the individual human is the most valuable thing in the world. And this I would fight for: the freedom of the mind to take any direction it wishes, undirected. And this I must fight against: any idea, religion, or government which limits or destroys the individual. This is what I am and what I am about. I can understand why a system built on a pattern must try to destroy the free mind, for that is one thing which can by inspection destroy such a system. Surely I can understand this, and I hate it and I will fight against it to preserve the one thing that separates us from the uncreative beasts. If the glory can be killed, we are lost.
I believe that software development is fundamentally about making decisions, and so this is what I write about (mostly). I've been building software for about 20 years now, as a developer, tech lead, and architect. I have two degrees from Carnegie Mellon University, most recently one in philosophy (thesis here). I live in Pittsburgh, PA with my wife, 3 energetic boys, and dog. Subscribe here or write me at ben dot northrop at gmail dot com.

Got a Comment?


Sign up to hear about the next post!

If you liked this article and want to hear about the next one, enter your email below. I don't spam - you'll only receive an email when there's a new post (which is about once a month, tops). It's all low-key, straight from me.

Comments (21)

July 21, 2009
It seems on the very boundary between moral and immoral. If all the numbers given are true, such an explanation of the estimate is moral. But in manipulating the presentation of the estimate, are you not trying to control how someone else thinks or feels? That seems immoral -- because you wouldn't will it as a general rule (Kant!).
July 21, 2009
I'm not convinced that kind of mind trick will work on the long term. Because we're asked to estimate a lot. On the long run, I guess we're better off trying to make our managers understand that estimates are non-negociable. I always use the same story for that (not mine): if you're laying on a bed, waiting to undergo a brain procedure, and your brain surgeon comes to you and tells you that the procedure is going to be 9 hours long, you don't look at him with a threatening look and say "how hard can that be? I'm sure you can do it in 7!". You trust him with your life. Now of course, the flip side is that as software developers, we'd better learn to be held accountable for that kind of thing, because we won't be able to hide behind the "stupid boss" if we fail.

That, and what good are software estimates anyway?! ;o)
David K
July 21, 2009
I want to know what anchor it is that so consistently leads my estimates to be 0.5 of actuality. I'm not inexperienced, which is why this phenomenon still annoys.
July 21, 2009
the anchor theory seems to work pretty well in some areas since we are able to get a good idea of the value of things or service, especially with the help of the web. however, this theory does not to be seem true in a creative environment, but may be a good technique for a sales person.

check out this book by Dan Ariely:
a href="http://www.amazon.com/Predictably-Irrational-Hidden-Forces-Decisions/dp/B002D1OSNY/ref=sr_1_1?ie=UTF8&s=books&qid=1248233912&sr=8-1">Predictably Irrational: The Hidden Forces That Shape Our Decisions
July 21, 2009
faaaaaaaaarkt
Michael
July 21, 2009
Try it and let us know how it went! All you're trying to do is make your boss more comfortable with a truthful time estimate, right?
July 22, 2009
There is an interesting article on estimating by Giovanni Asproni "Fingers in the air: a Gentle Introduction to Software Estimation" (http://www.methodsandtools.com/archive/archive.php?id=79)
July 22, 2009
You should try the grandma thing and see.

For science!
Montgomery Scott
July 22, 2009
How else do ye think ye'll get a reputation as a miracle worker?
July 22, 2009
This is a brilliant comment.

It will only work if your bob has not also seen this article. In which case he'll feel like I’m being manipulative.
mverwijs
July 22, 2009
Sounds very similar to the Chewbacca Defense (http://en.wikipedia.org/wiki/Chewbacca_defense).

:)
July 22, 2009
Definitely worth a try.
July 22, 2009
Nice way of thinking, I'll try it out on my next project.
The only problem is, if your estimation is E1, you need to have implemented in the past another similar feature that took you E2 where E2>E1... :-)
Al
July 22, 2009
I have studied this phenomenon with my own mind (introspection and basically doing self-experimentation with my own thought patterns)... Having a number that has a strong significance (emotional or cognitive) which is memorized should have a longer lasting (and possibly stronger) effect. Note: this effect works in a very similar way with things other than numbers. For instance, remembering a particular sign in a particular sequence of a particular film and associating it with a childhood memory which made you afraid... Long after you have basically 'forgotten' that film, some other event or memory, if it triggered either of the 2 memories, those memories will become networked in an 'ordered' way. I have trained this within my own mind to an extreme degree, to the point where I apply significance to as much of my experience as possible, including all of the passing thoughts that go through my mind. By applying emotional or cognitive significance, I build an extremely dense network within my memory. The strange thing is that I don't remember things by 'date' or 'time' I remember the chain of significance. If you said: "what did you do yesterday", my brain does not automatically respond with memories (unless I stop and think about it) But if you spoke a combination of 3 words which I heard 3 days ago that I applied a significance to, the memory of that exact thought pattern arrives practically instantly, as well as a chain of significant thoughts that are related to that particular thought. My thoughts also move in loops or rings, so if I am thinking about some particular things and then I run out of energy on a particular idea, whatever the last idea that I was thinking before that automatically comes to mind. Sometimes that loop is more than 24 hours long. There are cycles within cycles so it is a bit of a misnomer to call them loops, but the most incredible part about all of this is the depth and speed to which my brain automatically associates just about every experience. A memory comes back from childhood (due to newer dense associations) and I actually remember in detail what I was thinking about at that moment, and I can even 'look around' a little bit within that memory, and remember more detail about what I was thinking than I ever consciously remembered before in my life. Sorry for going on a mini-rant, does any of that seem unique or strange? Is there a name for something like that?
July 22, 2009
I only ever give one estimate:

It will be done when it's done.
msouth
July 22, 2009
@David K:

A guy I know swears by this formula: you should take your best guess, double it, and add 2 weeks. So your .5 is not far off.
D McGee
July 22, 2009
Nice post Ben!

Anchoring is definitely an interesting phenomenon that seems to have many uses, though mostly for marketing and sales people.

That said, even without anchoring, if you asked those MBA's the same questions twice, i doubt they would give the same answers again. That is, if you wanted to create a correlation in much the same way as with anchoring using their SS numbers, I'd bet you could simply have them imagine two different scenarios, or give one group something to eat beforehand, or have them look at different images, etc., and there would be a correlation one way or the other.

Estimation is a highly inconsistent phenomenon, so one quick estimation when making a decision can be wildly divergent from a careful consideration, particularly when anchored with all manner of stimuli.
July 22, 2009
I'm going to test this theory in about 15 minutes when I have to meet with my manager. I'm working on rewriting a large software system that took years to write originally, so that's in my favor ("several years" is a great anchor, don't you think?)

@AJ Finch: I wish we could all enjoy that kind of liberty! Where do I apply?
July 22, 2009
Thanks everyone for the comments! I'm very pumped (and surprised!) that so many people read this.

Anyway...

@hxa7241: Nice Kant reference! Yeah...I'm not sure this passes the Categorical Imperative - something does feel a little disingenuous here. It's not that I'm advocating being dishonest (I would never give anything other than a truthful estimate)...and I think that subconsciously we're always using "persuasion" techniques (things like humor, eye contact, etc. all probably engender trust) whether we know it or not...but I agree that this feels a little different, probably because it's a sort of conscious exploitation of an inherent weakness in our rational apparatus. There are probably better and worse ways of applying the technique...and in some cases, I'd feel ok with it (for instance if my anchor was not arbitrary, but relevant).

@Sébastien Arbogast: Good call - this technique is probably only effective where other natural, comparison points/anchors are sparse. This example is probably a bit contrived, in that my manager gets estimates from me and other developers often and the anchor might not have quite as big of an impact. I more or less fabricated this example to fit the concept of "arbitrary coherence"...so maybe there are better examples in our field?

@Al: For real? Really interesting. Our brains are very malleable, I guess. Cool blog, btw.

@D McGee: Agreed that other stimuli could serve as anchors, but I'm not sure how many would have such a strong correlation. For example, I'd expect that if you gave one group of MBAs bacon and eggs and another group cereal, there would be a difference, but not a statistically significant one. Or maybe there would!

Anyway, thanks again for all the comments!
Kris Brixon
July 22, 2009
If you have a real anchor then you actually have a real basis for making an estimate.

I have time data from other apps that are similar, so there is some percentage that I can anchor from. The rest is based on a break down of required elements into chucks of 2-16 hours each.

@msouth
The reason people double and stuff is that developers base the estimate on the happy path with no problems or meetings or waiting or testing or bio-breaks or multi-tasking context switching or ....
Ejaz
August 05, 2009
Good article Ben, Having Anchor is a great thing as it provides a frame of reference. so that any idea or proposal can be compared to it.