JReality

JavaTM Virtual Reality Applications and
Related Technologies

"Freedom" Service-Oriented Methodology
Web Book

The First Agile Slugout:
eXtreme Programming versus Freedom

Preface

The Alliance and the Werewolf

One one hand, the recent Agile software movement is good. The Agile Alliance offers a central forum for discussion of software methodology, a subject which for a time fell into near-disrepute. Thanks to the Alliance, software methodology is now reacquiring a measure of respect.

On the other hand, the framers of the Agile movement have taken an almost revolutionary stance with respect to methodology. The Agile Manifesto and Principles appear to have been drafted with the most eXtreme (sic) of methodologies in mind. At the same time, some Principles are so narrowly defined as to be inapplicable to larger software projects, which are most in need of methodological solutions. Given that the methodologies of the 1980's failed to slay Brooks' werewolf, the hope appears to be that within the newly-stated principles may lurk a silver bullet, or at least a solid leg trap. Regardless of their shortcomings, the Principles do offer a fresh perspective on the problem. Certainly, the very act of an industry group formally proposing methodological principles is without precedent, and is a step forward on the track of the werewolf.

Three decades of in-the-trenches software development has caused a rather profound change in my own perspective as well. I now believe that the problems to which the Agile Alliance seek solutions, in fact, have solutions. I no longer believe those who mindlessly quote Brooks and wail "there is no silver bullet." Software developers around the world now slay the old werewolf daily using Internet-based open source software development, a silver bullet unimagined by Brooks1 in the mid-1980's. Ironically, precious few are tanning the hide, choosing instead to dance with a live werewolf and inevitably be bitten yet again and again. It appears a phenomenon that Brooks could not have anticipated has occurred: a silver bullet has been found but, due to its being so different from traditional practice, is being ignored by the mainstream. Do we really expect silver bullets to fit the mental mold of leaden ones? Illogically, many apparently do. In any case, the question is not "is there a silver bullet," but "where is number two?" After all, if there is one silver bullet there may well be two.


1 Those who doubt that open source development is a silver bullet are encouraged to re-read Brooks to ascertain his definition of 'silver bullet.'

Where Is Number Two?

Although there is not yet a second silver bullet, its mold may exist. This mold, like many of its kind, has two halves. These two halves were forged in the research crucibles of Dr. David Parnas and Dr. Harlan Mills over 20 years ago. It remained only for someone to fit the halves together. The crucial integration was accomplished over 10 years ago on the NASA Space Station Freedom Project, and the Parnas-Mills integration technique has been undergoing slow but steady refinement ever since. In the last two years its evolved form was documented in the context of the Freedom Ship project, and the more streamlined shape granted a name: Freedom.

That Freedom may be the mold for a second silver bullet was hinted at by the newly-stated Agile Principles. To explore this in more depth, a comparison was carried out between Freedom and the most pervasive current Agile methodology, XP, using the Principles themselves as the comparison criteria. This work documents that comparison. In the process, it also suggests improvements to those Principles which appear to have been too narrowly formulated.

The results of the comparison are, to me, surprising. They cast Freedom in a new light relative to the expanding stable of Agile methodologies. If Freedom is the mold for a second silver bullet, one or more of the new Agile methodologies may be the mother lode of silver for the bullet itself. But even that combination will not be enough. Contrary to standard Agile dogma which discounts tools in favor of people, high-powered, methodology-specific automation will be essential to fire the resulting bullets at sufficiently agile speeds.

With two bullets in the magazine instead of one, enough projects may be able to slay the werewolf to finally secure the software development landscape. As taught in basic training, it is more effective to double tap the target. That is never more true than when the target is a werewolf.

Why the Metaphor?

Rigorous comparisons of agile methodologies are, so far, rare. Although one might expect such comparisons to be a major formal activity of the Agile Alliance, only one comparison paper appears to exist in the Agile Library. That paper, "Agile software development methods, Review and analysis" by Abrahamsson, Salo, Ronkainea, and Warsta, is a comprehensive review and comparison of 10 agile methodologies. Interestingly, their comparison does not make direct use of the 12 Principles that officially define "Agile." However, the review and comparison is quite systematic, which inevitably leads to rather dry and tedious reading. The considerable value of the content is thus diluted by the mind numbing process of encountering a seemingly endless stream of facts. One is inclined to jump to the Conclusion and skip the details.

Unfortunately, in comparisons especially, the meat is in the details.

This work attempts to avoid these two shortcomings of the "Review and analysis" paper. First, the 12 Agile principles are directly used as the methodology comparison criteria. Second, a rather zany metaphor is used as a narrative backdrop for recording the comparison in an effort to encourage actually reading the details. That this is an experiment in technical topic treatment is undeniable. Its effectiveness, even its suitability, is uncertain. However, the worst one can do is simply stop reading it, which is no ground lost compared to the dry traditional approach.

A shortcoming of this work compared to "Review and analysis" is scope. Whereas the latter compares 10 methodologies, this work compares only two, one of which is not currently recognized by the Agile community. However, the comparison conclusions are quantitative with respect to agility, offer insight into the relative strengths of the compared methodologies and, perhaps most importantly, indicate that maximum agility may be best achieved via interplay among two or more methodologies in addition to interplay among people.




Copyright (C) 2003 LDJ Trust
Some rights reserved.

Creative Commons License
This work is licensed under a Creative Commons License


<<-- First . . . <- Prev . . . . . Next -> . . . Last -->>