Subj : Re: extreme programming (thoughts) To : comp.programming From : Phlip Date : Mon Jul 25 2005 06:25 pm wee wrote: > No, no. I meant that we would think up great ideas alone, then create a > program that would generate code, instead of generating code using pair > programming. If there is no real need to think heavily while coding in > pairs (trivial coding, in a sense), then why not write a program that > would do that part for you? Create tests off an idea, create the method > that would pass that test, etc. etc. Inspiration causes bugs. That's the bane of all software engineering. Imagine surgery without germs. People would rearrange their limbs recreationally. Germs are the bane of all medicine, and we have elaborate institutions to research them, defeat them, and prevent them. Imagine buildings without gravity or fire. We would build frail lattices into the sky, and live in the clouds high above the germs. Instead, we slowly build ugly square buildings, and surround them with gadgetry and special troops charged with rapidly extinguishing any fire. Similarily, the majority of our software engineering industry is excessive effort of all kinds to defeat and prevent bugs. > My point is, the world of XP that you painted just sounds a bit > anti-creative and anti-human; almost like an assembly-line, instead of > an Assembly programmer. ;-) That's what Emergent Behavior _is_. It is simple cheap easy "rules" repeated over and over again, so a project can grow elaborate and complex with low risk. I suspect XP leverages good rules that increase a project's bug resistance, and I also suspect that these rules are an excellent framework to harness inspiration. On an XP team, you are "required" to upgrade a modules design - even if you did not write that module - if you find a way to, feel inspired to, and can get a pair to agree with you. The book /Extreme Programming Explained/, first edition, uses the word "required" in that context, meaning it's unfair to the project if you keep your idea to yourself. (On the other hand, if you are inspired to think of a new feature that users might like, you had better keep your mouth shut, so we can finish the existing feature set on time! ;) > Personally, I'd rather be the Assembly programmer any day, even given > the pain it sometimes brought, because it also brought the beauty and > joy. Uh, okay. But this isn't all about you, you know... -- Phlip http://www.c2.com/cgi/wiki?ZeekLand .