Home > Articles > Software Development & Management > Agile

Pretending to Be Agile

  • Print
  • + Share This
Agile is in. Many processes and projects are jumping on the bandwagon and claiming to be Agile, so what are the telltale signs that what you have is a traditional process just pretending to be Agile?
From the author of

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 Agile—what 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 there—this 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.

  • + Share This
  • 🔖 Save To Your Account