Google

Monday, January 4, 2010

The Origins Of Agile Methods

The cornerstone of Agile methods originated long before the World Wide Web and collaborative technologies (e.g., wikis and instant messaging). This cornerstone is iterative and incremental design and development (IIDD), a method adopted by engineers over 75 years ago.

Early adopters of IIDD included Department of Defense (DoD) engineers who engaged in propulsion-related research and development, which included engineering activities tied to hardware not software. An early progenitor of IIDD was Dr. W. Edwards Deming who began promoting Plan-Do-Study-Act (PDSA) as the vital component of empirical engineering. Early adopters of Deming’s teachings in the aerospace industry include NASA (National Aeronautics and Space Administration) and the US Air Force, each of which developed entire systems using time-boxed, iterative, and incremental product development cycles.

As early as the mid-1950s, IIDD was used in software development resulting in business benefits such as “avoiding management discouragement” and “increasing customer satisfaction.” In fact, a large number of early software development projects, which were often experimental and explorative, shared many of the attributes of today’s Agile methods. However, in a systems world dominated by mainframes, COBOL (Common Business-Oriented Language), and the demand to process large and complex datasets, procedural top-down design and development methods dominated and were perceived by many to be the standard. This situation was influenced by the procedural nature of DoD standards and the proliferation of fixed-price contracts awarded to suppliers of complex DoD systems (the predominant consumer of computer software at that time).

In 1976, Tom Gilb argued that evolutionary development resulted in superior software delivery in his book Software Metrics and launched a movement toward agile, light, and adaptive development iterations that provided rapid results and more frequently visible business benefits. This short history of Agile methods is provided for the benefit of those who might mistakenly believe that Agile methods are a recent innovation without deep conceptual roots. For a complete history, there are books that describe the events of the past seventy-five years that also contributed to the success of Agile methods.
By their nature, the parties to fixed-price contracts assume an unchanging project scope in unvarying development and use environments. This nature makes it difficult to later modify project direction (without highceremony activities) to take advantage of newly-discovered needs and constraints or new technologies.

As the state of software engineering matured, more formal applications of IIDD became available for example, in Barry Boehm’s 1985 release of The Spiral Model of Software Development and Enhancement.

Throughout the 1990s, IIDD gained broad acceptance in the software community in various forms, including rapid prototyping, rapid application development (RAD), and rational unified process (RUP). The seeds of most modern Agile methods were sewn throughout this decade. While most may not expect it, innovative and Agile methods began in the large information technology (IT) shops of several large companies, including an automotive manufacturer and an overseas
bank. XP (eXtreme Programming) began at Chrysler Corporation in 1996 on a project staffed by IIDD advocates Ron Jeffries and Kent Beck, while feature driven development (FDD) started at United Overseas Bank in Singapore, one of Asia’s largest banks. With pair programming and refactoring as XP’s most celebrated features, XP became one of the most recognizable methods of the Agile family. Before the end of the decade, it was clear to many businesses and software engineers alike that in many settings, face-to-face communications, rigorous customer interaction, small rapidly moving teams, and frequent delivery of software ultimately produced superior software.

This enlightenment was occurring simultaneously elsewhere and so-called lightweight methods proliferated with names such as Scrum, Crystal, FDD, and others.
With the proliferation of IIDD methods came the need to coordinate and compare these methods by those interested in their growth and sustainment. The result of this need was a “meeting of the minds” among leaders who were principally responsible for the theory and application of each method.

A group of leaders met, including Kent Beck, Ron Jeffries, Alistair Cockburn, Jim Highsmith, Bob Martin, Mike Beedle, Ken Schwaber, Jeff Sutherland, and others who represented the most successful of the new lightweight methods. Modeling their meeting after an earlier meeting of XP enthusiasts in Oregon the year before, these leaders gathered in the Wasatch Mountains of Utah to ski, relax, and ultimately author the Manifesto for Agile Software Development.
A subset of the Manifesto authors, together with others like Mary Poppendieck, went on to form the Agile Alliance, a not-for-profit organization dedicated to encouraging the adoption of agile methods. The Agile Alliance primarily focuses on organizing the Agile Conference in the United States every year.

While even the organizers of the Utah event expressed skepticism of its outcome, the sessions were a success. The Manifesto documented the guiding principles of Agile development and defined a philosophy around a set of existing methodologies. While the first Manifesto for Software Development focused on programming, three years later original Manifesto authors Jim Highsmith and Alistair Cockburn gathered a similar group of early Agile adopters, including David Anderson, Mike Cohn, Todd Little, and others to establish a set of six management principles known as the Project Management Declaration of Interdependence (DoI) [Anderson 2005b]. The 15 authors of the DoI subsequently formed the Agile Project Leadership Network (APLN), a notfor-profit organization dedicated to encouraging better leadership and management in the IT sector and software engineering profession.

SOFTWARE ENGINEERING INSTITUTE. The Manifesto and Interdependence publications, books written by their original authors, the formation of not-for-profit organizations to promote the Agile approach, and the widespread use of the internet for research by software practitioners, has resulted in the rapid growth and broad adoption of Agile methods throughout much of the software engineering profession. Some methods, most notably Scrum, continue to grow beyond the software industry into professions that desire the benefits provided by the same basic IIDD concepts first pioneered by Deming and his predecessors.

A section of the book “CMMI® or Agile: Why Not Embrace Both” provides the basis for much of this article.

0 comments:

Post a Comment

 

This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 License, unless otherwise noted. You are warmly invited to share your comments, ideas or ask questions. Spam and language of hate will NOT be tolerated!