InfoWorld: You mentioned this morning that there's the problem in which you have to make sure your software works. You say that's something that you should be able to take for granted, but that has not been so. Why has that been the case?
Beck: Well I think it's a combination of technical and social factors that leads to all the defects in deployed software. Part of it is the attitude that software is just inherently unreliable, and customers are conditioned to accept that. Developers are conditioned to accept that. Testers are conditioned to accept that. We just decided it was like the weather and there's nothing we could do about it, which isn't a very responsible position because in fact, there's a lot that software developers can do about it. Both technically, [through] test-driven development, automated integration testing, continuous integration, and socially both in terms of personal pride of workmanship and integrity, not wanting to send out software that has defects. And in terms of relationships of teams.
InfoWorld: There have been these studies that you're familiar with that talk about most software projects failing. Is agile really a remedy for that, or is the jury still out?
Beck: Is agile a remedy for failing software projects? I think a lot of software projects should fail, and the problem is you just don't know which ones until you're pretty well into it. So is agile a remedy for it? No. I think software projects are still going to fail because there still [will be] the promising ideas that don't work out in practice. One thing that agile development can give you is to make sure those projects fail faster, sooner, cheaper, so you can get on with the next thing.
InfoWorld: With agile, you're talking here in iterations of several weeks as opposed to six months to a year? How are you defining the iterations as far as the cycles of when software is released?
Beck: The basic cycle in XP, the basic planning cycle is one week long, which is nice, because it fits in with how humans [work]. At the end of every week the software should have more functionality than it had at the beginning of the week.
InfoWorld: How does XP compare to other agile methodologies, such as Scrum?
Beck: The thing I like about XP is completeness. It starts with broad statements about the values that are consistent with good software development. It talks about the principles and it talks about concrete practices to achieve the kind of goals that we were talking about. So I think the distinguishing feature of XP is that it has kind of this comprehensive scope.
InfoWorld: Can you name any prominent software projects that have been done using XP?
Beck: Carfax, for example.
Paul Krill is editor at large at InfoWorld.
Talkback
E-mail
Printer Friendly
Reprints




