During a recent trip to China and Australia, I observed that everyone wants to be agile. It may be that Northern Europe and the U.S. are a bit ahead, but the trend is clear all over the world. In a roundtable meeting with CIOs, I usually ask what people are particularly interested in right now. Five years ago a common answer was "we are trying to adopt the Unified Process." Now, the same question returns the answer "we are trying to move to agile." Thus you would assume that people know what agile is.
The last month I gave four public presentations with around 100-200 people each. I met with about 12 companies. At every occasion, I asked what really is new with agile. Here are typical unfiltered answers:
- rapid iterations
- working software
- coping with change
- eliminate waste
- accepting changes
- small iterations
- continued integrations
- test-driven development,
- no documentation
- people before process
- adapt to change
- the name
- the team sets their own priority
- early stakeholder involvement
An absolute majority -- around 60 percent -- said that agile is about iterations (or "sprints," to use Scrum terminology). It is a bit disappointing that people don't know that iterative development was introduced more than 25 years ago by Barry Boehm. He called it "spiral development."
It is even more disappointing to hear that people think that Rational Unified Process (RUP) is not iterative, but based on the waterfall model. In fact, if you wanted to use RUP for waterfall development you would have to make a real effort to restructure RUP. We clearly said that everyone should move to iterations for the same reasons that people now like about agile -- rapid, working software, change, flexible, risks, and the like.
Given that around 60 percent think that agile is about iterations, and RUP was designed to support iterations, is RUP agile? My answer is that RUP can be applied in an agile way but RUP itself is not agile. Thus there need to be something more.
20 percent of the answers were about technical idea,s such as feature-driven, test-driven, user stories, and so on. However, none of these ideas would have created a revolution on their own.
10 percent of the answers were about "light" process -- light to understand, light to use, and light on documentation. Now we start to come to the core of agile. I truly believe that in the past we have been too ambitious in describing process, in adopting too much process, and in documentation. The reality is that even if people write a lot, very few people will ever read it. Thus the trend towards light will sustain. However, it is easy to be light. The trick is to be as light as possible but not lighter. I believe you will find our work on EssUP and EssWork new and fresh.
The last 10 percent were about how to work together daily, weekly, monthly, and the like. It is about communication, people and teams, about how to organize teams, how to take decisions, how to protect the team from the outside. This is what we call social engineering. Agile has put the finger on the fact that we need highly motivated and competent people to be successful with software development. No process has ever developed software. It has always been done by people. We have of course always known this, but we have not pushed it as much. The focus on people is really what makes agile unique, and this is why agile originally broke through.
Now, it doesn't really matter what people think agile is. Agile has become more of a philosophy. It appears that everything good is now agile. Thus it is not really easy to tell what agile is. However, one thing we know. Everyone will subscribe to being agile (as they should) so one day agile will go without saying.
Let me though make a cautious reservation. There is an obvious danger that as it continues, agile will be discredited because the concept is sometimes used as an excuse for doing shoddy work, for having no requirements, for developing whatever the developers feel like doing. This is not in the spirit of "true agility" but if it continues it will give agility a bad name.
Whatever happens we will one day get a new fashion. I can't tell you what it will be but be sure of one thing -- it will be smart, very smart.