und Issue-Based Change Management“ · Vorlesung „Softwaretechnologie“ Wintersemester 2012/13...

Post on 31-Oct-2019

2 views 0 download

Transcript of und Issue-Based Change Management“ · Vorlesung „Softwaretechnologie“ Wintersemester 2012/13...

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