Kategorisierung etablierter Vorgehensmodelle und ihre Verbreitung in der deutschen Software-Industrie

Zahlreiche Studien, bspw. SUCCESS, haben in den letzten Jahren darauf hingewiesen, dass in vielen Unternehmen Vorgehensmodelle in der Software-Entwicklung nicht einheitlich und konsequent genug eingesetzt werden. Im Rahmen des vom BMBF geförderten Projektes IOSE-W2 (Interorganisationale Softwareentwicklung unter dem Aspekt der Wandlungsfähigkeit und der Wiederverwendung; siehe www.iose-w.de) erbrachte eine Umfrage unter deutschen Unternehmen ein differenzierteres Bild: Vorgehensmodelle wie auch Reifegradmodelle sind weit verbreitet und die Unternehmen schätzen ihre Prozessdisziplin als hoch ein. Aber sowohl die Einheitlichkeit des Prozesses im Unternehmen (83% der Befragten setzen zwei oder mehr unterschiedliche Vorgehensmodelle ein) als auch die Zufriedenheit der Verantwortlichen mit den Prozessen sind sehr niedrig. In diesem Beitrag werden die meist verbreiteten SE-Vorgehensmodelle wie z.B. Wasserfallmodell, Spiralmodell, V-Modell XT, RUP oder eXtreme Programming in der chronologischen Reihenfolge ihrer Entstehung vorgestellt, katalogisiert und bewertet. Dazu werden zunächst zentrale Begriffe definiert und eine Reihe von Kriterien aufgestellt, mit denen sich Vorgehensmodelle bewerten, vergleichen und hinsichtlich ihrer jeweiligen Stärken und Schwächen analysieren lassen. Nach der ausführlichen Vorstellung und vergleichenden Bewertung der wichtigsten Vorgehensmodelle werden die auf Entwicklungsprozesse bezogenen Ergebnisse der bereits zitierten Studie vorgestellt, in der deutsche Unternehmen nach ihren Erfahrungen mit Vorgehensmodellen und Software-Prozessen befragt wurden.

[1]  Alan M. Davis,et al.  A Strategy for Comparing Alternative Software Development Life Cycle Models , 1988, IEEE Trans. Software Eng..

[2]  Martin Lippert,et al.  Software entwickeln mit eXtreme Programming - Erfahrungen aus der Praxis , 2002 .

[3]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[4]  Asarnusch Rashid,et al.  Entwicklungsmethodiken zur kollaborativen Softwareerstellung – Stand der Technik , 2006 .

[5]  Stacy J. Prowell,et al.  Cleanroom software engineering: technology and process , 1999 .

[6]  Jörg Noack,et al.  Objektorientierte Vorgehensmodelle im Vergleich , 1999, Informatik-Spektrum.

[7]  William C. Wake,et al.  Extreme Programming Explored , 2001 .

[8]  Jutta Eckstein Agile Softwareentwicklung im Großen - ein Eintauchen in die Untiefen erfolgreicher Projekte , 2004 .

[9]  Andreas Speck Software Engineering (6) , 2006 .

[10]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[11]  H. D. Benington,et al.  Production of Large Computer Programs , 1983, Annals of the History of Computing.

[12]  Brian F. Hanks,et al.  Distributed Pair Programming: An Empirical Study , 2004, XP/Agile Universe.

[13]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[14]  Enid Mumford,et al.  Reengineering the Corporation: A Manifesto for Business Revolution , 1995 .

[15]  Steve McConnell,et al.  Rapid Development: Taming Wild Software Schedules , 1996 .

[16]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[17]  James M. Bieman,et al.  Rapid Prototyping: Lessons Learned , 1995, IEEE Softw..

[18]  Martin Lippert,et al.  eXtreme Programming in Action: Practical Experiences From Real World Projects , 2002 .

[19]  Watts S. Humphrey,et al.  Introduction to the Team Software Process , 1999 .

[20]  Frank Maurer,et al.  Issues in Scaling Agile Using an Architecture-Centric Approach: A Tool-Based Solution , 2003, XP/Agile Universe.

[21]  Gerhard Chroust,et al.  Modelle der Software-Entwicklung , 1992 .

[22]  Petri Kettunen,et al.  How to steer an embedded software project: tactics for selecting the software process model , 2005, Inf. Softw. Technol..

[23]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[24]  Michael Gnatz,et al.  Vom Vorgehensmodell zum Projektplan , 2005 .

[25]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[26]  Watts S. Humphrey,et al.  Introduction to the Personal Software Process , 1996 .

[27]  Andreas Oberweis,et al.  Vorgehensmodelle für die betriebliche Anwendungsentwicklung , 1998, Teubner-Reihe Wirtschaftsinformatik.

[28]  Mark C. Paulk,et al.  Extreme Programming from a CMM Perspective , 2001, IEEE Softw..

[29]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[30]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[31]  Gustav Boström,et al.  Security Engineering and eXtreme Programming: An Impossible Marriage? , 2004, XP/Agile Universe.

[32]  Michael Dyer The Cleanroom Approach to Quality Software Development , 1992, Int. CMG Conference.

[33]  Mohsen Rezagholi Prozess- und Technologie management in der Softwareentwicklung: Ein Metrik basierter Ansatz zur Bewertung von Prozessen und Technologien , 2004 .

[34]  Reinhard Budde,et al.  Prototyping: An Approach to Evolutionary System Development , 1992, Springer Berlin Heidelberg.

[35]  Andreas Essigkrug,et al.  Rational Unified Process Kompakt , 2007 .

[36]  Gerhard Versteegen Projektmanagement mit dem Rational Unified Process , 2000, Xpert.press.

[37]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[38]  Giancarlo Succi,et al.  Extreme Programming Examined , 2001 .

[39]  Jan Stage,et al.  Prototyping and Specifying: Principles and Practices of a Mixed Approach , 1995, Scand. J. Inf. Syst..

[40]  Michael Reeves,et al.  Moomba - A Collaborative Environment for Supporting Distributed Extreme Programming in Global Software Development , 2004, XP.