Recognized as the inventor of XP (Extreme Programming) and a co-author of the Agile Manifesto, Kent Beck has been a prominent advocate of agile programming and its use of shorter release cycles in software development projects. The founder and director of Three Rivers Institute, which offers various programming services, Beck attended the QCon conference in San Francisco this week, where he answered some questions from InfoWorld Editor at Large Paul Krill.
InfoWorld: Could you talk about the Agile Manifesto and XP?
Beck: The fundamental assumption behind XP is that there are certain activities that contribute to software development success. I asked the question -- what happens if we did those as intensely as possible? Hence the name Extreme. And it turns out that if you take some practices like technical collaboration [and] testing and push them harder than they had been pushed up to that time, at least in typical development, that there's all these nice consequences. You get very low defect rates, which means you can release software much more frequently. You get a very low cost to getting projects into an initially deployable state, low cost and short time compared to other styles of development. And if you take this notion of incremental design, continually investing in design seriously, you can continue deploying new functionality at a fairly steady rate for a very long time. That was how XP started, and it turns out that in order to accomplish all those goals, you also have to, as a team and as individuals, learn a bunch of new social skills: integrity, transparency, accountability. [You] get to a certain speed and the next thing, if you want to go [to] the next step faster, what you've got to do is be able to communicate much more clearly and transparently about what's going on.
InfoWorld: You mentioned trends that are driving agile programming: reliability, low cost of change, increased return on investment. Why is the market moving away from the waterfall style to agile? Or is still just a small portion of developers that are doing Agile?
Beck: Well, it is a small portion of developers that are doing agile, but I think it's growing quite quickly. I don't have numbers to back that up, but that's the sense that I get if you look at the growth of conferences and so on. I think what's driving agile development right now is that it's possible to be much more honest, transparent, and accountable if you have short cycles and you decide that that's what you want to accomplish. There's a huge latent market for software development that's just flat-out honest.
InfoWorld: Why so?
Beck: Because it hadn't been that way for a long, long time.
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?