Scaling Agile Methods
Can eXtreme programming work for large projects?
By Sanjay Murthi
New Architect
October 2002
From literate programming to evolutionary delivery, veteran project managers have seen a variety of shifting development methodologies. Most recently, a family of new methods has emerged united under
the umbrella of "agile development." These include eXtreme programming (XP), Scrum, Feature Driven Development, and a few others.
Agile methods have introduced new
practices, such as pair programming, while discarding some old ones. Agile development favors delivering working code over complete documentation, for example. Recently, top proponents of these techniques have laid out twelve principles for agile development in the form of the Agile Manifesto (www.agilemanifesto.org).
Trial By Fire
Recently, I had the opportunity to use eXtreme programming (XP) on a large software product release. The team consisted of more than fifty people located in two different development centers. At first, I was skeptical that XP could work for us. I knew that, historically, XP has been most successful with small and very committed teams, and while our team was enthusiastic and committed, we certainly weren't small.
Fortunately, the results of the experiment came as a pleasant surprise. Using XP methods, project teams were more enthusiastic and eager. People enjoyed XP's concept
of pair programming and it allowed any member of the team to fix anyone else's bugs. As a manager, this reduced my stress levels when a team member was out sick or on vacation.
By placing importance on regular builds and working systems, we frequently caught problems early. By maintaining good version control, we also had confidence that we could easily roll back to a previous build if things went bad.