Talk:Iterative and incremental development
![]() | Computing Unassessed | |||||||||
|
This is the talk page for discussing improvements to the Iterative and incremental development article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
What are the advantages of "V" Model over the other life cycle models. —The preceding unsigned comment was added by 209.78.112.253 (talk • contribs) 19:09, 19 January 2006 (UTC2)
Merge with Incremental build model
Agree with the merge of Incremental build model.
- A quick Googling of incremental build model shows that the term is hardly in use.
- The article is a stub, and is vague to the point of being useless.
- It is redundant to the text in this article.
—The preceding unsigned comment was added by 65.222.202.26 (talk • contribs) 18:45, 13 March 2006 (UTC2) Perhaps a bit too much emphasis on methodology guideines. In particular, methodology is a bit redundant in the "guidelines" section. I believe the incremental build model should be separate. I concur with many of the contributors; the incremental build model is rarely utilized as a business process model. Does anyone in Software use or employ this methodology? I am not aware of any such cases. On the other hand, I do know of many references to the iterative approach in Technology Consulting.
A project iteration, especially in the DW business process, is not necessarily incremental development. —The preceding unsigned comment was added by 83.41.43.222 (talk • contribs) 00:37, 25 March 2006 (UTC2)
I can certainly understand the point of merging these two documents. However, as a student studying Software Engineering, I can recognize the differences. I think it would be beneficial to keep these two articles separate. I realize that there is an overlap in material, but there is also a vast amount of differences that the stub seems not to have taken account of. —The preceding unsigned comment was added by Blatyo (talk • contribs) 16:40, 6 April 2006 (UTC2)
I am also a student of Software Engineering, and we are currently doing research on building a specific model for incremental development. It differs greatly from iterative development. In ID, each iteration is like a mini-software lifecycle, with design, coding, and testing phases. Incremental development involves adding features in small chuncks, where each change produces valid, working software. The software is complete when all requirements are met. I will add more to the Incremental Development article once research paper is completed. — Preceding unsigned comment added by 68.62.22.177 (talk) 21:57, 20 September 2006 (UTC)
Please sign your comments! --Bdoserror 22:15, 23 October 2006 (UTC)
What development models *aren't* iterative and incremental?
Obviously the 'evil' rigid waterfall model wasn't incremental, but it was never really advocated. It seems to me that all software development models, spiral on, have been iterative whenever possible. Could someone add an example or examples of development methodologies that don't fit in this category? If there aren't any, what use does this term serve? --Logomachist 03:40, 5 January 2007 (UTC)
- Was wondering this myself. 71.240.184.133 18:17, 31 January 2007 (UTC)
- The waterfall model is apparently still used. The distinction should probably be that other models are designed to be incremental/iterative, while the waterfall model is not designed this way, but since software is rarely 100% right first time... --Michig 19:17, 31 January 2007 (UTC)
Definition
The definition (the first sentence) is no definition. It only states why this topic exists and where it is used - but not what is ment by iterative and incremental development. --Sebastian Dietrich 09:23, 24 May 2007 (UTC)
History
I moved the following section to the talk page here. There is a cleanup tag for two year now. This should first be improved before replacing this section. -- Marcel Douwe Dekker (talk) 23:59, 9 October 2008 (UTC)
For the June 2003 IEEE Computer issue dedicated to agile methods (edited by A. Cockburn and L. Williams), Vic Basili and CraigLarman are writing a short 1-2 page history of iterative/incremental lifecycle processes.
1970: Royce, W.W., Managing the Development of Large-Scale Software: Concepts and Techniques Proceedings, Wescon, August 1970 (also reprinted in Proceedings, ICSE9), which includes a "build it twice" prototyping step -- entered by Barry Boehm
1971: Mills, H., Top-down programming in large systems Debugging Techniques in Large Systems, R. Rustin, ed., Englewood Cliffs, N.J., Prentice-Hall, 1971. (Frederick Brooks mentions this in NoSilverBullet: "Some years ago Harlan Mills proposed that any software system should be grown by incremental development.") - entered by Christian Ohman
1973: Mills, H., On the Development of Large, Reliable Programs IEEE Symp. Comp. SW Reliability. Notes: I have heard this paper has relevance to iterative, but haven't read it yet. - CraigLarman
1975: Williams, R.D., Managing the Development of Reliable Software Proceedings, 1975 International Conference on Reliable Software, ACM/IEEE, April 1975, pp.3-8.
- Discusses the use of incremental development on the $100M TRW/Army Site Defense software project for ballistic missile defense. The project began in February 1972 and developed the software in 5 loops or increments of functional capability. Loop 1 just did tracking of a single object; Loop 5 covered the full mission. -- entered by BarryBoehm
1975: Brooks, F., The Mythical Man-Month
- "Plan to throw one away; you will, anyhow." - entered by PhilippeKruchten
- Please note that Brooks writes in The Mythical Man-Month after 20 years: "This I now perceive to be wrong, not because it is too radical, but because it is too simplistic.
- The biggest mistake in the "Build one to throw away" concept is that it implicitly assumes the classical sequential or waterfall model of software construction."
- The problem is that you only will know what parts to throw away after the system is finished and the system testing is over. - ChristianOhman
1975: Basili, V. and Turner, A., Iterative Enhancement: A Practical Technique for Software Development :IEEE Transactions on SW Eng.
1981: Boehm, B., Software Engineering Economics Prentice-Hall. ISBN 0-13-822122-7 (pages 41-2, 254) allows for an iterative process when developing software.
1983: Booch, G., Software Engineering with Ada Benjamin-Cummings. (Around page 43) describes an iterative process for growing an object-oriented system.
1984: Madden, W and Rone, K., Design, Development, Integration: Space Shuttle Primary Flight Software System, CACM 27 9, Sept 1984, 914-925.
- -- Although the publication was only in 1984, they used an iterative approach in 1977-79..
- "An implementation approach was devised for STS-1, which met the objectives by applying the ideal cycle (they mean the waterfall cycle), to small elements of the overall software package on an iterative basis. ... STS-1 had 17 interim release drops in a 31-month period starting October 1977. Full software capability was provided after the 9th release in December 1978." - PhilippeKruchten
1984: Rzevski, G., Prototypes Versus Pilot Systems: Strategies For Evolutionary Information Systems Development, Approaches to Prototyping, Editors Budde et al, Springer-Verlag
1985: Boehm, B., A Spiral Model Of Software Development And Enhancement, 2nd. International Software Process Workshop. Coto de Caza, Trabuco Canyon, USA 1985. Wileden, J. and Dowson, M. (Eds.)
- Notes: I'm not sure this citation is correct. - CraigLarman; PhilippeKruchten can offer this alternate:
1986: Barry Boehm, A Spiral Model of Software Development and Enhancement, ACM SIGSOFT Software Engineering Notes (SEN), August 19–6 1985: Rzevski, G., Trends in Information Systems Design, Infotech State of the Art Review, Mature Systems Design, edited by L. Evans, Pergamon Press
1986: Currit, P. Allen, Dyer, Michael and Mills, Harlan D, Certifying the Reliability of Software IEEE TOSE, Vol. SE-12, No. 1, Jan86.
- Notes: pp 3-11. Executable product increments are the basis for MTTF estimates. - TomGilb
1988: Gilb, T Principles of Software Engineering Management AW.
- Notes: This had three chapters on Evolutionary Dev. - CraigLarman
1988: Brigader General H Edward USA (ret.), Evolutionary Acquisition of Command and Control Systems: Becoming a Reality Signal, January 1988
- Notes: pp 23-26 Found this reference in SPUCK93 (JPL, RDM) - TomGilb
1988: Boehm, B, A Spiral Model Of Software Development And Enhancement IEEE Computer. May 1988.
1991: Booch, G, Object-oriented Analysis and Design with Applications Addison-Wesley
- Describes a process for iteratively and incrementally growing a system.
1992: Ph. Kruchten, Un Processus de Développement de Logiciel Itératif et Centré sur l'Architecture 4e Congrès de Génie Logiciel, Toulouse, France, Décembre 1991, EC2, Paris
- Iterative approach the "Rational way" (English version exists as a whitepaper from Rational) - PhilippeKruchten
1993: Alistair Cockburn, The Impact of Object-Orientation on Application Development (PDF) IBM Systems Journal, 32(3), March 1993, pp. 420-444, reprinted in the 50-year anniversary issue, IBM Systems Journal 38(2-3), 1999. http://www.research.ibm.com/journal/sj38-23.html,
- Presents one view of the difference between incremental and iterative development (p. 311)
1996: Ph. Kruchten, A Rational Development Process Crosstalk, 9 (7) July 1996, pp.11-16.
- (see [1])
- What will become the RUP lifecycle. - PhilippeKruchten
1996: Barry W. Boehm, 1996, Anchoring the Software Process IEEE Software, July 1996, pp.73-82.
- where MBASE and RUP aligns concepts and terminology. - PhilippeKruchten
1996: Booch, G, Object Solutions Addison-Wesley.
- Explains the importance and substance of an iterative and incremental lifecycle; talks about the growing of an architecture through successive refinement; introduces the notion of different rhythms (micro and macro process) in the lifecycle. About the same time there was a book by Adele Goldberg and Kenny Rubin of a similar nature. Alistair Cockburn's "SOOP" book followed shortly afterwards.
1998: Jennifer Stapleton, DSDM: Dynamic Systems Development Method Addison-Wesley
1998: Walker Royce, Software Project Management?A Unified Framework, Addison-Wesley-Longman
1999: Beedle, Mike; Devos, Martine; Sharon, Yonat; Schwaber, Ken; Sutherland, Jeff. SCRUM: An extension pattern language for hyperproductive software development. In Harrison, Neil; Foote, Brian; Ronhert, Hans (Eds.) Pattern Languages of Program Design 4. Addison-Wesley Software Patterns Series.
1992: Jacobson, Ivar, Object-Oriented Software Engineering: A Use Case Driven Approach. Chapter 2, The system life cycle.
- In my edition, Addison-Wesley revised 1998, pp 23ff. --StevenNewton
1997 Alistair Cockburn, Using VW Staging to Clarify Spiral Development