Agility: The misconception about being Agile is to follow Extreme Programming practices
Posted by Jai on August 25, 2009
Few days back one of my colleagues asked me the same thing that what exactly being Agile means and how do you measure the Agility of a team or an organization. He is new to the agile and being agile for him is more of following the extreme programming practices. And another question was if the team/organization says that they are agile then how do we measure the agility, how agile they are until and unless we know the practices they are following. In this post we will discuss the similar questions.
The same question has been asked and explained so many times and in so many ways. The first thing I did was to point him and explain the Agile Manifesto. And also tried to explain the principles behind it.
But during most of the discussion he was focusing on that all these principles are fine and are the same for most of the teams/organizations. All team/organization just can say that they are following Agile, on paper, but how do you really figure out that are they really doing it. Then he added that if you are not doing pair-programming or continuous integration, how can you say that you are agile. There I got the idea that what he was confused at.
I supported my points with few arguments like, being agile for the team/organization means you:
- are more client focused, work in collaboration with the client.
- prefer people to people interactions over processes, minimize waste etc.
- regular feedback and continuous working software and open to changes.
- right management support to build self organizing teams, having right people etc.
- follow best practices to attain the agility and continuous improvements.
and many more similar points (idea is not to cover all here :)).
And to add more to this that what the extreme programming practices are. And also about particularly the Scrum practices.
Sometimes it is hard for people to differentiate and digest the differences between the Agile practices and many of the XP practices. They somehow get mislead by the idea that the XP practices etc are part of Agile. And Agile enforces these practices with it.
This misunderstanding lead to the idea that if you are not following one of the XP practice like pair-programming, it means you are not totally Agile. We all know the benefits of pair-programming and many other XP practices but the baseline is that you should not underline the things which may work for one team, may not supposedly work for other team. If one team is following Scrum plus XP fully and is quite successful doesn’t mean that the same things will for other team also. The XP practices like pair-programming, continuous integration etc. help you to achieve the Agility.
People have done a lot of surveys around to measure how agile your team/organization is, covering many of the above points from all the Agile and XP practices. Sometimes it is hard to say what we are measuring and what we are trying to achieve, personally no idea.
And the discussion went on and on but still it was hard for me to convince him to clear out this misconception from his mind. Lets hope over a period of time it gets more clear to him in the form of real Agile experience.