Anyone tried to do this with programming contracts instead of design contracts?
http://news.ycombinator.com/item?id=182489
[Edit: Oops, almost forgot that this was one of those posts where someone picked up on a seemingly insignificant detail and started a big debate over it. I posted the link to save myself from cutting and pasting. The "debate" below it is pointless.]