Vorlesung „Softwaretechnologie“
Wintersemester 2012/13 R O O T S
3. „Issue Management“ und
„Issue-Based Change Management“
27.10.2012
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-2 R O O T S
„Was ist zu tun?“
Was steht an? Bis wann?
Was ist (wie) wichtig?
Was hängt wovon ab?
Wer arbeitet schon an … ?
Wie lange
darf Aufgabe X dauern?
dauert Aufgabe X schon?
wird Aufgabe Z dauern?
hat Aufgabe Y gedauert?
Erfordert Planung von
Aufgaben & Termine
Prioritäten
Abhängigkeiten
Ressourcen & …-Zuteilung
Zeitmanagement
Soll-Stand (Planung)
Ist-Stand (Realität)
Aufwandsschätzung
Erfahrungsschatz
Motivation: Projektmanagement
Wir besprechen hilfreiche Vorgehensweisen anhand
nützlicher Werkzeuge die sie unterstützen
Vorlesung „Softwaretechnologie“
Wintersemester 2012/13 R O O T S
Projekt = Integrale Prozesse, Aktivitäten, Tasks, Action Items
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-4 R O O T S
Integrale Prozesse (IEEE 1074) / Funktionen (IEEE 1058)
Tätigkeiten die die Dauer des gesamten Projekts umfassen und sich
nicht zyklisch wiederholen
Projektmanagement
Konfigurationsmanagement (SCM)
Aufgabenmanagement (Issue Management)
Qualitätskontrolle (Verifikation und Validierung)
Dokumentation
Training
…
p:Project f1:Function
f2:Function
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-5 R O O T S
Aktivität
Tritt in Phasen auf
Besteht aus
Teilaktivitäten oder
Tasks
Gipfelt in Projekt-
Meilenstein
a1:Activity
p:Project f1:Function
f2:Function
a2:Activity
a2.1:Activity a2.2:Activity
t1:Task t2:Task t3:Task
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-7 R O O T S
Beispiele für Aktivitäten („Workflows“)
Planung
Anforderungserhebung
Anforderungsanalyse
Systementwurf
Objektentwurf
Implementierung
Testen
Auslieferung
Teil-Aktivitäten der
Anforderungsanalyse
Verfeinern von Szenarios
Use-Case-Modell definieren
Objektmodell definieren
Dynamisches Modell definieren
Benutzerschnittstelle entwerfen
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-8 R O O T S
Aufgabe (“Task”)
Kleinste Einheit von
Arbeit, die noch
Gegenstand des
Managements ist
Klein genug für
adäquate Planung
und Verfolgung
Groß genug, um
Mikromanagement
zu vermeiden
p:Project f1:Function
f2:Function
a1:Activity a2:Activity
a2.1:Activity a2.2:Activity
t1:Task t2:Task t3:Task
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-9 R O O T S
Tasks (Aufgaben)
Kleinste Einheit für Verantwortlichkeit des Managements
Atomare Einheit für Planung und Verfolgung
Endliche Dauer, benötigt Ressourcen, produziert verifizierbare Ergebnisse
(Dokumente, Code)
Spezifikation einer Task
Name, Beschreibung der zu leistenden Arbeit
Vorbedingungen, Dauer, benötigte Ressourcen
Erwartete Arbeitsergebnisse
Erfüllungs- / Akzeptanzkriterien für die Arbeitsergebnisse
Mit der Task verbundenes Risiko
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-11 R O O T S
Beispiele für Tasks
Teste das Subsystem “Bla”
Unit test für Klasse „Foo“
Schreibe das Benutzerhandbuch
Schreibe ein Memo über „Linux vs. Windows“
Schreibe ein Protokoll zur letzten Sitzung und verteile es.
Entwickle den Projektplan
Lege den Zeitplan für die „Code Review“ fest.
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-12 R O O T S
Action Item
Definition: Ein Task, der einer Person zugeordnet wird, und der
innerhalb einer Woche oder weniger erledigt sein muss.
Action Items
Tauchen auf der Agenda im „Status“-Abschnitt auf
Klären: Wer? Was? Bis wann?
Beispiel für Action Items:
Das VIP Team entwickelt einen Projektplan bis 18. Sep.
Florian erledigt Unit Tests für Klasse “Foo” bis nächste Woche.
Bob verschickt die nächste Agenda für das Simulationsteam bis 10. Sep.
12:00
3b. Issue Management & Issue-based Change Management R O O T S
JIRA „Issue and Project Tracking“
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-14 R O O T S
Issue Management
Entwicklung konzentriert sich auf einzelne „Issues“
Probleme, die zu lösen sind
Neue Funktionen, Funktionsanpassung, Fehlerbehebung, Portierung, ...
Siehe auch Kapitel über
„Rationale Management“ und
„Prozessmodelle“ („Issue-Based Development“)
Tools für die zentrale Verwaltung aller „issues“ und ihrer
Abhängigkeiten
ClearQuest (kommerzielles Produkt von Rational / IBM, sehr teuer)
Jira (kommerziell, aber freie Installation für bis zu 10 Teilnehmer)
Redmine (open source)
Trac (open source)
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-15 R O O T S
Neue Funktionalität
Verbesserung
Fehlerbeseitigung
Sonstige Aufgabe
Was ist zu tun? „Issues“
local help
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-16 R O O T S
Kurzzusammenfassung
Priorität
Fälligkeitstermin
Betroffene Komponenten
Betroffene Versionen
Zielversion in der die Aufgabe fertig sein soll
Zuständiger
Umgebung in welcher der Fehler auftritt
Beschreibung von „Issues“ (Aufgaben)
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-17 R O O T S
Überblick der „Issues“
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-18 R O O T S
Workflow
Workflow selbst definieren https://confluence.atlassian.com/display/JIRA/Configuring+Workflow
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-19 R O O T S
Detailansicht eines Issues
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-20 R O O T S
Issue-Bearbeitung
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-21 R O O T S
Statusübersicht: „Task Board“
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-22 R O O T S
Planung: „Planning Board“
3b. Issue Management & Issue-based Change Management R O O T S
Issue-Based Change Management
Configuration Management +
Issue Management +
Task Focused GUI
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-24 R O O T S
Issue-Based Change Management (IBCM)
Artefakte
Aktivitäten
Activity
Activity
Activity
Aktivitäten Tätigkeiten die das
Projekt voranbringen
Artefakte Dateien die im Projekt bearbeitet werden
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-25 R O O T S
Änderungen
Special Promo
a.html V5
c.xml V3
b.jpg V8
Aktivitäten
Verwaltung der Aktivitäten
Artefakte
Verwaltung der Artefakte
Issues
Issue Priority Assigned to
Special Promo 1 Terry
Bug 527 2 Sandy
Add GUI button 2 Kim
IBCM: Verbindung zwischen Aktivitäten, Artefakten und Änderungen
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-27 R O O T S
IBCM mit Eclipse: SVN/GIT + Jira + Mylyn
SVN/GIT = Configuration Management = Artefaktverwaltung
Verwaltet Code, Hilfsdateien, Dokumente, ...
Versionen, Branches, Tags
Jira = Issue Management = Aufgabenverwaltung
Verwaltet Aufgaben, Abhängigkeiten, Prioritäten, Termine,
Zuständigkeiten, ...
Projekte, Komponenten, Versionen, Releases, …
Manuelle Zeiterfassung (Plan / Real)
Mylyn = Task focused UI = Aufgabenzentrierte graphische Oberfläche
Merkt sich die Artefakte, die im Rahmen einer Aufgabe geöffnet werden
Zeigt nur diese relevanten Artefakte an
Kann dies auch für Aufgaben aus Jira & Co.
Automatische Zeiterfassung (mit Eclipse an einem Issue gearbeitete Zeit)
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-28 R O O T S
Normale Ansicht Fokusierte Ansicht
Mylyn Task-Focused UI
Mylyn inaktiv Mylyn aktiv
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-30 R O O T S
Mylyn > Task-Focused UI
Anzeige “relevanter” Dateien
Relevanzbestimmung
Datei offen Relevanz 1 (maximal)
Datei geschlossen Relevanz 0
oder
“Vergessen” mit zur verstrichenen Zeit exponentiellen Relevanzabnahme
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-31 R O O T S
Mylyn Automatische Zeiterfassung
Erfasst wie lange man aktiv an einem Task gearbeitet hat
Automatischer Eintrag als “Work log”
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-32 R O O T S
Mylyn Task context
Mylyn „task context“ an eine Jira Issue binden
Task Context = Dateien die dieser Issue braucht
Durch „Attach Context“ steht der Kontext nach „submit“ jedem anderen
Entwickler zur Verfügung
Wenn ein Kollege anfängt, an dem Task zu arbeiten wird seine Anzeige
automatisch auf den gespeicherten Kontext fokusiert
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-33 R O O T S
Mylyn Jira-Plugin installieren
Auf rechte, untere Ecke achten!
Installation kann einige
Minuten dauern. Nicht auf den
„Cancel“ Knopf des „Add Task
Repository“-Fensters klicken.
Danach wird eine
Liste angezeigt.
JIRA aus der Liste
wählen.
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-34 R O O T S
Mylyn Add Task Repository
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-35 R O O T S
Mylyn Selektion von Aufgaben aus Jira (1)
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-36 R O O T S
Mylyn Selektion von Aufgaben aus Jira (2)
In diesem
Fall wollen
wir nur die
offenen
Issues
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-37 R O O T S
Mylyn Übersicht definierter Aufgaben
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-38 R O O T S
Mylyn Symbole
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-39 R O O T S
Mylyn Editor für einzelne Aufgaben
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-47 R O O T S
Wie installiere ich Mylyn?
Mylyn ist Teil von fast jeder vorkonfigurierten Eclipse-Variante
http://www.eclipse.org/downloads/compare.php
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-48 R O O T S
Installation über Eclipse 1/2
Download URL auf http://www.eclipse.org/mylyn/downloads/
nachschlagen
In Eclipse
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-49 R O O T S
Installation über Eclipse 2/2
3b. Issue Management & Issue-based Change Management R O O T S
Persönliches Zeitmanagement
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-51 R O O T S
Prioritäten richtig setzen
Wichtigkeit ≠ Dringlichkeit
Wichtig: Bringt Sie Ihren Zielen näher
Dringend: Erfordern unmittelbare Aufmerksamkeit, ohne allzu großen
Einfluss auf Ihre Ziele
Wichtigkeit > Dringlichkeit
So verlieren Sie sich nicht in vielen dringlichen, aber unwichtigen Aufgaben
Aufgaben in Prioritätenklassen A, B, C, D einteilen
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-52 R O O T S
Das Eisenhower-Prinzip
Sind die zu erledigenden Dinge wichtig oder dringend?
Wichtig: Bringt Sie Ihren Zielen näher
Dringend: Erfordern unmittelbare Aufmerksamkeit, ohne allzu großen
Einfluss auf Ihre Ziele
DRINGEND
WICHTIG
A wichtig und
dringend B wichtig
D weder noch
C dringend
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-53 R O O T S
Eisenhower-Reihenfolge
A-Priorität:
Muss heute noch erledigt werden, da dringend und wichtig.
B-Priorität:
Muss nicht heute erledigt werden, aber regelmäßig Zeit dafür
nehmen, da B-Aufgaben Sie Ihren Zielen näher bringen.
C-Priorität:
Ruhig bleiben und C-Aufgaben weitergeben oder ablehnen.
So haben Sie mehr Zeit für B-Aufgaben.
D-Priorität:
In den Papierkorb, außer sie verschaffen Ihnen Entspannung.
(bewusst und zeitlich begrenzt für D-Aufgaben entscheiden)
© 2000-2012 Dr. G. Kniesel Vorlesung „Softwaretechnologie“ (SWT) Seite 3-54 R O O T S
Kieselprinzip
Immer an der Nr.1 ihrer A-Aufgaben arbeiten
Täglich an einer langfristigen B-Aufgabe arbeiten
?
Es gibt nichts Gutes, außer: Man tut es!
Erich Kästner
Und immer dran denken
3b. Issue Management & Issue-based Change Management R O O T S
Zeitplanung > Werkzeuge
Varianten von Abhängigkeitsgraphen
Aktivitätengraph
Projektmeilensteine sind Knoten
Tasks sind Kanten
Zeitplanungsdiagramm (Gant und PERT-Diagramme)
Tasks und Meilensteine sind Knoten
Kanten repräsentieren zeitliche Abhängigkeiten
Details siehe nächste Folien (anhand eines Beispiels)
Aktivität 1 : Baustelle vorbereiten
Task 1.1: Vermessen
Task 1.2: Baugenehmigung
Task 1.3: Ausschachten
Task 1.4: Materialbeschaffung
Aktivität 2: Rohbau
Task 2.1: Fundament
Task 2.2: Außenwände
Task 2.3: Ext. Klempnerarbeiten
Task 2.4: Ext. Elektroinstallation
Task 2.5: Verputzen
Task 2.6: Außenanstrich
Task 2.7: Aussentüren
Aktivität 3 : Innenausbau
Task 3.1: Int. Klempnerarbeiten
Task 3.2: Int. Elektroinstallation
Task 3.3: Esstrich
Task 3.4: Innenanstrich
Task 3.5: Bodenbeläge
Task 3.6: Innentüren
Ein Haus bauen Aktivitäten
Ein Haus bauen Aktivitätsgraph
1.2 1.1
1.4
1.3
2.1
2.2
3.1
3.2
3.3
3.4
2.3
2.4
2.5
2.6
2.7
3.5
3.6
Äußere Klempnerarbeiten Innere Klempnerarbeiten Außenwände
Fundament
Materialbeschaffung
Ausschachtung
Baugenehmigung beantragen Vermessen
START
Äußere Elektroinstallation
Verputzen
Außenanstrich
Außentüren
Innere Elektroinstallation
Esstrich
Bodenbeläge Innenanstrich
Innentüren
ENDE
Zeitplanungsdiagramme Hilfe durch Projektverwaltungswerkzeuge
Gantt Diagramm (Task Zeitleiste)
Zeigt Projektaktivitäte und -tasks parallel
Zeigt Dauer und Abhängigkeiten
Ermöglichen dem Projektleiter nachzuvollziehen, welche Tasks gleichzeitig
bearbeitet werden können
PERT Diagramm (Zeitplan)
Grafische Repräsentation von Abhängigkeiten zwischen Tasks und
Milestones
PERT = Program Evaluation and Review Technique
Ein PERT-Diagramm geht von einer Normalverteilung der Taskdauer aus.
Nützlich für Analyse kritischer Pfade (‚Critical Path Analysis‘)
CPM = Critical Path Method
Kritischer Pfad ist Folge von Aktivitäten deren Verzögerung den gesamten
Ablauf verzögern würde
Gantt-Chart Beispiel
( Gantt-Charts sind benannt nach dem amerikanischen Ingenieur H. L. Gantt (1861-1919)
PERT-Charts „Spielraum“ und „Kritischer Pfad“
Zeitlicher Spielraum (‚slack time‘)
geplante Startzeit minus früheste mögliche Startzeit
Spielraum 1 = Startdatum 2 – (Startdatum 1 + Dauer 1)
Kritischer Pfad (‚critical path‘)
Der Pfad in einem Projektplan, für den der Spielraum an jedem Knoten (Task/Aktivität) null ist.
Auf dem kritischen Pfad gibt es keinen Spielraum für Tasks/Aktivitäten.
Jede Verzögerung einer Aktivität / Task auf dem kritischen Pfad verzögert das gesamte Projekt!
Aktivität1 / Aufgabe1
Spielraum 1
Dauer 1
Startdatum 1
Aktivität2 / Aufgabe2
Spielraum 2
Dauer 2
Startdatum 2
ist
Voraussetzung
für
16.02.2008
22.01.2008
Ein Haus bauen PERT Diagramm (Aktivitäten auf kritischen Pfaden sind rot markiert)
START
Genehmigungen
beantragen
Ausschachtung Material
beschaffen
Fundamente
legen
Aussenwände
Vermessen
Klempnerarbeiten
(innen)
Elektroinstallation
(innen) Esstrich Bodenbeläge
Innenanstrich
Innentüren ENDE Elektroinstallation
(aussen) Klempnerarbeiten
(aussen) Verputzen
27.08.2007
27.08.2007
27.08.2007
17.09.2007 01.10.2007 15.10.2007
05.11.2007
03.12.2007 21.12.2007 11.01.2008
22.01.2008
08.02.2008 03.12.2007 17.12.2007 31.12.2007
0
0
0
15
0
10
12
3
0
10
0
15
0
12
0
15
0
9
0
20
12
10
12
10
12
8
0
18
0
11
0
7 0
0
Aussenanstrich
12.01.2008
12
5
Aussentüren
19.01.2008
15
6