Herausforderungen der Softwareentwicklung

Qualitätsmerkmale von Software


Vorgehensmodelle der Softwareentwicklung ...
...sind schematische Abbildungen oder Beschreibungen von Methoden zur Entwicklung eines Systems
...dienen dazu der Komplexität des Softwares bei der Entwicklung beherrschen zu können
...sind die Voraussetzungen für die Entwicklung von komplexer Software
Vorgehensmodelle der Softwareentwicklung - Vorgeschichte

Vorgehensmodelle der Softwareentwicklung – nach der SW-Krise

Wasserfallmodell (nach W. Royce/IBM 1970)

V-Modell (1.Version 1988)

V-Modell - Vor- und Nachteile

Das Spiralmodell (nach B.W. Boehm 1988)

Erste Iteration:
Weitere Iterationen:
Besonderheiten:
Probleme der genannten Modelle

Agile Softwareentwicklung
Manifest Agiler Softwareentwicklung:
Menschen und Zusammenarbeit sind wichtiger als Prozesse und Werkzeuge
Funktionierende Software ist wichtiger als umfassende Dokumentation
Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen
Reagieren auf Veränderung ist wichtiger als die Einhaltung eines Plans
Agile Softwareentwicklung - Beispiel: SCRUM
agiles Vorgehensmodell für kleine Projektteams
Team ist interdisziplinär zusammengesetzt
Entwicklung verläuft nach festgelegtem Zyklus, an dessen Ende, das sogenannte „Produktinkrement“ steht.
SCRUM
Zentrales Element zur Aufgabenbeschreibung ist die User Story:
Aufbau: Ich als <Stakeholder> möchte <Funktion>, um <Nutzen> zu haben.
Ziel: Einfache Erfassung und Dokumentation von Anforderungen und Aufgaben aus Sicht eines spezifischen Stakeholders.
Beispiel bezogen auf ISIS-Plattform: Ich als Student möchte Vorlesungsfolien zeitlich und örtlich uneingeschränkt herunterladen können, damit ich mich jederzeit auf die nächste Klausur vorbereiten kann
SCRUM
Teamrollen
Scrum Master (1x pro Team): Stellt sicher, dass das Team optimal arbeiten kann (Besprechungen moderieren, Prozesse optimieren und wenn es sein muss: Druckerpapier holen) und führt das Team durch den SCRUM-Prozess
Product Owner (1x pro Team): Gibt die User Stories und deren Priorität vor
Entwicklerteam: Setzt die User Stories um.
--> Innerhalb des Teams existieren trotz unterschiedlicher Rollen keine Hierarchien
SCRUM (Gesamtprozess)

Agile Softwareentwicklung - Beispiel: XP

Agile Softwareentwicklung - Zusammenfassung
