Skip to main content

Agility comes of age

Gary Pollice, Professor of Practice, Worcester Polytechnic Institute
Author photo
Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational Software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a B.A. in mathematics and M.S. in computer science.

Summary:  from the Rational Edge: This column traces the agile software movement’s growth and development, primarily by looking at changes in the attendees, sessions, and discussions at conferences devoted to XP and the agile movement.

Date:  15 Oct 2004
Level:  Introductory
Activity:  347 views

Illustration Just as children undergo constant physical and mental changes until they finally mature into adults, ideas and intellectual movements undergo similar transformations as they grow and mature. They are conceived, grow in refinement and richness, and are eventually accepted as legitimate members of the knowledge community. Some mature faster than others, and we discard those ideas that don't grow and cannot withstand rigorous scrutiny.

For the past few years, I have followed the agile software movement on its path from infancy to adulthood, reacting to its struggles with laughter, tears, and at times a sense of dread. Although I have always seen value in agile practices, I have not been an early adopter -- a role I typically assume only when the risk and stakes are low. Now, I have come to believe that these practices have a rightful place in the software engineer's toolkit; used correctly, they can help teams excel. I've become much less reluctant to apply an agile process on an important, high-stakes project if the project and process match well. This column describes the reasons I think this way, chronicling changes in the agile movement from its early years through the most recent (and last) XP/Agile Universe conference.

Agility: the early period

My first agile conference, XP2001, was held in Sardinia with a couple of hundred attendants. Many of us came there to learn what this "agile thing" was all about. I had read books and articles on Extreme Programming (XP) but had not been exposed to anyone who used it.

At that time, XP and the agile movement had an almost cultish following -- people who used funny acronyms such as YAGNI and DTSTTCPW.1 I kept waiting for someone to show me the secret handshake. Although a few members of the old guard in software development had kind things to say about agile methodology, in general it was dismissed as a wild idea that would pass.

Numerous XP2001 attendees were consultants who talked about efforts to sell XP into client organizations and the problems they encountered. Some talked about scaling up XP for large projects, but no one had yet demonstrated that it could work repeatedly in small settings. These consultants were very smart, well-respected people, including Kent Beck, Martin Fowler, and Robert Martin. These people knew a lot about building software. Heck, one of them even wrote a popular book on UML.2 So I figured they were worth listening to.

I came away from that conference with a better, although not complete, understanding of agility and XP. I knew that you could use XP quite effectively on certain software development projects. I also understood that you didn't need to use all the XP practices, or use them in an orthodox way, to achieve benefits. In fact, I had used several of the practices for years, in one form or another. And I saw clearly that XP had many things in common with the Rational Unified Process®, or RUP®. 3

The next year, the XP/Agile Universe conference was held in a suburb of Chicago. Again, it drew lots of consultants, some of whom were conference sponsors. At that time, Rational Software Corporation was a member of the Agile Alliance; Grady Booch represented the company, and we had a presence at this conference. Although Rational was still looked upon as an outsider, it was forging alliances within the community and learning from them. This conference also drew noted members of the academic and research community. Barry Boehm (yes the Barry Boehm of COCOMO and spiral life cycle fame) of the University of Southern California delivered one keynote, and Watts Humphrey, a key figure in the development of the Capability Maturity Model (CMM), of the Software Engineering Institute delivered another.

In his talk, Boehm said that he thought the agile movement was a breath of fresh air for the industry. This simple statement meant a lot for the agile movement; it opened the way for dialog about a diverse set of agile-related issues. Although hard-line followers were still unwilling to concede that XP wasn't a silver bullet, some assumed more moderate positions. Humphrey's talk stirred up even more controversy. He talked about metrics, introducing an engineering and control perspective to the dialog and ultimately fostering more cross-pollination of ideas.

