Vorgehensmodelle sind fester Bestandteil der Methodik der Softwareentwicklung. Kenntnisse über Vorgehensmodelle gehören zum selbstverständlichen Handwerkszeug des Wirtschaftsinformatikers. An der Hochschule Niederrhein lernen Studierende Vorgehensmodell im zweiten Semester kennen. Wichtig ist, den grundsätzlichen Unterschied von phasenorientierten und nahtlos zu klassischem Projektmanagement passenden Vorgehensmodellen und agilen Vorgehensweisen herauszuarbeiten.
3. Warum Vorgehensmodell? 3
Ja dann schauen wir mal. Am
Besten redet mal der
Programmierer mit dem
Anwender. Und dann schauen wir
mal …
Was läuft hier falsch?
Wir brauchen möglichst schnell eine App.
Wie wollen Sie uns dabei helfen?
Hört sich irgendwie nicht wie ein
ausgetüftelter Plan an ….
Der ungeduldige B2B-Kunde Der unerfahrene IT-Dienstleister
4. Warum Vorgehensmodell?
• Strukturierung des Projektes: Trennung der zeitlich abgegrenzten
Phasen und der darin stattfindenden inhaltlich bestimmten Aktivitäten.
• gemeinsames Verständnis der Aufgaben und Verantwortlichkeiten.
• Vollständigkeit: um nichts Wesentliches zu übersehen
• Vorhersage (Planung) über das Projektergebnis.
• Basis für Projektkontrolle und Analyse, Harmonisierung der
Erwartungen.
• Erfahrungssammlung (organisationelles Lernen)
6. Literatur 6
Literatur:
[1]
Hansen, Robert; Mendling, Jan; Neumann, Gustaf: Wirtschaftsinformatik.
S. 351-358. 11. Auflage. 2015. de Gruyter, Berlin.
[2]
Bunse, Christian; von Knethen, Antje: Vorgehensmodelle kompakt. 2. Auflage,
Heidelberg, 2008
(Anmerkung: zum Nachschlagen ok, zum lernen etwas knapp)
7. Zusammenhang Architektur – Prjoktmanagement - Vorgehensmodell 7
Bereitstellung eines Informationssystems
…
beinhaltet oft ein Programmierprojekt. Um ein Programmierprojekt
qualitätsgesichert und termingerecht durchzuführen, sind Planungs- und
Führungsaufgaben zu erledigen. --> Projektmanagement.
Für die Programmierung / die Erstellung von Software gibt es (etablierte)
Vorgehensweisen -> Vorgehensmodell
Für die Einbindung von Hardware und Software in ein Unternehmen (ähnlich
komplex wie ein Bauprojekt) gibt es Modelle, die beschreiben, wie das
Gesamtsystem aufgebaut und in das Unternehmen integriert sein kann. -->
Architekturmodell
8. Vorgehensmodell und Projektmanagment 8
Das Vorgehensmodell ist eng an das Projektmanagement gekoppelt.
Es gibt Vorgehensmodelle, die nahtlos an klassisches Projektmanagement
anknüpfen.
9. Vom Phasenmodell zum Vorgehensmodell 9
Planung und Durchführung des Projektes in zeitlich getrennten Projektphasen.
Phasenmodelle::
1. Beispiel: „Flugmodell“ für eine Bachelorarbeit.
2. Beispiel: Phasenablauf nach Saynisch(*) zur Info
3. Beispiel: Allgemeines Phasenmodell.
4. Beispiel: Wasserfallmodell für IT-Projekte (detaillierter als das allgemeine
Modell)
5. Beispiel: V-Modell für die Softwareentwicklung.
Phasenmodelle sind meist linear.
„Ein Phasenmodell für alle Projektarten“ ist schwer definierbar.
Phasenmodelle --> Vorgehensmodelle
• Es gibt Vorgehensmodelle, die nahtlos in klassisches Projektmanagement
integrierbar sind (sequenzielle,…).
• Es gibt Vorgehensmodelle, die klassisches Projektmanagement nicht direkt
unterstützen (agile wie XP, SCRUM…).
11. Phasenmodell nach Saynisch (*) 11
Nr. Phase Ergebnis
1 Problemanalyse Zielkatalog, Aufgabenstellung
2 Grundkonzeption Anforderung, Durchführbarkeitsanalyse
3 Detailkonzeption Teilsystemspezifikation
4 Realisation Bauteile, Prototy, Test …
5 Nutzung Systemeinführung, Betrieb, Wartung
6 Außerbetriebnahme Demontage, Verschrottung, Verkauf…
(*) Heeg, Franz-Josef: Projektmanagement, München 1993, S. 29
12. Wasserfallmodell 12
Typisches Vorgehensmodell für IT-Projekte (z.B. Softwareerstellung):
Wasserfallmodell (*)
(*) z.B. nach Abts/Mülder: Grundlagen 7. Auflage S 324, 6. Auflage S. 302, 5.
Auflage S. 316ff
Entwurf
Konzept
Analyse
Realisierung
Einführung Nutzung
Initialisierung
Im Krisenfall…
Meilensteine
13. Eigenschaften des Wasserfallmodells 13
1. Aktivitäten sind in der vorgegebenen Reihenfolge vollständig durchzuführen.
2. Am Ende jeder Aktivität steht ein fertiggestelltes Dokument
(„dokumentgetriebenes“ Modell).
3. sequenziell, jede Aktivität muss beendet sein, bevor die nächste anfängt.
4. Top-down-Verfahren.
5. einfach und verständlich.
6. Eine Benutzerbeteiligung ist in der Anfangsphase vorgesehen, anschließend
erfolgen der Entwurf und die Implementierung ohne Beteiligung des Benutzers
bzw. Auftraggebers. Änderungen stellen Neuaufträge dar.
14. Vorgehensmodell für die öffentliche Verwaltung 14
V-Modell als Weiterentwicklung des Wasserfallmodells mit besonderem Fokus
auf Qualitätssicherungsaktivitäten wie Verifikation und Validierung:
(*) z.B. Abts/Mülder: 7. Auflage S. 327, 6. Auflage S. 306 oder
Hansen/Neumann, S.372ff.
oder http://de.wikipedia.org/wiki/V-Modell
15. Definition Vorgehensmodell 15
Arbeitsdefinition
Ein Vorgehensmodell (software process model) beschreibt die zur Entwicklung
notwendigen Aktivitäten, die Eingaben (z.B. Zieldefinition, Budgetvorgaben) und
Ausgaben (Ergebnisse, z.B. Projektterminplan, ER-Modell…)
Ein Vorgehensmodell klärt die Frage "was ist wann zu tun".
(Vergleich Projektmanagement)
Ein Vorgehensmodell ist ein Hilfsmittel zur Gestaltung und
Organisation von Softwareentwicklungsprojekten.
Eigenschaften
Auswahl des Vorgehensmodells
Oft wählt der Projektleiter das Vorgehensmodell aus
Größe, Komplexität, Zeitrahmen und Qualifikation der Projektbeteiligten
bestimmen die Wahl des Vorgehensmodells.
16. Vier Familien von Vorgehensmodellen 16
Vier Familien von Vorgehensmodellen:
01 sequenzielle
02 wiederholende
03 prototypische
04 wiederverwendungsorientierte
17. 01 sequenzielle 17
• Phasen, die nacheinander (sequenziell) abgewickelt werden.
• Jede Phase liefert Dokumente.
• Wenn es "Rückkopplungen" gibt: Schleifenmodelle (ROYCE, 1970)
typische Vertreter: Phasen-, Wasserfall- oder Schleifenmodell.
Beispiel: fünfphasiges, sequenzielles, dokumentengetriebenes Schleifenmodell.
gut geeignet, wenn
• das gewünschte Gesamtsystem verstanden ist,
• alle Anforderungen bekannt und stabil sind.
18. Beispiel: fünfphasiges, sequenzielles, dokumentengetriebenes
Schleifenmodell
18
3 Implementierung
2 Entwurf
1 Analyse
4 Integration und
Installation
6 Einsatz
in Anlehnung an [6] S. 5
Ergebnis-
dokument
Ergebnis-
dokument
Ergebnis-
dokument
Ergebnis-
dokument
Abschluss-
dokument
Aktivitäten-
bündel
Meilenstein
Entwicklungsverlauf
Rückschritt
19. 02 wiederholende 19
• Phasen (heißen hier Inkremente) werden wiederholt (iterativ) durchlaufen (*)
• Danach nächste Phase
typische Vertreter: iteratives Vorgehensmodell (BASILI, TURNER 1975) oder
Spiralmodell von Boehm
(*) "…wir wissen noch nicht alles und fangen mit einem Teil des Ganzen an..."
geeignet, wenn
• Teile der Anforderungen unklar,
• Endtermin gehalten werden muss.
Erfahrungen im Projekt können schon im selben Projekt eingesetzt werden.
22. Vorgehensmodell 22
03 prototypische
typische Vertreter: Spiralmodell von Boehm
Sequenzielles Modell mit zusätzlichen kontrollierten Rückschritten
In allen Phasen werden Prototypen erstellt:
• Beispiel Analyseprototyp: zur Überprüfung unklarer Anforderungen.
• Beispiel Entwurfsprototyp: ist die Architektur so gewählt, dass z.B. die
Performance gewährleiste ist? (… kein ER-Modell und kein RDBMS für die
Motorsteuerung von Mini-Drohnen…)
• Beispiel Implementierungsprototyp: User Interface: nur Eingabemasken
ohne Funktion…
Prototyp kann auch aus Papieren und Skizzen bestehen.
23. 04 wiederverwendungsorientierte 23
• Fokus liegt darauf, die Erkenntnisse, Tools, Module, Klassen.. aus dem
aktuellen Projekt für zukünftige Projekte verfügbar zu machen.
• Fokus auf Wiederverwertung senkt Effizienz im aktuellen Projekt und
erhöht die Effizienz in zukünftigen Projekten.
• Geeignet, wenn ganze Produktlinien aufgebaut werden sollen.
• Weniger geeignet bei ambitionierten Zeitplänen im aktuellen Projekt.
Quelle: [6] S. 16
24. Agile Methoden 24
• Gegentrend zu umfangreichen, komplexen, schwerfälligen, unflexiblen
Vorgehensmodellen
• Fokussierung auf (Team-) Kommunikation, Kooperation, Erfahrung.
"Gebe dem Chaos einen Namen und tue so, als hätte es Struktur"
Flexibilität
Detailgrad
SCRUM
V-Modell
XP
iteratives
Modell
CRYSTAL
Prozess-
Fokussierung
Personen-
Fokussierung
Einordnung einiger agiler Methoden:
25. XP (Extreme Programming) 25
• BECK 1995
• leichtgewichtig (wenig Regeln und Dokumente)
• inkrementell, iterativ, prototypisch
• Entwicklung der Anforderungen in "user-stories" und Konkretisierung in "use-
cases"
• Abnahmen durch den Kunden in Testszenarien.
• Zeitplan in Form eines "release-plans" (entspricht dem Projektterminplan)
• wenig Tools erforderlich: Texteditor, Compiler, Projektplanungstool
http://www.scrum-kompakt.de/grundlagen-des-projektmanagements/extreme-programming-xp/
Rahmenwerk aus drei Hauptbestandteilen, vier Grundwerte, 15 Prinzipien…
27. SCRUM 27
• SCHWABER 1995.
• leichtgewichtig (wenig Regeln und Dokumente).
• inkrementell, iterativ, prototypisch.
• versteht sich als Managementansatz (XP - eher die Entwicklerperspektive).
• Anforderungen gelangen nach und nach in sog. Backlogs.
• es gibt durch den Kunden ungestörte Entwicklungszeiten mit Namen
Sprint, Ergebnis ist ein Inkrement.
• es gibt tägliche kurze Abstimmungsmeetings unter den Entwicklern.
• es gibt Abstimmungsmeetings mit dem Kunden mit Namen Sprint-Review
(entspricht Projektstatusmeetings)
• offene Kommunikation unerlässlich
• Inkremente orientieren sich an den Bedürfnissen des Kunden "Das
Wichtigste zuerst".
• Es gibt "Mini-Lessons-Learned" mit Namen Sprint-Retrospektive.
29. Projektmanagement 29
Vorgehen im klassischen Projektmanagement, Vergleich zu SCRUM:
1. Ziele herausarbeiten (in Abstimmung mit dem Kunden, entspricht
Product-Backlog)
2. Teilziele ermitteln. Die ersten Teilziele ergeben die Sprint-Backlogs
3. Projektorganisation (Rollen) festlegen. Projektleiter könnte SCRUM
Master sein.
4. Erforderliche Aktivitäten identifizieren (ggf. mit Kreativitästtechniken:
Brainstorming, Kartenmoderation, 635, Mind Map
5. Aktivitäten strukturieren und auf elementare Aktivitäten herunterbrechen
im Projektstrukturplan.
6. Elementare Aktivitäten mit Ressourcen und Aufwänden versehen.
7. Aktivitäten in Projektterminplan übernehmen und Meilensteine
festlegen.
8. Mit passendem Vorgehendmodell abstimmen (je nach Modell auch
früher)
9. Begleitend Projektdokumentation erstellen.
10.Projektstatus ggf. mit Kunden rückkoppeln, entspricht Sprint Review,
Meilensteine erreichen.
11.Projekt beenden.
30. Tipps zur Vereinfachung der Wahl des Vorgehensmodells
Wenn alle Anforderungen abschließend definiert sind
und nicht mit Überraschungen gerechnet wird:
Wasserfallmodell.
Wenn noch Anforderungen unklar sind oder
unerwartete (technische oder organisatorische) Ereignisse
eintreten können
und das Projektteam gut miteinander arbeiten kann
und alle im Projektteam schon im Projekt und schon im Team
gearbeitet haben:
SCRUM
In der Regel wird SCRUM an die Gegebenheiten im Projekt angepasst:
weniger als 7 Personen
kürzere Sprints (z.B. eine Woche)
31. Besonderheiten der Programmierung: Pair-Programming
In vielen Projekten erfolgreich eingesetzt:
Pair-Programming.
Zwei Programmierer sitzen gleichberechtigt vor einem Bildschirm / vor
einer Tastatur.
Entgegen der Erwartungen wird das nach kurzer Eingewöhnungszeit
von den Programmierern als angenehm erlebt.
Die Codequalität ist deutlich höher.
Es findet schnell eine Leistungsangleichung der Partner statt.
32. Übungsaufgabe
Sie wollen die App für die Touristik-Anwendung entwickeln.
Die Anforderungen sind schon abschließend formuliert,
Ein Mockup liegt vor.
Sie sollen die Anwendung für Android und für iOS entwickeln.
Wie würde das Wasserfallmodell konkretisiert?
33. Fragen zum Verständnis und zur zur Vertiefung
1. Wie können die verschiedenen Vorgehensmodelle strukturiert werden?
2. Was kennzeichnet ein dokumentengetriebenes Modell?
3. Wodurch unterscheiden sich agile Vorgehensmodelle von den
sequentiellen?
4. Wann (... unter welchen Rahmenbedingungen...) setzt man welche Form
von Vorgehensmodell ein?
34. erreichte Lernziele
1. Sie kennen verschieden Vorgehensmodelle.
2. Sie können Vorgehensmodell je nach Rahmenbedingungen im
Projekt bewerten und auswählen.
35. 35
Prof. Dr. rer. nat. Claus Brell
über: http://claus-brell.de/
Content: https://cbrell.de/blog
https://twitter.com/clausbrell
claus.brell@hs-niederrrhein,de