Seminar "Agile Softwareprozesse"

Inhalt

Agile Softwareprozesse werden nicht in einer klassischen Form definiert, sondern durch ihre Eigenschaften (Phasen, Praktiken, Rollen etc.) beschrieben. Diese Eigenschaften fußen auf Prinzipien wie Kundenzufriedenheit, Einfachheit, Wille zur Annahme auch später Änderungen, regelmäßiger Überprüfung und Verbesserung der eigenen Effektivität etc. Mehr als bei den klassischen Prozessen wird hierbei z.B. auf inkrementelle Veränderung mit nützlichen Auslieferungen in kurzen Abständen (einige Wochen), durchgehende Mitwirkung des Kunden und direkte Kommunikation gesetzt. Die Grundsätze finden sich im "Manifesto for Agile Software Development" (http://www.agilemanifesto.org/) zusammengefasst. Bekannte Vertreter agiler Softwareprozesse sind Modelle wie das eXtreme Programming oder Scrum.

Siehe auch im KVV.

Der Ablauf des Seminars ist unter SeminarRegeln beschrieben.

Das Seminar findet in der KW13 ab dem 29.03.2005 in SR 053 statt.

Vortragsthemen

Nummer Thema Beschreibung Artikel/Quellen Hintergrundartikel Sonstiges Material Vortragender Folien/Ausarbeitung
1.1 Agile Softwareprozesse Allgemeine Einführung in und Motivation für agile Softwareprozesse; Artikel von Jim Highsmith, Alistair Cockburn, Barry Boehm und Tom DeMarco HigCoc01, HigCoc01-People-Factor, Boehm02, DeMBoe02   http://agilemanifesto.org/ Stefan Murawski Folien/ Ausarbeitung
1.2 Extreme Programming (XP) Einführung in den XP-Prozess (Geschichte, Motivation, Werte, Rollen, Aktivitäten, fundamentale Prinzipien, Praktiken,...) Beck99, Beck03-de AbrSalRon02 http://c2.com/cgi/wiki? ExtremeProgrammingRoadmap Thomas Schwaier Folien/ Ausarbeitung
1.3 Pair Programming (PP) Strukturierung der Aspekte von PP und deren empirische Untersuchungen; Artikel von J.T. Nosek, Laurie Williams, Ward Cunningham, Ron Jeffries und Alistair Cockburn Nosek98, WilKesCun00 , CocWil01, WilKes00 http://weblogs.java.net/ blog/kathysierra/ archive/2004/03/ pair_programmin.html   Tilman Walther Folien/ Ausarbeitung
2.1 Distributed Pair Programming (DPP) Machbarkeit von und empirische Untersuchungen über DPP; Artikel von u.a. Laurie Williams StoWilNag03, BahGehSto02, BahWilGeh02-Technical_Report     Tilman Walther Folien/ Ausarbeitung
2.2 Gender studies in PP Die Wirkung von PP bei weiblichen Studierende Ho04, HoSlaWil04        
2.3 XP und die Rolle des Kunden Wie kann die Rolle des Kunden in XP (also die Praktik Onsite-Customer) effektiv eingesetzt werden? Deursen01, FarNarKap02, MarNobBid03, Martin03   http://www.c2.com/cgi/wiki? XpCustomerQuotes, XP2002 Wieland Rhenau Folien/ Ausarbeitung
2.4 Test Driven Development Einführung in die Methodik des TDD und eine empirische Untersuchung über die Effektivität von TDD GeoWil03, Link02, MulHag02     Bettina Selig Folien/ Ausarbeitung
3.1 Refactoring 1 Einführung in Refactoring (Kapitel 1 - 3) + Katalog von "Refactorings" Teil 1: Einführung (Kapitel 5), Strukturierung von Methoden (Kapitel 6), Verlagern von Funktionalität (zw. Objekten) (Kapitel 7) Fowler99     Steffen Kolarczyk Folien/ Ausarbeitung
3.2 Refactoring 2 Katalog von "Refactorings" Teil 2: Organisation von Daten (Kapitel 8), Vereinfachung bedingter Ausdrücke (Kapitel 9) , Vereinfachung von Methodenaufrufen (Kapitel 10) Fowler99     Steffen Kolarczyk/Andreas Basch Folien/ Ausarbeitung
3.3 Refactoring 3 Katalog von "Refactorings" Teil 3: Generalisierungen (Subklassen, Superklassen etc.) (Kapitel 11) + "Big Refactorings" (Kapitel 12 - Gesamtsicht auf Refactoring von Kent Beck und Martin Fowler) + "Refactoring, Reuse, and Reality" (Kapitel 13 von William Opdyke) Fowler99     Andreas Basch Folien/ Ausarbeitung
4.1 Die Verwendung von Metaphern in XP Die XP-Praktik „Metapher“ ist die am wenigsten verstandene und am häufigsten ignorierte. Es stellt sich die Frage: Was genau ist die Systemmetapher und wie kann man diese gewinnbringend verwenden? KhaBarNob04, TomHer03 Hamilton00 , LakJoh80 http://c2.com/cgi/wiki? SystemMetaphor, http://oopsla.acm.org/ fp/files/spe-metahpor.html    
4.2 Quantitative Untersuchung von XP Studie (Umfrage) zum Erfolg von XP, die auf Basis einer Erhebung unter 45 Projekten Entscheidungshilfen für den Einsatz von XP in Softwareentwicklungsprojekten liefert RumSch02, RumSch01-technical_report     Oliver Rieger Folien/ Ausarbeitung
4.3 Teamfaktoren und Motivation in XP Aktuelle (2004) Untersuchungen über Praktiken und Werte von XP als Team- und Motivations-Faktoren. Zum Teil veröffendlicht im Rahmen der XP2004 (Fifth International Conference on Extreme Programming and Agile Processes in Software Engineering) RobSha03, RobSha04, ManMelMar04   XP2004 Patrick Chmielewski Folien/ Ausarbeitung
5.1 Scrum Einführung in den Scrum-Prozess. U.a. ein Artikel von Ken Schwaber. Schwaber95, RisJan00, AbrSalRon02 (teilweise)     Andreas Kalender Folien/ Ausarbeitung
5.2 Anwendung von Scrum Einsatz von Scrum (Scrum und XP) JenZil03, Vriens03 Kurzeinführung in CMM und ISO9001 notwendig, AbrSalRon02 (als Einführung in XP und Scrum) XP2003 Mohamed Jabbar Folien/ Ausarbeitung
5.3 Übersicht über weitere agile Softwareprozesse Übersicht über weiter agile Modelle (Crystal family of methodologies, Feature Driven Development, The Rational Unified Process, Dynamic Systems Development Method, Adaptive Software Development, Open Source Software development) und deren Vergleich AbrSalRon02 (teilweise)        

Referenzen

AbrSalRon02 P.Abrahamsson, O. Salo, J. Rankainen , J. Warsta. Agile software development methods: Review and analysis, 2002
Beck03-de Kent Beck. Extreme Programming - Das Manifest, Addison-Wesley, 2. Aufl., 2003
Beck99 Kent Beck. Embracing Change with Extreme Programming, IEEE Computer, 1999, pp 70-77
BahGehSto02 Prashant Baheti, Edward Gehringer, David Stotts. Exploring the efficacy of distributed pair programming, Proceedings Extreme Programming and Agile Methods, 2002, pp 221-230
BahWilGeh02-Technical_Report Prashant Baheti, Laurie Williams, Edward Gehringer. Distributed Pair Programming: Empirical Studies and Supporting Environments, 2002
Boehm02 B. Boehm. Get Ready for Agile Methods, with Care, IEEE Computer, 2002, pp 64-69
CocWil01 Alistair Cockburn Laurie Williams. The Costs and Benefits of Pair Programming, Extreme programming examined, 2001, pp 223-243
DeMBoe02 Tom DeMarco and Barry Boehm. The Agile Methods Fray,IEEE Computer, 2002, pp 90-92
Deursen01 Arie van Deursen: Customer Involvement in Extreme Programming, ACM Software Eng. Notes, 2001, pp 10-73
FarNarKap02 Cesar Farell, Rekha Narang, Shelley Kapitan, Heather Webber. Towards an Effective Onsite Customer Practice, The Third International Conference on eXtreme Programming and Agile Processes in Software Engineering XP 2002, 2002, pp 90-92
Fowler99 Martin Fowler. Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional, 1999
GeoWil03 Boby George, Laurie Williams. An Initial Investigation of Test Driven Development in Industry, Proceedings of the 2003 ACM symposium on Applied computing , 2003, pp 1135-1139
Hamilton00 Anne Hamilton. Metaphor in Theory and Practice: the Influence of Metaphors on Expectations, ACM Journal of Computer Documentation, Volume 24, Number 4, 2000, pp 237-253
HigCoc01 Jim Highsmith, Alistair Cockburn. Agile Software Development: The Business of Innovation, IEEE Computer, 2001, pp 120-122
HigCoc01-People-Factor Jim Highsmith, Alistair Cockburn. Agile Software Development: The People Factor, IEEE Computer, 2001, pp 131-133
Ho04 Chih-wei Ho. Examining the Impact of Pair Programming on Female Students, 2004
HoSlaWil04 Chih-wei Ho, Kelli Slaten, Laurie Williams, Sarah Berenson. Examining the Impact of Pair Programming on Female Students, NCSU Technical Report, 2004
JenZil03 Bent Jensen, Alex Zilmer. Cross-Continent Development Using Scrum and XP, Extreme Programming and Agile Processes in Software Engineering, 4th International Conference, XP 2003, , Genova, Italy, May 25-29, Lecture Notes in Computer Science, Volume 2675, 2003, pp 146-153
KhaBarNob04 Rilla Khaled, Pippin Barr, James Noble, Robert Biddle. System Metaphor in "Extreme Programming": A Semiotic Approach, The 7th International Workshop on Organizational Semiotics, 2004
LakJoh80 George Lakoff, Mark Johnson. Metaphors we live by, The Univerity of Chicago Press, 1980
Link02 Johannes Link. Unit Tests mit Java - Der Test-First-Ansatz, Dpunkt Verlag, 2002
ManMelMar04 Katiuscia Mannaro, Marco Melis, Michele Marchesi. Empirical Analysis on the Satisfaction of IT Employees Comparing XP Practices with Other Software Development Methodologies, Lecture Notes in Computer Science, Volume 3092, 2004, pp 166-174
MarNobBid03 Angela Martin, James Noble, Robert Biddle. Being Jane Malkovich: A Look Into the World of an XP Customer, Extreme Programming and Agile Processes in Software Engineering, 4th International Conference, XP 2003, , Genova, Italy, May 25-29, Lecture Notes in Computer Science, Volume 2675, 2003, pp 234-243
Martin03 Angela Martin. A Case Study: Exploring the Role of Customers on Extreme Programming Projects, 2003
MulHag02 Matthias M. Müller, Oliver Hagner: Experiment about Test-first programming, IEE Proceedings Software, 2002, pp 131-136
Nosek98 J.T. Nosek. The case of collaborative programming, Commun. ACM, Volume 4, Number 3, 1998, pp 105-108
RisJan00 Linda Rising, Norman S. Janoff. The Scrum Software Development Process for Small Teams, IEEE Software, Volume 17, Numer 4, 2000, pp 26-32
RobSha03 Hugh Robinson, Helen Sharp. Why the twelve practices both are and are not the most significant thing, Proceedings of the Agile Development Conference, 2003, pp 12-21
RobSha04 Hugh Robinson, Helen Sharp. The Characteristics of XP Teams, Lecture Notes in Computer Science, Volume 3092, 2004, pp 139-147
RumSch02 B. Rumpe, A. Schröder. Quantitative Survey on Extreme Programming Projects, Third International Conference on eXtreme Programming and Agile Processes in Software Engineering, XP2002, May 26-30, Alghero, Italy, 2002, pg. 95-100
RumSch01-technical_report B. Rumpe, A. Schröder. Quantitative Untersuchung des Extreme Programming Prozesses, Technical Report, TUM-I0110 and ViSEK/006D, 2002
Schwaber95 Ken Schwaber. Scrum Development Process, OOPSLA'95 Workshop on Business Object Design and Implementation, 1995
StoWilNag03 David Stotts, Laurie Williams, Nachiappan Nagappan, Prashant Baheti, Dennis Jen, Anne Jackson. Virtual Teaming: Experiment and Experiences with Distributed Pair Programming, Proceedings of the Third XP Agile Universe Conference (Springer LNCS 2753), 2003, pp 129 - 141
TomHer03 James Tomayko, James Herbsleb. How Useful Is the Metaphor Component of Agile Methods? A Preliminary Study, Technical report, Carnegie Mellon University, 2003
Vriens03 Christ Vriens: Certifying for CMM Level 2 and ISO9001 with XP@ScruXXXXm , Proceedings of the Agile Development Conference, 2003, ADC 2003 , 2003, pp 120-124
WilKes00 Laurie A. Williams, Robert R. Kessler. All I Really Need to Know about Pair Programming I Learned In Kindergarten, Commun. ACM, Volume 43, Number , 2000, pp 108-114
WilKesCun00 Laurie Williams, Robert R. Kessler, Ward Cunningham, Ron Jeffries. Strengthening the Case for Pair-Programming, IEEE Software, Volume 17 , Number 4, 2000, pp 19-25

Teilnehmer

Nummer Name Email 1. Schriftgutachter 2. Schriftgutachter 1. Vortragsgutachter 2. Vortragsgutachter
3.3/3.2 Andreas Basch basch[at]inf Tilman Walther Steffen Kolarczyk Thomas Schwaier Bettina Selig
4.3 Patrick Chemielewski chmielew[at]inf Oliver Rieger Thomas Schwaier Bettina Selig Walther Tilman
5.2 Mohamed Jabba jabbar[at]inf Patrick Chemielewski Bettina Selig Tilman Walther Andreas Basch
5.1 Andreas Kalender kalender[at]inf Mohamed Jabba Tilman Walther Andreas Basch Patrick Chemielewski
3.1/3.2 Steffen Kolarczyk kolarczy[at]inf Andreas Kalender Andreas Basch Patrick Chemielewski Mohamed Jabba
1.1 Stefan Murawski murawski[at]inf Steffen Kolarczyk Patrick Chemielewski Mohamed Jabba Andreas Kalender
2.3 Wieland Rhenau rhenau[at]inf Stefan Murawski Mohamed Jabba Andreas Kalender Steffen Kolarczyk
4.2 Oliver Rieger rieger[at]inf Wieland Rhenau Andreas Kalender Steffen Kolarczyk Stefan Murawski
1.2 Thomas Schwaier schwaier[at]inf Bettina Selig Oliver Rieger Stefan Murawski Wieland Rhenau
2.4 Bettina Selig selig[at]inf Thomas Schwaier Stefan Murawski Wieland Rhenau Oliver Rieger
1.3/2.1 Tilman Walther walther[at]inf Andreas Basch Wieland Rhenau Oliver Rieger Thomas Schwaier

Termine für Vorstellung der Vortragsstruktur

Besprechung mit dem Seminarleiter über die Inhalte und Gliederung der Ausarbeitung und des Vortrags. Diese Besprechung sollte vor dem Schreiben dieser Texte statt finden.

Datum Uhrzeit Name
23.02.2004 10:00 Thomas Schwaier
23.02.2004 10:20  
23.02.2004 10:40 Wieland Rhenau
23.02.2004 14:00 Tilman Walther
23.02.2004 14:20 Bettina Selig
23.02.2004 14:40  
25.02.2004 10:00 Stefan Murawski
25.02.2004 10:20 Andreas Basch
25.02.2004 10:40 Andreas Kalender
25.02.2004 14:00 Patrick Chmielewski
25.02.2004 14:20 Oliver Rieger
25.02.2004 14:40 Steffen Kolarczyk

Organisatorisches

Das Seminar ist geeignet für Informatikstudierende (auch Bachelor und Master) im Hauptstudium. Die Erstbesprechung findet am 13.01.05 im Seminarraum 005 von 18-20 Uhr statt. Auf Wunsch kann ein anderer Termin gesetzt werden.

Wenn Sie interessiert sind, tragen Sie sich bitte rechtzeitig (möglichst zu Beginn des Semesters, die Teilnehmerzahl ist auf 15 begrenzt) in die Mailingliste http://lists.spline.inf.fu-berlin.de/mailman/listinfo/se_s_agile ein. Mails können dann über se_s_agile[at]lists.spline.inf.fu-berlin.de geschickt werden.

Das Seminar findet in der KW13 ab dem 29.03.2005 in SR 053 statt.

Für die Vorträge sowie für die Ausarbeitungen sollen die Vorlagen auf SeminarRegeln verwendet werden.

Die Folien der Vorbesprechung finden sich unter Einfuehrung_Seminar_Agile.pdf.

Bei allgemeinen Fragen zum Thema Seminar schauen Sie bitte unter SeminarRegeln. Bei sonstigen Fragen, auch den Termin betreffend, wenden Sie sich bitte an Stephan Salinger .