At the conference's empirical workshop, a number of attendees, most from academia and a few from industry, expressed interest in gathering data and conducting experiments to help determine the efficacy of agile methods. Before this, Laurie Williams' work on measuring the effectiveness of pair programming was about the only research we had seen on agile methods. Her results indicated that pair programming was beneficial, but more data was needed to corroborate her findings. Many people seemed eager to gather data on this and other popular agile practices. 4

When the next XP/Agile Universe was held in New Orleans in August, 2003, attendance was down. The economy was drooping, and the Agile Development Conference, held in Utah shortly before this conference, attracted attendees who might otherwise have traveled to New Orleans. I also found this conference discouraging; it seemed as if little had changed since the previous one, which raised hopes for the spread of agile methods. But the methodology still seemed to be the province of consultants who congratulated one another for bringing agility to the masses for another year. Despite keynotes by the likes of Ivar Jacobson, who noted how many agile principles were around long before XP emerged, it seemed to me that the community was making little headway.

However, a few more companies -- including Microsoft -- did send representatives, and the empirical workshop was a saving grace. We discussed a few experiments, including one by Hakan Erdogmus of the Canadian National Research Council. In an experiment he ran to determine the effectiveness of test-first programming, or TFP,5 he obtained results similar to those some of my students obtained in an experiment they conducted in my course on empirical software engineering. TFP seemed to improve code quality, but the results were not statistically significant enough to warrant a confident assertion to that effect. Erdogmus told us that more experiments were needed to corroborate his findings.

The educators' session at this conference was so-so. I was about to make my transition to the academic world and wanted to find out what other educators were doing with agile methods in their courses. Many reported that they were trying different ways to introduce methods into their courses, but they had to cut other things out of the curriculum to do so.

After the conference I realized what was missing. We had plenty of consultants and academics but few customers who actually used XP and agile methods. One notable, high-visibility exception was a vice president for the company that implemented and maintains the Saber airline reservation software. He reported that his group had success with XP, but few other customers stepped forward. I wondered, had these methods really made inroads into business environments?


A giant leap for agility

I got my answer this year. XP/Agile Universe 2004, the fourth XP/Agile Universe conference, was held in Calgary, Alberta, Canada in August. (Two other conferences that concentrate on agile development -- XP200n,6 held in Europe since 2000, and the Agile Development Conference that began in 2003 -– were also held this year).

At this conference, it was clear that agile was coming of age. First of all, the event had a different feel because it included a lot of customers – a quarter of all papers presented were from customers. There were also more academics (half of the papers ), and many were working on important problems and ideas that would affect the methodology's future.

At a tutorial on scripting Web tests, my partner was a quality engineer from the IT department of a Washington company. Customers spoke up at the sessions, asking good questions and wanting to know how they could improve their organizations. They clearly felt that agility and XP were not as extreme as they had once thought.

Another noticeable feature of this year's conference was that consultants and gurus were more in the background; many presenters were new to the conference and brought new ideas. Kent Beck, Martin Fowler, Ward Cunningham, and other old-timers were not present. Yet the conference thrived.

The empirical workshop was, in my opinion, the most impressive indicator that things were different this time. We had more than twenty participants, and thirteen of them were actually software development professionals! We focused on what to measure and what's important to measure. Breaking into two groups, we focused on what measurements are important to businesses and practitioners, respectively. Our goals were quite ambitious. We were hoping not only to identify things we should measure, but also how we should measure and analyze the data, and what kinds of experiments might be most appropriate. The results of the workshop will be posted soon, and I will include a link to them in a future column.

Another healthy sign was that the conference attracted a broader cross-section of the software development community than in previous years. There was discussion of other processes, such as RUP and DSDM (Dynamic Systems Development Method). Philippe Kruchten, who was so influential in the development of RUP and now teaches at the University of British Columbia in Vancouver, proposed a discussion about the role of architecture in XP and other agile methods in the open space area.7 Most who attended this discussion seemed to think that architecture deserves to be addressed separately, especially in large projects. However, a vocal minority argued that architecture just evolves naturally when you pay attention to XP practices.

