Benutzer-Werkzeuge

Webseiten-Werkzeuge


konzepte:agile-softwareentwicklung
  • Bookmark "Agile Softwareentwicklung" auf del.icio.us
  • Bookmark "Agile Softwareentwicklung" auf Digg
  • Bookmark "Agile Softwareentwicklung" auf Furl
  • Bookmark "Agile Softwareentwicklung" auf Reddit
  • Bookmark "Agile Softwareentwicklung" auf Ask
  • Bookmark "Agile Softwareentwicklung" auf Google
  • Bookmark "Agile Softwareentwicklung" auf Netscape
  • Bookmark "Agile Softwareentwicklung" auf StumbleUpon
  • Bookmark "Agile Softwareentwicklung" auf Technorati
  • Bookmark "Agile Softwareentwicklung" auf Live Bookmarks
  • Bookmark "Agile Softwareentwicklung" auf Yahoo! Myweb
  • Bookmark "Agile Softwareentwicklung" auf Facebook
  • Bookmark "Agile Softwareentwicklung" auf Newsvine
  • Bookmark "Agile Softwareentwicklung" auf Yahoo! Bookmarks
  • Bookmark "Agile Softwareentwicklung" auf Twitter
  • Bookmark "Agile Softwareentwicklung" auf myAOL
  • Bookmark "Agile Softwareentwicklung" auf Slashdot
  • Bookmark "Agile Softwareentwicklung" auf Mister Wong

Agile Softwareentwicklung

Die agile Softwareentwicklung beschreibt einen Oberbegriff für die Nutzung von Agilität während der Softwareentwicklung. Hierbei wird das Softwareprojekt nicht in einem „Atemzug“ durchgeführt, sondern es wird in einzelne Phasen unterteilt. Das Ziel ist es, möglichst flexibel und agil auf die Aufgaben und Herausforderungen bei der Softwareentwicklung zu reagieren.1)

Agiles Manifest

Agilität wird heute in der Entwicklung und Projekten benötigt, weil traditionelle Prozessmodelle (z.B. Wasserfallmodell) modernen Anforderungen durch Unflexibilität im Weg stehen. 2) Deshalb wurden bereits Ende 2001 folgende Punkte für die agile Softwareentwicklung in einem Manifest festgehalten:

- Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge
- Funktionierende Software ist wichtiger als umfassende Dokumentation
- Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen
- Reagieren auf Veränderungen ist wichtiger als das Befolgen eines Plans

Dennoch sind Dokumentation, Prozesse und etc. sehr wichtig, nur stehen sie bei agiler Softwareentwicklung im Hintergrund.3)

Beispiele von agilen Prozessmodellen

Es gibt viele verschiedene agile Prozessmodelle, die bekanntesten sind unter anderem Crystal, Extreme Programming (XP) und Scrum.

Crystal

Das agile Prozessmodell Crystal wurde von Alistair Cockburn entwickelt. Bei Crystal steht nicht eine spezifische Vorgehensweise im Vordergrund sondern Prinzipien. Folgende Prinzipien werden bei einem Crystal-Projekt vorgeschrieben:

- regelmäßige Lieferung
- reflektierte Verbesserung
- verdichtete oder osmotische Kommunikation
- persönliche Sicherheit
- Bildung von Schwerpunkten
- einfache Kontaktaufnahme mit Endanwendern
- technische Umgebung mit automatisierten Tests, Konfigurationsmanagement und regelmäßige Integrationen4)

Extreme Programming (XP)

Bei Extreme Programming (XP) ist es das Ziel, die Kosten für Änderungen gering zu halten. XP legt dabei das Schwergewicht auf:

- Programmieren, denn das Produkt und Ergebnis der Softwareentwicklung ist Programmcode
- Testen, damit sichergestellt wird, ob die Software funktioniert
- Zuhören, damit man weiß, was der Kunde von der Software erwartet
- Entwerfen, denn ein guter Entwurf ist Voraussetzung, damit sich ein System leicht ändern lässt

Daraus ergeben sich für Extreme Programming fünf Werte, welche bei dem Prozessmodell genau befolgt werden müssen:

- Kommunikation, die interne (Team) und externe (Kunde) Kommunikation muss abgestimmt sein
- Einfachheit, die einfachste Lösung eines jetzigen Problems finden und implementieren
- Feedback, sich eine Rückmeldung vom Kunden einholen
- Mut, Anpassung des Prozessmodells, fall XP nicht funktioniert Respekt, dem Kunden und dem Team gegenüber
- Respekt, vertrauensvoller und respektvoller Umgang im Team als auch mit dem Kunden5)

