22
Process Mining bei Softwareprozessen Prof. Dr. Ralf Kneuper PVM 2016

Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Process Mining bei Softwareprozessen

Prof. Dr. Ralf Kneuper

PVM 2016

Page 2: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Prof. Dr. Ralf Kneuper

I Dipl.-Mathematiker, Univ. BonnI PhD Computer Science, Univ. of

ManchesterI Professor für Wirtschaftsinforma-

tik, Internationale Hochschule BadHonnef · Bonn (IUBH)

I Freiberuflicher Berater für Software-qualitätsmanagement und Prozess-verbesserung

I (Ko-)Autor mehrerer Fachbücher zuCMMI und Qualitätsmanagement

I Kontakt: [email protected] oder [email protected]

Process Mining 2/22

Page 3: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Agenda

Process Mining

Process Mining und Softwareprozesse

Fallstudie Process Mining von SW-Entwicklungsprozessen

Zusammenfassung und Ausblick

Process Mining 3/22

Page 4: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Agenda

Process Mining

Process Mining und Softwareprozesse

Fallstudie Process Mining von SW-Entwicklungsprozessen

Zusammenfassung und Ausblick

Process Mining 4/22

Page 5: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Process Mining

I Disziplin innerhalb des (Business) Process Managements,die in den letzten Jahren sehr an Bedeutung gewonnenhat

I Ursprünglich für Softwareprozesse entwickelt, heute haupt-sächlich für Geschäftsprozesse eingesetzt

I Grundidee: Nutzung von Ereignisprotokollen (Event Logs),um Informationen über die zu Grunde liegenden Prozesseund deren Bezug zu Prozessmodellen abzuleiten

I Verwandt mit Data Mining und Business Intelligence, be-trachtet aber speziell Analyse von Prozessdaten

I Dadurch Einsatz spezieller Methoden und Algorithmenmöglich

I Prozessbezogene Fragestellungen

Process Mining 5/22

Page 6: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Nutzungsmöglichkeiten von Process Mining

Drei wesentliche Nutzungsmöglichkeiten:I Entdeckung (Discovery)

I Aus den verfügbaren Ereignisdaten wird der tatsächlichdurchgeführte Prozess “entdeckt”

I Konformität (Conformance)I Abgleich des tatsächlich durchgeführten Prozesses gegen

den definierten ProzessI Verbesserung (Enhancement)

I Aus verfügbaren Ereignisdaten werden Verbesserungspo-tentiale identifiziert, z.B. Engpässe

Process Mining 6/22

Page 7: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Format von Ereignisprotokollen (Event Logs)I Prozess besteht aus Fällen

I z.B. Softwareentwicklungsprozess besteht aus der Bearbei-tung von Anforderungen

I Ein Fall besteht aus EreignissenI z.B. Analyse, Genehmigung und Implementierung von An-

forderungenI Ereignisse sind innerhalb eines Falles geordnet, z.B. über

ZeitstempelI Zeitstempel erlauben auch Zusammenführung mehrerer

Ereignisprotokolle des gleichen Prozesses, z.B. aus ver-schiedenen Systemen

I Zeitstempel sind hilfreich, aber grundsätzlich nicht notwen-dig

I Verbreitetes Standardformat: eXtensible Event Stream(XES)

Process Mining 7/22

Page 8: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Agenda

Process Mining

Process Mining und Softwareprozesse

Fallstudie Process Mining von SW-Entwicklungsprozessen

Zusammenfassung und Ausblick

Process Mining 8/22

Page 9: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Process Mining und Softwareprozesse

I Erste Veröffentlichungen zu Process Mining betrachtetenSoftwareentwicklung (Cook/Wolf 1995, 1998)

I Auf Softwareprozesse meist schwieriger anwendbar, daweniger strukturiert, geringere Fallzahlen

I Aber gut anwendbar auf IT-Serviceprozesse, siehe z.B.Business Process Intelligence Challenge (BPIC) 2013,2014

Process Mining 9/22

Page 10: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Process Mining und Softwareprozesse

Grundsätzlich drei Ansatzpunkte für die Nutzung von ProcessMining bei Softwareprozessen:

I Anwendung auf Softwareprozesse selbst (hier Schwer-punkt)

I Anwendung auf die durch IT unterstützten bzw. zu unter-stützenden Anwendungsprozesse, beispielsweise zur Ana-lyse von Anforderungen

I Einsatz vorab zur Identifikation von AnforderungenI Einsatz von frühen Versionen, um Schwierigkeiten zu iden-

tifizieren (insbesondere bei agiler Vorgehensweise geeig-net)

I Anwendung auf Ausführung des Programmcodes als Pro-zess, beispielsweise zur Analyse und Steigerung der Per-formanz

Process Mining 10/22

Page 11: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Process Mining von SW-Entwicklungsprozessen

I Ansätze und Werkzeuge im Wesentlichen identisch mitdenen für andere Geschäftsprozesse

