This post originated from an RSS feed registered with Agile Buzz
by Simon Baker.
Original Post: Kent Beck on being agile
Feed Title: Agile In Action
Feed URL: http://feeds.feedburner.com/AgileInAction
Feed Description: Energized Work's blog.
My definition is that you accept input from reality and you respond to it. - Kent Beck
In this interview (available on InfoQ) about his new book on Implementation Patterns, Kent Beck also talks about problems that occur when trying to be agile. I've transcribed of some of the questions and his answers.
XP is a rather practice oriented methodology. Can you describe the relationship between implementation patterns and XP and how they work together?
[Beck] The easy part of XP is practice related but there are three legs on the stool - practices, values and principles - and I think the people who are successful applying XP are paying attention to all three. This gets back to some of my disenchantment with the direction of agile development in general. People are now asking the question: "How am I going to do agile development?" Agile development isn't a thing you do. It's an attitude. It's a set of personal values about responding to the real world, being open to the information that's there, and being willing to do something about it. That's agility. Yes, there are a lot of practices that come out of that but to me that's where it starts - it's this attitude. If somebody understood a bunch of practices and tried to do them, you could do agile development without being agile and that's a disaster because your acting out of harmony with what you really believe.
So in most situations when people learn agile, they just learn how to do it, but they don't really change their belief system?
[Beck] I think that's the easy way to teach agile development but I don't think it's actually easy at all. I think it's very hard to pretend that all you have to do is learn TDD, learn Continuous Integration, learn to use JUnit and learn to answer the three questions at the Daily Stand-up and then you're agile, because its not connected to reality. It's easy in the sense that you don't have to think very hard to come up with a set of Powerpoint slides that let you explain agile development that way. But I think it's very hard to deliver that with a straight face because, pretty soon, you're getting a lot of feedback that it doesn't work that way. I think that all three legs of the stool have to be there or it falls over. I think that you do need to understand how to program well in order to program well. It matters whether you technically do a good job or not but that's not enough. I think you also have to understand and hold the value system that's consistent with agility - communication, simplicity, feedback, courage and respect - the one from XP. I think that value system is very much in harmony with being agile. And then to have a set of principles so that when none of the practices really fit, you quickly backup and say, "Hmm. None of the practices fit but in principle the XP way to solve this problem would be blah, so lets go do that". Once you have all three legs of the stool then you have a chance to really be agile.