talking about 30 years ago, is to get very detailed formal requirements for what the system is supposed to do. Now, you could probably do that for a payroll system or even the voting system that we were talking about a moment ago. But when Jeff Bezos sat down to conjure up the whole idea of Amazon.com five years ago, he had no road map. No idea of exactly what it was that he wanted to do. There is just no point spending a lot of time trying to carry out that part of the task.
Carol: We will be back shortly with more of eXtreme Programming, Ed Yourdon, and Quality Plus E-Talk with Carol Dekkers... Welcome back to Quality Plus E-Talk. My guest this week is Ed Yourdon who is a renowned expert in the area of software engineering and has written quite a number of books. We started out talking about the election, the American election, which is still undecided at this point. We have moved into kind of a discussion on eXtreme Programming which is one the latest buzz words in the software industry which is really a light methodology where we take anything that is nonproductive or wouldn't necessarily be worthwhile doing, like very, very detailed requirements analysis and poring over them infinitely when you do not even have good requirements. Ed, let me just ask you this, it seems like every five years there is a new methodology, the latest and greatest thing next to sliced bread. We had rapid application development or RAD five years ago, what is new and exciting and not just a regurgitation in eXtreme Programming?
Ed: Well, I think eXtreme Programming incorporates a lot of the best ideas from RAD. In fact, the originators and proponents of XP actually came out of the small talk community, which even predates RAD. So the whole idea of iterative evolutionary adaptive development, you know, that is something that people have recognized and described with various buzz words for most of the time that I have been in the computer field. I will give the XP people credit for throwing in additional ideas or emphasizing some additional ideas as well. The idea of insisting that you write test cases before you write code is an idea that people have talked about but not usually with the same degree of passion that you hear now. In fact, you could carry that back to our business users and say to them before you even write a specification, write down the test case that you would be willing to accept as a demonstration that the requirements have been meet. That eliminates these fuzzy requirements like "the system shall be user-friendly." Well, that sounds great but what kind of test would you impose or be willing to accept.
Carol: And what does "user-friendly" mean?
Ed: Precisely. It sounds good. It is one of those evocative terms. So the XP people are saying before you write requirements or before you write any code, the first thing that you better do is describe the test that will determine whether it has been satisfied or not. That's a good idea. The idea of team programming, pair-wise programming, which as you were saying during the break, we used to practice 20 or 30 years ago out of necessity because of limited hardware is being advocated again. There are half-dozen ideas that the XP people have incorporated into kind of a whole way of thinking and working on projects to help accomplish what everybody is so desperate to do and then we're speeding