Fri Sep 23 2005 21:32 PST:
This collaborative programming contest is a good visualization of how improvements happen to software, but I think the lessons might be applicable to the advance of knowledge generally. The contest program sees two types of improvement: incremental improvements that only help a little, and ways of rethinking the problem. The latter might help a lot or might actually make things worse for a while, but it allows lots of new incremental improvements. You could map this pretty easily to a paradigm-shift model of science.