Main | July 2004 »

June 22, 2004

Subclassing XP: Breaking its rules the right way

Paper presented at the {link:Agile Development Conference|http://agiledevelopmentconference.com}, 22-26 June, 2004, at Salt Lake City.

Abstract

Extreme Programming encourages adoption of all of its practices. In practice many projects drop practices. What remains can be an incomplete methodology, which is dangerous. This problem can be overcome by replacing each removed dropped practice with a compensating practice tailored to the circumstances of the project – effectively subclassing XP. This experience report recounts the experiences of subclassing of XP at Wotif.com, where Pair Programming was replaced with “Pairing� and refactoring was replaced with “Team Refactoring.�

Acknowledgements

Thanks to Jeff Patton and Martin Fowler for their reviews of this paper.

Download

Download file

Posted by gluck at 06:32 AM | Comments (0)

June 19, 2004

The Three Doors Paradox

Scenario

There is a gameshow with a compere. There are three doors. Behind one of them is a prize. You are asked to select one. Then the compere opens one of the other doors. At this point you can stay with your initial selection or change. What do you do?

What most people do

Most people remain with their initial choice.

Their rationale is that they have a 1/3 probability of winning with either choice, so why change?

The right answer

The right answer is to always change.

The reason is that changing gives you a 2/3 probability of winning, compared with a 1/3 probability of winning if you stay with your initial selection.

At this point almost everyone does not understand why.

An Explanation

I will do my best to explain. The key to understanding the problem is to allocate probabilities to sets. Because the compere can never select your door it is in a different set to the other doors. The set of doors he can choose from are the two remaining doors.

So after your first selection the probabilities are: Set 1: Door A (your selection) 1/3 Set 2: Doors B and C 2/3

Now the compere opens a door in Set 2, say Door B, but he cannot open the door with the prize. The probabilities now are. Set 1: Door A (your selection) 1/3 Set 2: Door C 2/3

As you can see Door C, is the only door left in Set 2, which still has a probability of 2/3. So you should choose that door.

Bayesian Probability

What has happened is that the compere has provided more information about Set 2, but no more information about Set 1. Bayesian probability is the branch of probability that deals with probabilities when information is added to a scenario. While it is possible to understand the above example without understanding Bayesian Probability, more difficult problems require it.

See Wikipedia for more on Bayesian Inference.

Applications

Bayesian probability has been recently applied to spam.

It would be interesting to see whether it can be applied to software development methodologies.

Posted by gluck at 10:33 PM | Comments (0)