Expert and Thought Leader Evidence

This section concentrates on some of the earliest and most well known software development thought leaders; many other experts reiterate their views. Where possible, the material is organized by date of publication.

Harlan Mills

The earliest iterative-promoting reference I could find from a prominent expert came in 1970 from Harlan Mills, who worked at the IBM FSD. Mills was perhaps the most well-known software engineering thought leader of the 1970s, winner of the DPMA and Warnier Prizes for lifetime contributions to information sciences, an inventor or contributor to structured programming, top-down design and programming, chief programmer teams, the Cleanroom Method, and incremental development.

In his well-known "Top-down Programming in Large Systems" he promotes iterative development. See Debugging Techniques in Large Systems, Prentice-Hall (reprinted in Mills' collected papers, Software Productivity, Dorset House, 1988). In addition to the paper's primary advice to develop starting from top-level control structures downwards, Mills gives the related lifecycle advice of building the system via "iterated expansions."

… it is possible to generate a sequence of intermediate systems of code and functional subspecifications so that at every step, each [intermediate] system can be verified to be correct, …

In 1976, after seeing the many successes with IID on IBM FSD projects, Mills reiterated and strengthened his IID message. In the widely read "Software Development," IEEE Transactions on Software Engineering, December 1976, he writes:

Software development should be done incrementally, in stages with continuous user participation and replanning, and with design-to-cost programming within each stage.

In the context of analyzing a failed three-year inventory control system project, he goes on to challenge the waterfall:

…there are dangers, too, particularly in the conduct of these [waterfall] stages in sequence, and not in iteration i.e., that development is done in an open loop, rather than a closed loop with user feedback between iterations. The danger in the sequence [waterfall approach] is that the project moves from being grand to being grandiose, and exceeds our human intellectual capabilities for management and control.

Exasperated at the failures applying the waterfall, contrasted with IID at FSD, Mills asks:

…why do enterprises tolerate the frustrations and difficulties of such [waterfall] development?

And this complaint in 1976.

Further, Mills' Cleanroom Method included IID as part of the method.

Tom Gilb

In 1976 there was the (published) arrival of a long-standing and passionate voice promoting iterative and evolutionary methods: Tom Gilb. This was the first clear IID-promoting book reference I could find, in Gilb's Software Metrics, Studentlitteratur AB (Sweden). Some examples:

Evolution [or "Evo," the name of Gilb's iterative method] is a technique for producing the appearance of stability.

A complex system will be most successful if it is implemented in small steps and if each step has a clear measure of successful achievement as well as a "retreat" possibility to a previous successful step upon failure.

The advantage is that you cannot have large failures. You have the opportunity of receiving some feedback from the real world before throwing in all resources intended for a system, and you can correct possible design errors before they become costly live systems.

Gilb also wrote Evo articles in the 1978 79 issues of Computer Weekly. And in 1985, he published one of a growing number of articles questioning the sequential lifecycle, in "Evolutionary Delivery versus the Waterfall Model" ACM Sigsoft Software Requirements Engineering Notes, July 1985.

Evo chapter

Gilb has been developing and consulting since 1960, is the creator of one of the earliest iterative methods, Evo, and author of popular texts such as Principles of Software Engineering Management, Addison-Wesley, 1988, in which he expands on Evo in several chapters.

Frederick Brooks

In 1986 there was the release of a popular article in software engineering, one of whose main themes is the demotion of the waterfall and promotion of IID. It was "No Silver Bullet" by Frederick Brooks, published in Proceedings of the IFIP Tenth World Computing Conference (and reprinted in IEEE Computer, April 1987). In this classic paper, Brooks criticizes the waterfall as undesirable, and extols the advantages of IID:

Nothing in the past decade has so radically changed my own practice, or its effectiveness [as iterative development].

He rejects waterfall advice and the promotion by requirements engineering advocates of detailed up-front specifications, and lays the blame for much software failure on it:

Much of present-day software acquisition procedures rests upon the assumption that one can specify a satisfactory system in advance, get bids for its construction, have it built, and install it. I think this assumption is fundamentally wrong, and that many software acquisition problems spring from that fallacy.

Like Mills, Brooks was another famous software engineering thought leader. He was manager of the landmark IBM OS/360 operating system project, author of arguably the most widely read software engineering text, The Mythical Man-Month (Addison-Wesley, 1985), chair of the mid-1980s DoD study into software project failure (and what to change), and recipient of the highest awards in computer science and software engineering (the ACM Turing award, the IEEE John Von Neumann Medal, and the President's National Medal of Technology).

In the Silver Anniversary edition of The Mythical Man-Month Brooks tried to make it more plain by simply stating, The waterfall model is wrong!

Barry Boehm

Another well-known mid-1980s landmark in IID publications from an experienced expert comes with Barry Boehm's "A Spiral Model of Software Development and Enhancement," Proceedings of an International Workshop on Software Process and Software Environments, March 1985 (although more frequently cited in ACM SIGSOFT Software Engineering Notes, August 1986). Boehm's spiral model description promotes iterative and evolutionary development with a strong risk-driven emphasis. To quote:

A primary source of difficulty with the waterfall model has been its emphasis on fully-elaborated documents as completion criteria for early requirements and design phases. For some classes of software, such as compilers …, this is the most effective way to proceed. But it does not work well for many classes of software, particularly interactive end-user applications.

Boehm, having ties to the DoD community, was successful in introducing the spiral model and its refinement, MBASE, on DoD projects, with a 90% rate of "highly satisfactory products" over several hundred projects. See, for example, "Balancing Discipline and Flexibility with the Spiral Model and MBASE," Crosstalk: The Journal of Defense Software Engineering, Dec. 2001.

Boehm has been involved in software development since the mid-1950s, has served as Chief Scientist for TRW (an experienced large systems contractor), Director of the USA DARPA Technology Office, and Chair of the Air Force Scientific Advisory Board. He is the creator of the well-known COCOMO estimation model, and has won the Warnier Prize, the NSIA Grace Murray Hopper Award, and the ACM Distinguished Research Award in Software Engineering.

James Martin

James Martin learned of iterative development and timeboxing from Scott Shultz at Dupont, where the practice was first given the name "timebox methodology" or "Rapid Iterative Production Prototyping" (RIPP). It was widely applied at Dupont in the early 1980s under Shultz's guidance.

Seeing its success, Martin started in the late 1980s to also promote development by timeboxed iterations for use both within and outside of the practice of rapid application development (RAD). See Martin, Information Engineering: Design and Construction, Prentice-Hall, 1990. Based on its success with his customers, all subsequent method advice from James Martin promoted iterative development, rather than a sequential waterfall. He writes:

It is desirable [to use an iterative lifecycle] because the traditional lifecycle [the waterfall] is very slow. The traditional lifecycle often fails to meet the needs of end users. … The traditional lifecycle prevents exploratory design and programming which is necessary to creative areas. … Evolutionary development is needed in which systems continually grow.

And:

While simple systems can be designed in one step, complex or subtle systems become understood only by attempting to build a [an evolutionary production-grade] prototype, learning from it, [and repeating]. The prototypes are improved a stage at a time until they converge to what the end users agree is a valuable system.

The creators of DSDM, another popular iterative method, were RAD developers who were influenced by Martin's promotion of timeboxing and iterative development.

Martin has been involved in software development since the early 1960s, and was ranked by Computerworld among the top ten most influential people in the world of computing. He has served on the DoD Software Scientific Advisory Board, is an inductee of the Computer Hall of Fame, consulted to hundreds of organizations for decades, and is the author of over 100 texts on software development and technology.

Tom DeMarco

Tom DeMarco is a long-time practitioner and student of skillful software development practices, emphasizing people rather than lifecycle issues in his (and Tim Lister's) popular PeopleWare (Dorset House, 1987). In response to my question about his views on iterative development, he wrote (personal communication, email),

Craig, I have been a passive advocate of iterative methods since ever, but never wrote on the subject that I remember (my bag is the people side of management). However, my new book ["Waltzing With Bears: Managing Risk on Software Projects," Dorset House, 2003] with co-author Tim Lister has a whole part on iteration as a (read THE) risk mitigation technique.

In their book, DeMarco writes:

The best bang-per-buck risk mitigation strategy we know is incremental delivery.

DeMarco was winner of the 1986 Warnier Prize for "lifetime contribution to the field of computing" and the 1999 Stevens Award for "contribution to the methods of software development."

Ed Yourdon

In the early 1970s, with Larry Constantine and Tom DeMarco, Ed Yourdon founded Structured Analysis and Design, with a waterfall emphasis. But by the mid-1980s, Yourdon (and his colleagues) had shifted course and has since been a promoter of iterative development in many articles and books for example, "The Future of Software: Best of Times, Worst of Times," IEEE Software, January 1998,

It's also easy to be optimistic when we look at the advances we've made in the "discipline" of our field. [New tools] have led many organizations to an iterative development approach that generally leads to more successful results than the waterfall development approach that was partly necessitated by the older generation of batch, mainframe tools.

Yourdon has been in the field since 1964, is the author of dozens of books, was named one of the ten most influential people in the software field in Crosstalk: The Journal of Defense Software Engineering, and in 1997 was inducted into the Computer Hall of Fame.



Agile and Iterative Development (Agile Software Development Serie. A Manager's Guide2003)
Agile and Iterative Development (Agile Software Development Serie. A Manager's Guide2003)
ISBN: N/A
EAN: N/A
Year: 2004
Pages: 156

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net