In the past decade, the movement to lighter-weight and increasingly agile methods
has been the most significant change to affect the software enterprise since the
advent of the waterfall model in the 1970s. Originated by a variety of thought and
practice leaders and proven in real-world, successful experiments, the methods
have proven themselves to deliver outstanding benefits on the “big four” measures:
productivity, quality, morale, and time to market.
In the past five years, the methods spread virally. Within the larger enterprise,
the initiatives usually started out with individual teams adopting some or all of the
practices espoused by the various methods, primarily XP, Scrum, Lean, Kanban
(later), and various combinations and variants.
However, as the methods spread to the enterprise level, a number of extensions to
the basic agile methods were necessary to address the larger process, organizational,
application scope, and governance challenges of the larger enterprise.
Not the least of these is the challenge of agile requirements, which is the necessity to
scale the basic, lightweight practices of team agile—product backlogs, user stories,
and the like—to the needs of the enterprise’s Program and Portfolio levels. For example,
agile development practices introduced, adopted, and extended the XP- originated
“user story” as the primary currency for expressing application requirements. The
just-in-time application of the user story provided a much leaner approach and
helped eliminate many waterfall-like practices, such as imposing overly detailed and
constraining requirements specifications on development teams.