A completely hypothetical conversation between an IT Manager and a lead programmer. I hope you'll add to it. -- KenMcKelvey '''ItManager''' [he says]: ''"We've got to do something. We have a pattern of releasing software months behind schedule. We are frequently over budget, and our software has far too many defects."'' [he thinks]: ''"I've been pouring money into these programmers and all I get is bad estimates and poor software. The CIO is on my ass and its making me look bad."'' '''LeadProgrammer:''' [he hears]: ''"The CIO is on my ass and its making me look bad. You've got to fix it."'' [he says]: ''"I agree, we have a problem, but its an organizational problem, not specifically a programming problem. I've been reading up on a software development discipline that I believe could fix these problems."'' [he thinks]: ''"Oh gawd, I'm going to have to tell him its called 'Extreme Programming'. Why couldn't this be called the 'Beck Model for Accurate Development Estimation and Increased Quality'?".'' '''ItManager:''' [he hears]: ''"Hey, its not my fault, you're going to have to change some stuff around here."'' [he says]: ''"I'd love to hear your ideas."'' [he thinks]: ''"If these programmers would just buckle-down and code instead of worrying about new techniques and tools, they would meet their deadlines. That's what I used to do."'' '''LeadProgrammer:''' [he hears]: ''"Go ahead and tell me about it, I'm desperate enough to give you a listen."'' [he says]: ''"Well, I think our problems can be broken down into three general areas: one, inadequate communication among programmers and between the programmers and customers; two, overly complex and detailed specifications and programs; and three, untimely/incomplete detection of application defects. The core principles of the model I've been reading about are communication, simplicity, feedback, and courage. If we follow this model, I believe we could really improve our estimation process while at the same time providing higher quality software."'' [he thinks]: ''"Please don't ask me what this discipline is called."'' '''ItManager:''' [he hears]: ''"We need more meetings, less documentation, and more people assigned to testing."'' [he says]: ''"What is this discipline called?"'' [he thinks]: ''"This 'courage' thing has me worried..."'' '''LeadProgrammer:''' [he hears]: ''"What is this discipline called?"'' [he says]: ''"XP"'' [he thinks]: ''"Oh shit..."'' '''ItManager:''' [he hears]: ''"Microsoft XP"'' [he says]: ''"Oh yea, I've heard of that, its part of Microsoft's new operating system. I didn't realize Microsoft incorporated a new programming discipline into that release."'' [he thinks]: ''"This isn't so bad, anything Microsoft came up with must be pretty good."'' '''LeadProgrammer:''' [he hears]: ''"Excuse me, but I'm not so smart. You're going to have to skip the acronym and spell it out for me."'' [he says]: ''"No, its not a Microsoft product. It stands for 'Extreme Programming'."'' [he thinks]: ''"Courage..Courage..Courage..."'' '''ItManager:''' [he hears]: ''"bla bla ....EXTREME.... bla bla"'' [he says]: ''"Hmm. That sounds very... umm... interesting..."'' [he thinks]: ''"Shit, that name scares me! It must be CowboyCoding again. We have to get our CMM level"'' ---- I think it's interesting that your conversation is documented in a similar form to the "two-column" method described by PeterSenge in his book ''TheFifthDiscipline : The art and science of the learning organization.'' Was this somehow in your mind when you wrote this? Nope, never heard of it. This was strictly StreamOfConsciousness. ---- Excellent! A very good example of DontCallItExtreme. I wonder if it would be worthwhile to write up some AcceptanceTestsForMethodologies.