- Agile Software Development Stands for a New Way of Working
- Paying Lip Service to the Agile Principles Is a Mistake
- Agile Feels Different
- Top Ten Signs That Your Project Is Just Pretending to Be Agile
- Agile Is Not a Silver Bullet
In much the same way that everyone claimed they were object-oriented in the late 1980s and early 1990s, and like the Java bandwagon of the late 1990s, now, in the age of the Agile process, lots of people are claiming that their process and projects are Agile. But the reality is that most are just pretending to be Agilewhat actually happens on the projects on a day-to-day basis hasn't actually changed.
This is sad because the Manifesto for Agile Software Development offers the promise of a new way of working, and having this message subverted by the old, traditional, rigorous methods could condemn more developers to wasting time on death march or waterfall projects.
Agile Software Development Stands for a New Way of Working
Rather than the traditional, mechanical view of software development, the Agile approach is collaborative and human scale. It steps away from the individualistic software engineering paradigm and instead considers software development as a collaborative team activity.
The difference is striking. Rather than having workers in specialized roles handing off documentation to workers in other specialized roles, the focus is instead on the conversations that occur and how these are supported by documentation. These conversations happened in the traditional approaches, but they weren't really supported and facilitated. Projects that were lucky to have a good informal network for sharing information did well; those that had less informal communication were nearly always stressed.
In contrast, the Agile approaches put a high value on frequent face-to-face communication. This enables Agile teams to learn how to work together and provides a mechanism for resolving the inevitable misunderstandings that occur during a project.
The other aspects of the Manifesto for Agile Software Development are just as revolutionary:
By focusing on working software, Agile teams are forced to get the software running early and evolve it from therethis makes the software habitable. (See Richard Gabriel's Patterns of Software: Tales from the Software Community [Oxford University Press, 1998].)
By focusing on customer collaboration, the team actively involves the customer in developing the software, ensuring a better fit with the customer's real needs.
By focusing on responding to change, the team is connecting itself to reality, ensuring that if things change, the team will adjust the software to suit.