Agile Softwareentwicklung (Sommersemester 2010)
Dozent:
Prof. Dr. Robert Hirschfeld
(Software-Architekturen)
,
Bastian Steinert
(Software-Architekturen)
,
Dr. Michael Perscheid
(Software-Architekturen)
Allgemeine Information
- Semesterwochenstunden: 4
- ECTS: 6
- Benotet:
Ja
- Einschreibefrist: 10.05.2010
- Lehrform:
- Belegungsart: Wahlpflichtmodul
Studiengänge
- IT-Systems Engineering MA
Beschreibung
Agile Softwareentwicklungsprozesse, wie zum Beispiel Extreme Programming, zeichnen sich durch einen hohen Grad an Flexibilität, Pragmatismus und Leichtgewichtigkeit aus. In einem agilen Projekt werden die Projektziele iterativ und inkrementell definiert und erarbeitet, so dass Missverständnisse und Veränderungen frühzeitig erkannt und berücksichtigt werden können. Im ständigen Diskurs erlangen Entwickler ein immer besseres Verständnis des Problemraums und können ihre Erfahrungen und ihr Wissen in Bezug auf das Software-System sowie die verwendeten Programmiersprachen, Bibliotheken und Werkzeuge austauschen.
Im Rahmen dieses Seminars soll die Arbeit nach agilen Prinzipien und Methoden vertieft werden. Neben bewährten Inhalten/Themen erhalten die Teilnehmer Einblick in aktuelle Forschungsfragen im Bereich der Prozess- und Werkzeugunterstützung für Programmierer. Dazu arbeiten die Teilnehmer in kleinen Projektgruppen unter Anwendung agiler Vorgehensweisen.
Voraussetzungen
- Grundlegendes Verständnis von agilen Entwicklungsprozessen
- Vertiefte Programmierkenntnisse in Smalltalk oder Java (anhängig vom gewählten Projektthema)
Literatur
- Kent Beck, Cynthia Andres. Extreme Programming Explained - Embrace Change. Addison-Wesley, 2004.
- Kent Beck. Test Driven Development - By Example. Addison-Wesley, 2002.
- Mike Cohn. User Stories Applied. For Agile Software Development. Addison-Wesley Professional, 2004.
- Steve Freeman, Nat Pryce. Growing Object-Oriented Software, Guided by Tests. Addison-Wesley Professional, 2009.
- Jutta Eckstein. Agile Software Development in the Large: Diving Into the Deep. Dorset House Publishing Company, Incorporated, 2004.
Lern- und Lehrformen
Leistungserfassung
Die Leistung wird durch die erfolgreiche Bearbeitung eines gewählten Themas erbracht. Dazu sollen agile Techniken theoretisch erarbeitet und präsentiert sowie praktisch eingesetzt werden. In Gruppenarbeit werden Werkzeuge für die Unterstützung agiler Vorgehensweisen implementiert und in bestehende Systeme integriert. Jede Gruppe stellt im Rahmen von regelmäßigen Treffen ihre Erkenntnisse und Ergebnisse vor.
Zur Erlangung der sechs benoteten Leistungspunkte sind die folgenden Anforderungen zu erfüllen:
- Regelmäßige Anwesenheit im Seminar bzw. beim Treffen mit den Projektbetreuern
- Eigenständige Erarbeitung und Präsentation eines ausgewählten Themas zu den Seminargrundlagen
- Bearbeitung eines Projektthemas in einer Gruppe sowie regelmäßige Demonstration des Fortschrittes
- Abschlusspräsentation der Ergebnisse des Projektes
- Schriftliche Ausarbeitung zum durchgeführten Projekt
Termine
Seminar:
- Donnerstags, 9:15-10:45, HPI A-2.2
Themenstellung:
Themenvergabe:
Einschreibefrist:
Zurück