Scrum

Scrum ist eher eine agile Projektmanagementmethode als ein Prozessmodell, hierbei steht der Projektablauf im Vordergrund. In so genannten „Sprints“ (1-4 Wochen Auslieferungszeit) werden Softwarebausteine regelmäßig entwickelt und ausgeliefert. Ein wichtiges Ziel von Scrum ist es, sehr früh im Projekt mögliche Fehler aufzudecken, damit die Kosten der Fehlerbeseitigung so gering wie möglich bleiben.
Die wichtigsten Rollen im Projekt sind der Product Owner, das Team und der Scrum Master. Der Product Owner (Produktverantwortliche) vertritt die Meinung des Endkunden, aber arbeitet trotzdem eng mit dem Entwicklerteam zusammen und achtet auch darauf, dass die Kundenwünsche nicht zu utopisch werden. Das Team entwickelt die Software. Bei der Zusammensetzung des Teams sollte nicht nur auf das Fachwissen geachtet, sondern es sollte auch auf die Zusammenarbeit geschaut werden. Außerdem entscheiden die Teams selbst, welche Aufgaben sie im Projekt übernehmen und was sie entwickeln. Der Scrum Master achtet darauf, dass die Scrum Prozesse eingehalten werden und dass die Teams bei ihrer Arbeit nicht gestört werden. 6)

Data Vault und agile Softwareentwicklung

Ein Enterprise Data Warehouse oder ein Business Intelligence System ist im Grunde nur ein Softwaresystem. Deshalb setzt Daniel Linsted in seinem Data Vault Modell stark auf Scrum, d.h. er nutzt viele Bausteine aus Scrum um den Aufbau eines EDW mit Data Vault zu optimieren. Der wichtigste Schritt ist es, dass einzelne Bausteine in 3-4 wöchigen Sprints entwickelt werden. Auch beim Einsatz von Data Vault geht es darum agil und möglichst flexibel auf die Anforderungen des EDW zu reagieren.7)

2)
Andreas Opelt et al.: Der agile Festpreis: Leitfaden für wirklich erfolgreiche IT-Projekt-Verträge, 2., überarb. Auflage, Hanser Verlag München, 2014, S. 1 bis 29
4)
Eckhart Hanser: Agile Prozesse: Von XP über - Scrum bis MAP , Springer-Verlag Berlin Heidelberg, 2010, S.47-62
5)
Vorlesungssatz Friedrich Lohmann, Software Engineering: Kap09: Konkrete Prozessmodelle, Hochschule Hannover, Folie 16 bis 35
6)
Eckhart Hanser: Agile Prozesse: Von XP über Scrum bis MAP , Springer-Verlag Berlin Heidelberg, 2010, S. 63-79
7)
Vorlesungssatz Daniel Linstedt, Data Vault: Part 4:Software Development, Folie 2 bis 65
  • Bookmark "Agile Softwareentwicklung" auf del.icio.us
  • Bookmark "Agile Softwareentwicklung" auf Digg
  • Bookmark "Agile Softwareentwicklung" auf Furl
  • Bookmark "Agile Softwareentwicklung" auf Reddit
  • Bookmark "Agile Softwareentwicklung" auf Ask
  • Bookmark "Agile Softwareentwicklung" auf Google
  • Bookmark "Agile Softwareentwicklung" auf Netscape
  • Bookmark "Agile Softwareentwicklung" auf StumbleUpon
  • Bookmark "Agile Softwareentwicklung" auf Technorati
  • Bookmark "Agile Softwareentwicklung" auf Live Bookmarks
  • Bookmark "Agile Softwareentwicklung" auf Yahoo! Myweb
  • Bookmark "Agile Softwareentwicklung" auf Facebook
  • Bookmark "Agile Softwareentwicklung" auf Newsvine
  • Bookmark "Agile Softwareentwicklung" auf Yahoo! Bookmarks
  • Bookmark "Agile Softwareentwicklung" auf Twitter
  • Bookmark "Agile Softwareentwicklung" auf myAOL
  • Bookmark "Agile Softwareentwicklung" auf Slashdot
  • Bookmark "Agile Softwareentwicklung" auf Mister Wong
konzepte/agile-softwareentwicklung.txt · Zuletzt geändert: 2015/04/23 15:32 (Externe Bearbeitung)