I Besonderheiten: Datenquellen, Vorbereitung der DatenI KM-Werkzeuge wie Git, SubversionI Werkzeuge zum Anforderungsmanagement und Bug Tra-

cker wie BugZilla, FlySprayI Ein “Ereignis” ist dann z.B. ein Commit, eine Statusände-

rung eines Tickets im Bug Tracker oder eine Zuweisung ananderen Verantwortlichen

Process Mining 11/22

Page 12: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Agenda

Process Mining

Process Mining und Softwareprozesse

Fallstudie Process Mining von SW-Entwicklungsprozessen

Zusammenfassung und Ausblick

Process Mining 12/22

Page 13: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Process Mining von SW-Entwicklungsprozessen —Fallstudie

Mehrere kleine Entwicklungsprojekte, die mit der gleichenInstanz des Bug-Tracking-Systems FlySpray arbeiten

I Prozess: Bearbeitung von Tickets in FlySprayI Fall: Bearbeitung eines bestimmten TicketsI Ereignis: In FlySpray festgehaltener Bearbeitungsschritt

Process Mining 13/22

Page 14: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Fallstudie: Ereignisprotokoll

I Wie die meisten vergleichbaren Systeme verwendet Fly-Spray eine relationale Datenbank

I Extraktion der relevanten Daten über geeignete SQL-Abfrage

I Entstehende CSV-Datei konvertiert in XES-Format überExcel-Makro (XLS2XES)

Process Mining 14/22

Page 15: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Fallstudie: Ereignisprotokol im XES-Format

Process Mining 15/22

Page 16: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Fallstudie: Erzeugte Prozessdarstellung

I “offen”, “prüfbereit” etc. sind hier genau genommen nicht diegleichnamigen Zustände, sondern die Ereignisse, dass einTicket diesen Zustand annimmt.

Process Mining 16/22

Page 17: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Fallstudie: Analyse der erzeugtenProzessdarstellung

I Tickets wurden oft nicht auf “prüfbereit” gestellt, bevor siegeschlossen wurden.

I Im Gegenteil wurde ca. die Hälfte aller Tickets direkt vomZustand “offen” nach “closed” überführt.

I Klärung / Entscheidung über gewünschten Ablauf erforder-lich

Process Mining 17/22

Page 18: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Fallstudie: Identifizierte Falldauer

Process Mining 18/22

Page 19: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Fallstudie: Analyse der identifizierten Falldauer

I Ein Teil der Tickets wurde sehr schnell erledigt, beim Restist die Bearbeitungsdauer sehr unterschiedlich

I War zu erwarten, da Priorität und Aufwand der zu bearbei-tenden Tickets ebenfalls sehr unterschiedlich

I Nächster Schritt: Prüfung, wie lange die Tickets in den ein-zelnen Zuständen verbleiben

I Ist für die meisten Zustände nicht relevant, aber Ticketsdürfen nicht zu lange in einem der Zustände “in Arbeit”oder “prüfbereit” sein

I Konnte bis auf einzelne Ausnahmen bestätigt werden

Process Mining 19/22

Page 20: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Beispielergebnisse einer anderen Fallstudie

I “Process Discovery”: Verschiedene Algorithmen liefernteilweise sehr unterschiedliche Prozesse aus den gleichenEreignisdaten

I Konformität zu definiertem Prozess fast immer gegeben,da Ticketsystem keine anderen Prozesse zulässt

I Verbesserungspotentiale:I Tickets als “Projekthülse” verwendet, dementsprechend

sehr lange in Bearbeitung, war aber nur durch Analyseder individuellen Tickets erkennbar. Verbesserung: neueTicket-Kategorie, mit der man diese Tickets einfach heraus-filtern kann.

I Bestimmte Status wurden (fast) nie genutzt. a) Sonderfälle,die tatsächlich selten auftraten, aber als Status benötigtwerden b) übersprungene Schritte, speziell Code Review

Process Mining 20/22

Page 21: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Agenda

Process Mining

Process Mining und Softwareprozesse

Fallstudie Process Mining von SW-Entwicklungsprozessen

Zusammenfassung und Ausblick

Process Mining 21/22

Page 22: Process Mining bei Softwareprozessen - kneuper.de · Process Mining und Softwareprozesse Grundsätzlich drei Ansatzpunkte für die Nutzung von Process Mining bei Softwareprozessen:

Zusammenfassung und Ausblick

I Process Mining ist für IT-Servicemanagementprozesse wieIncident Management problemlos anwendbar, bei Softwa-reentwicklungsprozessen mit Einschränkungen

I Abhängig von Strukturierung und HäufigkeitI Bei iterativem Vorgehen einfacher, da kleinere Arbeits-

schritte, häufigere WiederholungI Hilft beim Verständnis der tatsächlich durchgeführten Pro-

zesse und der verschiedenen verwendeten Varianten

Process Mining 22/22