In the software world, we like swinging. We are swinging from one way of working to another way of working--from one extreme to the other. Very young people are having their first swing and now they are agile. Middle age people (what a cute label) are right now swinging from the extreme of working with RUP to another extreme called Agile. We swing and our companies swing with us.
Today everyone is agile. Of course…everything else would be silly. Let me say it loud and clearly: I am a big fan of agile. My teams at Ericsson were extremely agile.
However, most people I talk to have a fuzzy understanding of what agile really is about. I participated in a panel discussion with agile evangelists in Wales last March. The organizers had hoped I would be against agile. They were surprised. The audience asked us to define agile. The panelists claiming they were agilists started to ramble. So I had to help. Agile is about three things:
Most important, agile is about social engineering. This is what actually made agile different. It is about how to work as a team, how to make people motivated, how to collaborate, etc.
Agile is about lightweight. Instead of relying on explicit knowledge like in RUP, agile relies on tacit knowledge.
Agile contributes some technical practices. This is the weakest part of agile. Very