Throughout the conference, there was healthy debate and dialog among the attendees. Mary Poppendieck talked about what the community should focus on in order to cross the chasm to the mainstream. The key, she argued, is to get good customer references. Organizations that are not early adopters will make a purchase decision based upon how successful others in their sector have been with a product, regardless of what other data vendors might present.

In contrast to Mary Poppendieck, Craig Larman contended that gathering factual data about the efficacy of the practices is the key to getting more customers. His concluding keynote speech was the highlight of the conference, in my opinion. He talked about "History and Evidence" for agile processes, going back to the advent of the waterfall method, the spiral model, and the DoD's7 2167 and 2167A lifecycle models. He looked carefully at how the ideas of people like Winston Royce were misunderstood and how Royce was later unfairly chastised for foisting the waterfall model on the industry. Craig pointed out specific places in which people are misquoted, leading to years of misunderstandings and error propagation.

What really made his talk so great was that he wasn't pushing agility as such. What he truly cares about is that people become effective developers of high-quality software; agile practices are just tools in the toolkit. His main point was that the concepts behind agility have been around for a while, and now we're rediscovering them – even though many people lost their way during the years.


A mature XP will lead to wider process adoption

I mentioned earlier that XP/Agile Universe 2004 was the last XP/Agile Universe conference. This is good. Next year it will merge with the Agile Development Conference to become the premier conference on agile methods. Having two conferences was divisive and hurt the agile movement. Many people recognized this, but it took a while to get all the parties together to form a single conference.

I will make two predictions for next year. First, the use of agile practices will grow by a significant amount. Agile methods, especially XP, are a great fit for small teams, and as Grady Booch noted a couple of years ago, most software development is done by teams of between five and nine people. My second prediction is that, as the adoption of agile practices grows, so will the adoption of other methods and processes, such as RUP. Why? Although XP is effective when appropriate, most teams simply cannot adopt all the practices; they are not suitable for larger organizations and do not cover the full software development lifecycle.

Instead, many will see that tailoring a process framework like RUP to get an agile instance is becoming easier with each release of the product. More mid-size and large organizations will understand the benefits of having a flexible, customizable process, and will want their process to contain the best practices available. If the empiricists keep doing their part by measuring and publicizing the benefits these practices can yield, more and more organizations will see the light.


Notes

1YAGNI stands for "You Ain't Gonna Need It," and DTSTTCPW means "Do the Simplest Thing That Could Possibly Work."

2Martin Fowler is the author of UML Distilled, one of the most popular UML books ever published.

3I wrote about this in the March 2001 and April 2001 issues of The Rational Edge.

4Laurie Williams has written extensively on her work measuring the effectiveness of pair programming and other practices. See her Web page for references: http://collaboration.csc.ncsu.edu/laurie/publications.html

5See the article in the October 2002 issue of The Rational Edge for a description of the practice.

6Each year the conference name changes by one digit. The first conference was XP2000 and this year it was XP2004.

7Open Space is where the attendees propose topics for discussion and if there are enough people interested, a discussion thread begins.

8DoD is the United States Department of Defense.


Resources

  • The Agile Alliance Web Site: http://www.agilealliance.org/home This is a good place to find out about the latest developments in agility.

  • Alistair Cockburn, Agile Software Development. Addison-Wesley, 2001.

  • Craig Larman, Agile and Iterative Development: A Manager’s Guide. Addison-Wesley, 2003.

  • Giancarlo Succi and Michele Marchesi, Extreme Programming Examined. Addison Wesley, 2001.

  • Laurie Williams, et al., “Strengthening the Case for Pair Programming." IEEE Software, July/August 2000.

About the author

Author photo

Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational Software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a B.A. in mathematics and M.S. in computer science.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=92485
ArticleTitle=Agility comes of age
publish-date=10152004
author1-email=
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers