Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News The ABCs of Agile for Managers

The ABCs of Agile for Managers

In the recent edition of CIO magazine, John Paul Mueller has written a new article, ABC: An Introduction to Agile Programming, targeted at IT managers looking for a brief overview of agile methodologies. For those new to Agile, John concisely answers the following questions:
  • What Are the Business Reasons for Using Agile?
  • What Makes Agile Programming Different?
  • Won't I Have to Do a Lot of Extra Work?
  • What's Different, Besides Working in Iterations?
  • Won't Working Like this Change Our Corporate Culture?
  • When Should I Avoid Using Agile Programming Techniques?
  • Is There Just One Kind of Agile Programming?
The overview speaks well of agile practices, with the possible exception of John's answers to the question "When should I avoid using agile programming techniques?" John gives four situations in which a managers should avoid adopting agile methodologies:
  • Creating a huge application that can't be broken down into small pieces
  • For applications that require a distributed development
  • Building a mission-critical application where every single piece has to work at the outset
  • If the company has a command-and-control management style
Although management fear in these situations is understandable, Joshua Kerievsky responds:
Your section on "When Should I Avoid Using Agile Programming Techniques?" is something I would've expected to see in 2001, not in 2007... the XP/Agile world has utterly shattered ideas that XP/Agile doesn't scale past 20 people or that it doesn't work on distributed projects...

Industrial Logic (my company) does 100% of its programming using distributed XP and we're quite happy with the results. We do distributed planning sessions using real-time planning software (called ProjectCards), we use Skype to have voice and video conferences, we use VNC to do desktop sharing, and we all integrate into a shared repository. It works so well that now we don't think about geography when we hire people, since we know that we can do our distributed agile process with great people from around the globe.

A strong rebuttal. However - Joshua's experiences notwithstanding - any organization adopting agile practices for the first time shouldn't underestimate the difficulties of doing agile with a distributed development team, or applying agile to build a large, mission-critical application. In particular, those seeking the adoption of agile within their organization should pay heed to John's fourth example - the company with a command-and-control management style. This is a subset of a larger problem: trying to foster open and honest communication within an organization where open and honest communication isn't valued. Changing the value system of an organization demands efforts towards community development, which is ordinarily beyond the scope of any but the most ambitious of agile teams.

Rate this Article