Process Mining bei hybriden Vorgehensmodellen zur Umsetzung von Unternehmenssoftware
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Informatik Spektrum (2021) 44:178–189 https://doi.org/10.1007/s00287-021-01359-7 HAUPTBEITRAG Process Mining bei hybriden Vorgehensmodellen zur Umsetzung von Unternehmenssoftware Beitrag für das Informatik Spektrum, 2021, Sonderheft „Innovation in der Software Entwicklung“ Sascha Alpers1 · Thomas Karle2 · Clemens Schreiber3 · Frank Schönthaler3 · Andreas Oberweis1,3 Angenommen: 13. April 2021 / Online publiziert: 12. Mai 2021 © Der/die Autor(en) 2021 Zusammenfassung Process Mining hat sich in den vergangenen Jahren zur Analyse von Prozessdaten etabliert und wird in verschiedenen Kontexten, wie beispielsweise Industrie 4.0, eingesetzt. Die Potenziale dieser Technologie liegen jedoch nicht nur in der Analyse von Wertschöpfungsprozessen im Kontext von Produktion und Verwaltung. Die Technologie kann darüber hinaus auch für die Verbesserung des Vorgehens bei den dazugehörigen – meist großen und komplexen – Softwareprojekten genutzt werden. Für die Umsetzung der für Industrie-4.0-Prozesse erforderlichen Unternehmenssoftware werden häufig agile oder hybride Vorgehensmodelle eingesetzt. Software Innovations unterstützen die Umsetzung in zweierlei Hinsicht. Software Innovations bezeichnen zum einen Innovationen für das Software Engineering durch neue Vorgehensmodelle, Methoden und Werkzeuge. Zum anderen umfasst der Begriff Innovationen, welche durch (neuartige) Software ermöglicht werden. Ausgehend von diesen beiden Aspekten von Software Innovations beschreibt der Beitrag, wie Process Mining zur Analyse und Verbesserung des Vorgehens bei Unternehmenssoftwareprojekten verwendet werden kann. Der Schwerpunkt liegt auf der Anwendung und Verbesserung von hybrid durchgeführten Entwicklungs- und Konfigurationsprojekten. Das vorgestellte Verfahren kann jedoch auch für klassisch oder agil durchgeführte Projekte angewendet werden. Es dient generell dazu, den Prozess zur Softwareerstellung kontinuierlich, anhand von Erkenntnissen aus laufenden und abgeschlossenen Projekten, automatisiert zu analysieren und zu verbessern. Hierzu wird exemplarisch der hybride Referenzprozess aus dem Vorgehensmodell eines mittelständischen Software- und Beratungsunternehmens als Anwendungsfall betrachtet. Sascha Alpers Einleitung alpers@fzi.de Thomas Karle Bei der Softwareerstellung als Teil des Software Enginee- thomas.karle@promatis.de ring hat in den letzten Jahrzehnten die Methodenvielfalt deutlich zugenommen. Das in den 1980er-Jahren entwickel- Clemens Schreiber clemens.schreiber@kit.edu te Cleanroom-Software-Engineering [1], welches formale Methoden wie die Verifikation auf Basis von Modellen mit Frank Schönthaler frank.schoenthaler@promatis.de iterativen Entwicklungszyklen und statistischen Testverfah- ren verbindet, findet aufgrund von Kosten- und Zeitrestrik- Andreas Oberweis tionen kaum noch Anwendung. Stattdessen sind agile Me- andreas.oberweis@kit.edu thoden gegenwärtig. Auch im Bereich des Projektmanage- 1 FZI Forschungszentrum Informatik, Haid-und-Neu-Straße ments sind agilere Methoden entstanden. Die Vielzahl an 10–14, 76131 Karlsruhe, Deutschland Methoden hat jedoch auch dazu geführt, dass es schwie- 2 PROMATIS software GmbH, Pforzheimer riger wurde zu identifizieren, welche Faktoren für erfolg- Straße 160, 76275 Ettlingen, Deutschland reiche Softwareprojekte entscheidend sind. Das Ermitteln 3 Karlsruher Institut für Technologie, von Faktoren, die zu einem Projekterfolg oder -misserfolg Kaiserstraße 12, 76131 Karlsruhe, Deutschland führen, ist besonders wichtig für Projekte zur Implementie- K
Informatik Spektrum (2021) 44:178–189 179 Abb. 1 Zusammenhang Vorgehensmodell, Methode und Prozess rung von Unternehmenssoftwarelösungen, da es sich hier Dokumentation dazu führen, dass je nach Konstellation die in der Regel um sehr komplexe und unternehmenskritische Projektergebnisse besser oder schlechter ausfallen. Für die Anwendungssysteme handelt, deren Umsetzungen nahezu Identifikation solcher Konstellationen und die Ableitung der immer große Risiken mit sich bringen. richtigen Verbesserungsmaßnahmen für das Vorgehensmo- Da bei der Dokumentation von Vorgehensmodellen die dell selbst oder seine Umsetzung kann Process Mining als Beschreibung der entsprechenden Prozesse ein zentraler Unterstützung eingesetzt werden. Aspekt ist (vergleiche Abb. 1), bietet es sich an, das Vor- Die aktuell im Rahmen von vielen Softwareerstellungs- gehen durch Prozessmodelle zu beschreiben. Aus diesem projekten eingesetzten Werkzeuge, wie die Versionsverwal- Grund hat die PROMATIS software GmbH ihr hauseige- tung Git und die Projekt- und Aufgabenverwaltung Jira, nes Vorgehensmodell IQPM (Integrated Quality Procedure können eine Datenbasis zur Rekonstruktion des Erstellungs- Model) mit einer Petri-Netz-basierten Notation dokumen- prozesses liefern. Dazu werden aus den Werkzeugen detail- tiert [2]. PROMATIS ist ein Software- und Beratungshaus, lierte Ereignisprotokolle (Event-Logs) extrahiert und an- das seit mehr als 20 Jahren Produkte und Dienstleistun- schließend mithilfe von Process-Mining-Verfahren analy- gen im Geschäftsprozess- und Unternehmenssoftwareum- siert. Dabei kann in einem ersten Schritt betrachtet werden, feld anbietet. Das konkrete gelebte Vorgehen bei durchge- ob der tatsächlich gelebte Prozess dem definierten Prozess führten Projekten, welches sich an den Prozessen des Vor- des Vorgehensmodells entspricht. Weiterhin können neben gehensmodells orientiert, kann mithilfe von Process Mining dem Prozessablauf auch die Dauer der einzelnen Aktivitä- untersucht werden, um Erkenntnisse zu gewinnen, wie die- ten und die Zusammenarbeit der Projektmitglieder unter- ses Vorgehen ggf. verbessert werden kann. Beispielsweise sucht werden. Liegen diese Daten von mehreren Entwick- können unterschiedliche Schwerpunkte und Intensitäten in lungsprojekten vor und gibt es zusätzlich Informationen be- verschiedenen Projekten bei den einzelnen Aktivitätstypen züglich der Qualität der Ergebnisse der verschiedenen Pro- wie dem Requirements Engineering, dem Design, der Kon- jekte, können daraus Schlüsse für die Weiterentwicklung figuration und Entwicklung, der Testfallerstellung und der von Best Practises abgeleitet werden. Beispielsweise lassen K
180 Informatik Spektrum (2021) 44:178–189 Tab. 1 Übersicht über veröffentlichte Anwendungsfälle für Process Mining in Softwareprojekten Artikel Anwendungsfall PM Verfahren Werkzeug Datenquelle [6] Fünf Teilprojekte zur Weiterentwicklung der Discovery, Confor- ProM Konfigurationsmanagementsystem Open-Source-Software ArgoUML mance, Enhancement (Subversion) [7] Fehlerbearbeitungsprozess bei der Entwicklung Discovery ProM Konfigurationsmanagementsystem einer kommerziellen Software [8] 2000 kommerzielle Softwareentwicklungsprojek- Discovery, Confor- ProM Internes Projektüberwachungssystem te über 5 Jahre mance [9] Fehlerbearbeitungsprozesse und Aufgabenma- Discovery, Enhance- ProM Softwarerepositorium (SourceForge), nagement in der Open-Source-Softwareentwick- ment Bugtracker, Mailarchiv lung [10] Fehlerbearbeitungsprozesse und Aufgabenma- Discovery, Confor- Disco Bugtracker, Kommunikationsplatt- nagement bei Softwareprojekten in der Lehre mance, Enhancement form, Versionskontrollsystem [11, Weiterentwicklung und Pflege eines Computerre- Discovery, Enhance- ProM, Client/Server Kommunikation 12] servierungssystems in der Tourismusindustrie ment Disco [13] Fehlerbehebungsprozess bei mehreren kleinen Discovery, Enhance- Disco Bugtracker Softwareentwicklungsprojekten ment [14] Fehlerbearbeitungsprozesse und Aufgabenma- Discovery, Enhance- ProM, Softwareprojektmanagementplattform nagement bei 9 Sprints innerhalb von 4 Wochen ment Disco (Microsoft TFS), Bugtracker [15] Aufgabenmanagement und Codeanpassungen bei Discovery, Enhance- ProM, Softwareprojektmanagementplattform 2 agilen Softwareentwicklungsprojekten ment Disco (Jira) [16] Aufgabenmanagement bei Softwareprojekten in Discovery, Confor- ProM Integrated Development Environment der Lehre mance, Enhancement (Eclipse) [17] Aufgabenmanagement und Codeanpassungen bei Discovery, Enhance- Disco, Softwareprojektmanagementplattform Softwareprojekten in der Lehre ment Celonis (GitLab) sich Muster ableiten, die eine Projektdurchführung positiv stellung einfacher und vielseitiger. Neben der Modellierung beeinflussen können, oder Abläufe identifizieren, die ver- des ausgeführten Ablaufs im Rahmen der Softwareerstel- mehrt zu problematischen Entwicklungen führen. lung (Process Discovery), kann der durchgeführte Prozess Im nachfolgenden Abschnitt wird der Stand der For- in Bezug auf den geplanten Ablauf überprüft (Conforman- schung und Praxis beschrieben. Dabei werden verschiede- ce Checking) und die Prozessperspektive, z. B. durch die ne Anwendungsfälle betrachtet, bei denen unterschiedliche Betrachtung des zeitlichen Ablaufs und dem Einsatz von Process-Mining-Verfahren und Datenquellen zum Einsatz Ressourcen erweitert werden (Process Enhancement) [5]. kommen. Im dritten und vierten Abschnitt werden ein hy- In Tab. 1 werden verschiedene Anwendungsbeispiele aufge- brides Vorgehensmodell aus der Praxis zur Implementie- führt, die sich jeweils in Bezug auf die gewählten Process- rung einer Unternehmenssoftware betrachtet und Möglich- Mining-Verfahren, die verwendeten Werkzeuge und die Da- keiten zur Einbindung von Process-Mining-Verfahren er- tenquellen unterscheiden. Da es sich bei den Beispielen läutert. Im fünften Abschnitt wird der vorgeschlagene An- um Forschungsprojekte handelt, wird für die Analyse der satz an einem Anwendungsbeispiel verdeutlicht. Es folgt Prozessdaten am häufigsten auf die Open-Source-Software ein Fazit mit einem Ausblick. ProM1 zurückgegriffen. Ein weiteres häufig verwendetes Werkzeug ist Disco,2 bei dem es sich um eine kommer- zielle Software handelt, die vor allem Vorteile durch eine State of the Art einfach zu bedienende Nutzeroberfläche aufweist. Jedoch ist die Funktionalität von Disco gegenüber ProM deutlich Der Einsatz von Prozessdaten zur Analyse von Abläufen eingeschränkter und ermöglicht beispielsweise kein Con- zur Softwareerstellung wurde zum ersten Mal 1995 von formance Checking. Allerdings stellen Process Discovery Cook und Wolf vorgeschlagen [3]. Cook und Wolf schlu- und Process Enhancement auch die am häufigsten ange- gen zunächst Verfahren aus dem Bereich des maschinellen wandten Verfahren bei den bisherigen Forschungsarbeiten Lernens vor, um mithilfe von Prozessdaten den Ablauf der dar. Softwareentwicklung zu modellieren. Drei Jahre später er- Damit Process-Mining-Verfahren überhaupt eingesetzt schien die erste Fallstudie zur Anwendung der vorgeschla- werden können, ist die hinreichende Verfügbarkeit von Pro- genen Verfahren [4]. Aber erst durch die Weiterentwicklung von Process-Mining-Algorithmen und -Werkzeugen wurde 1 www.promtools.org. die Möglichkeit der Analyse von Prozessen zur Softwareer- 2 www.fluxicon.com/disco. K
Informatik Spektrum (2021) 44:178–189 181 zessdaten eine grundlegende Voraussetzung. Bei den auf- durch wird vor allem ein Vergleich der Prozesse erschwert. geführten Anwendungsbeispielen in Tab. 1 werden eine (3) Eine weitere Herausforderung ist die Zuordnung von Vielzahl an Datenquellen vorgeschlagen und getestet. Pro- Aktivitäten, wie beispielsweise Codeänderungen, zu den jektmanagementwerkzeuge und Softwarerepositorien die- übergeordneten Teilprozessen. Die hybride Softwareerstel- nen häufig als wichtigste Datenquelle, dazu zählen bei- lung, bei der lineare und agile Vorgehensweisen mitein- spielsweise Subversion [6], SourceForge [9], Microsoft TFS ander verknüpft werden, bietet für die genannten Heraus- [14], Jira Software [15] und GitLab [17]. Generell ist aber forderungen mögliche Lösungsansätze. Im folgenden Ab- auch die Verwendung mehrerer verschiedener Datenquel- schnitt wird die hybride Softwareentwicklung aus Praxis- len möglich (siehe Tab. 1). Die Wahl der Datenquelle be- sicht betrachtet. Insbesondere wird beschrieben, wie Unter- stimmt auch, ob ein Softwareprojekt als kompletter Prozess nehmenssoftwareprojekte mithilfe eines hybriden Ansatzes betrachtet werden kann oder nur einzelne Teilprozesse. Ei- umgesetzt werden können und wie Process Mining dabei nige Anwendungsfälle beziehen sich nur auf Teilprozesse zur Qualitätssicherung beitragen kann. der Softwareentwicklung, wie das Fehlermanagement [7, 13] und die Softwarenutzung [11, 12]. Häufig ist auch ei- ne manuelle Anpassung der Beschriftung der Aktivitäten Vorgehensmodelle für notwendig, um die Bezeichnungen zu vereinheitlichen und Unternehmenssoftware wiederkehrende Abläufe erkennen zu können. In diesem Zusammenhang, bietet beispielsweise das Framework for Für die Durchführung von Softwareentwicklungsprojekten Analysing Software Repositories (FRASER) [9] Unterstüt- existiert eine Vielzahl von Methoden, Vorgehensmodellen zung bei der Auswahl von Datenquellen und der Zusam- und Prozessen (Prozess im Sinne von Anordnung der Ak- menführung von Daten.3 tivitäten in einer bestimmten für eine Vielzahl von Projek- Neben der klassischen linearen Softwareerstellung, bei ten empfohlenen Reihenfolge). Der Zusammenhang wird in der die Prozesse stark strukturiert sind, gibt es bereits vie- Abb. 1 beschrieben, besonders hervorgehoben ist das Vorge- le Fallstudien, die Process Mining auch bei einem agilen hensmodell, dessen kontinuierliche Verbesserung im Fokus Vorgehen einsetzen [10, 11, 14–16]. Eine Übersicht zu For- des Beitrags steht. Bei der Implementierung von Unterneh- schungsartikeln zum Thema Process Mining in agilen Soft- menssoftware steht man derzeit vor vielen neuen Heraus- wareprojekten gibt [18]. In Bezug auf die agile Software- forderungen und Konflikten, die es in solchen Projekten zu erstellung können zum Beispiel mithilfe von Process Mi- meistern und aufzulösen gilt [19]. Einerseits geht auch hier ning die Scrum-Rollen identifiziert, die Priorisierung und der Trend beim Vorgehen in der Umsetzung hin zum Ein- Zuordnung der ausstehenden Aufgaben vorgenommen und satz agiler Methoden. Andererseits wird jedoch auch eine fi- die Zusammenarbeit der Teammitglieder analysiert werden nanzielle Planungssicherheit gefordert und – zumindest bei [15]. Eine weitere Möglichkeit besteht darin, den Grad der einzelnen Teilkomponenten einer Unternehmenssoftware – Agilität eines Projektes zu bewerten [14]. Dennoch exis- ein gegebener Scope an Funktionalität, der umgesetzt sein tiert auch eine Vielzahl an Herausforderungen, die insbe- muss, bevor ein System dann in Betrieb genommen werden sondere auf die Analyse agiler Softwareprojekte zutreffen. kann. Dies ist vor allem in Bereichen wie Finanzwesen oder (1) Eine wesentliche Herausforderung ist die Datenverfüg- Supply-Chain-Management der Fall. Hier müssen vor einer barkeit und Nachverfolgung der Implementierungsschrit- Inbetriebnahme viele entsprechende Detailfunktionalitäten te. Dies liegt vor allem daran, dass die Teammitglieder konform zu gegebenen gesetzlichen Anforderungen imple- kontinuierlich ihr Vorgehen beschreiben und dokumentie- mentiert und getestet sein. Bei diesen Teilbereichen eines ren müssen. Eine Alternative stellt die automatische Nach- Unternehmenssoftwareprojekts ist in vielen Fällen nach wie verfolgung von Codeänderungen oder Zwischenstandsän- vor ein Scope-basierter Ansatz erforderlich, da der Scope derungen dar. (2) Doch auch wenn es für die Dokumen- hier in weiten Teilen nicht flexibel anpassbar ist. Hier wer- tation von Softwareprojekten eine große Anzahl an Unter- den oft weiterhin klassische Vorgehensmodelle eingesetzt, stützungswerkzeugen gibt, bleibt weiterhin das Problem, d. h. eine phasenorientierte und vorwiegend lineare Vorge- dass agile Prozesse zur Softwareerstellung wenig struktu- hensweise gewählt, wie beispielsweise das Wasserfallm- riert sind und sich die Ausführungen der Entwicklungs- odell oder das V-Modell. Bei Unternehmenssoftwarepro- prozesse sehr stark voneinander unterscheiden können. Da- jekten in den zuvor genannten Bereichen kommen häufiger auch nichtsequentielle Weiterentwicklungen zum Einsatz, 3 Die Extraktion von Daten aus Softwarerepositorien stellt wiederum wie beispielsweise das Spiralmodell, das zu den iterativen einen eigenen Forschungsbereich dar, bei dem es allgemein um die Modellen gehört. Analyse von Softwareentwicklungsprozessen geht. Hier sei auf die In- Für andere Bereiche, die ebenfalls durch die Imple- ternational Conference on Mining Software Repositories (https://www. msrconf.org/) verwiesen, die als Teilkonferenz der ICSE regelmäßig mentierung entsprechender Unternehmenssoftwarekom- stattfindet. ponenten abgedeckt werden sollen, können die Vorteile K
182 Informatik Spektrum (2021) 44:178–189 Abb. 2 High-Level-Übersicht des Vorgehensmodells IQPMTM von PROMATIS durch den Einsatz agiler Methoden deutlich besser genutzt von Geschäftsprozessen im Bereich Human-Capital-Ma- werden. Dies sind beispielsweise Komponenten wie ein nagement der Fall. Für die Verwaltung von Personaldaten zu implementierender Webshop. Dieser muss zwar auch und den dazugehörigen Prozessen sind entsprechende ge- Grundfunktionalitäten bereitstellen und entsprechenden setzliche und datenschutztechnische Anforderungen vor gesetzlichen Anforderungen genügen, jedoch gibt es bei einer Inbetriebnahme einer neuen Unternehmenssoftware der Umsetzung der Detailfunktionen viele Freiheitsgrade, ohne Einschränkungen umzusetzen. Bei Prozessen, welche die im Laufe eines Projekts durch eine agile Vorgehens- beispielsweise die Organisation der Weiterbildung von Mit- weise zu einem idealen Ergebnis geführt werden können. arbeitern im Unternehmen betreffen, kann die Umsetzung Auch beispielsweise bei der Umsetzung von Enterprise- deutlich flexibler erfolgen. Performance-Management-Lösungen oder sonstigen eher Um mit diesen aktuellen Rahmenbedingungen in Pro- Reporting-orientierten Unternehmenssoftwarekomponen- jekten umgehen zu können, hat PROMATIS sein bisheriges ten kommen die Vorteile einer agilen Vorgehensweise aus Vorgehensmodell IQPMTM (PROMATIS software GmbH, den gleichen Gründen besser zum Tragen. Ettlingen, Deutschland) von einem Spiralmodell auf ein Zwischen diesen beiden Ansätzen – phasenorientiert auf Vorgehen umgestellt, in dem für einzelne Teilbereiche der einen und agil auf der anderen Seite – entwickeln sich Scope-basierte, hybride und agile Umsetzungen erfolgen. zunehmend hybride Vorgehensmodelle, welche Konzepte Abb. 2 zeigt die grobe Struktur des Vorgehensmodells. aus beiden Ansätzen kombinieren. Beispielsweise werden Bei einem Unternehmenssoftwareprojekt erfolgt zunächst Konzepte wie Sprints und Daily-Standup-Meetings aus eine grobe Bewertung und Einteilung in Teilprojekte, die dem Scrum-Umfeld in ein phasenorientiertes Gesamtvor- entweder klassisch Scope-basiert, hybrid oder agil umge- gehen eingebettet. Auch für diesen hybriden Ansatz gibt setzt werden sollen. Im Anschluss werden die Teilprojekte es Anwendungsfälle, bei dem dieser besonders geeignet unterschiedlich, entsprechend dem gewählten Typ, initiiert, ist. Dies sind in der Regel Anwendungsfälle, bei denen umgesetzt und am Ende in Betrieb genommen. Abschlie- einerseits eine vorgegebene Menge an Mindestanforderun- ßend erfolgt ein Review des Gesamtprojekts. gen meist rechtlich oder datenschutztechnisch vorgegeben Zur Modellierung des Vorgehensmodells eigenen sich ist, es aber darüber hinaus einen großen flexibel umsetz- verschiedene Modellierungssprachen. Wir verwenden in baren Teil gibt. Dies ist beispielsweise bei der Umsetzung diesem Beitrag eine Modellierung mithilfe des Horus K
Informatik Spektrum (2021) 44:178–189 183 Abb. 3 Beispiel für ein hybrides Vorgehen. (aus dem Vorgehensmodell IQPMTM von PROMATIS) Business Modeler (www.horus.biz). Sie basiert auf Petri- wird einerseits eine Konfiguration von betriebswirtschaft- Netzen und verwendet verschiedene Erweiterungen wie lichen Standardmodulen durchgeführt, und es erfolgt an- die Updateverbindung (doppelt gerichtete Kante) und die dererseits eine Entwicklung von erforderlichen Zusatzkom- Leseverbindung (nicht gerichtete Kante) [2]. ponenten und Schnittstellen. Darüber hinaus wird jedoch Im Rahmen des Vorgehensmodells ist eine individuelle auch die Erstellung und Aktualisierung von Anforderun- Anpassung an spezifische Rahmenbedingungen des jeweili- gen, Designspezifikationen, Testfällen und sonstigen Doku- gen Projekts vorgesehen. Darüber hinaus müssen bei einem mentationsartefakten agil durchgeführt. Dies erfolgt – an- Projekt nicht zwangsläufig alle 3 Grundarten vertreten sein, gelehnt an Scrum – durch eine für das Projekt festgelegte d. h. im einfachsten Fall werden auch Projekte durchgeführt, Anzahl von Sprints. Nach jedem Sprint ist eine aktuelle bei denen gegebenenfalls nur eine der 3 dargestellten Arten Version eines Prototyps der umzusetzenden Unternehmens- für die Umsetzung gewählt wird. Da die Umsetzung mit ei- softwarelösung – zumindest in Teilen – verfügbar. Dieser nem hybriden Vorgehen im Bereich Unternehmenssoftware besteht aus konfigurierten Standardmodulen, entwickelten aus den oben genannten Gründen für die meisten Praxisfäl- individuellen Komponenten und Integrationskomponenten. le anwendbar ist, wird dieses für die weitere Betrachtung Zusätzlich werden jedoch auch die weiteren Artefakte be- im Rahmen dieses Beitrags genutzt. reitgestellt, die im Rahmen des Sprints ebenfalls weiter- In Abb. 3 wird beispielhaft ein angepasstes Vorgehen entwickelt wurden. Dies sind Zuordnungen von Anforde- für ein rein hybrides Projekt dargestellt. Das entsprechen- rungen zu Prozessen, Designspezifikationen und Testfällen. de Unternehmenssoftwareprojekt ist grob in die 3 Phasen Die Weiterentwicklung dieser Artefakte führt am Ende aller Scoping, Implementation und Transition & Go Live struktu- geplanten Sprints zu den finalen Dokumentationsartefakten riert. Die Implementierung ist im dargestellten Beispiel agil der Anwender- und Systemdokumentation. Im Sprint-Re- vorgesehen, jedoch in die generelle Phasenstruktur einge- view wird der aktuelle Stand der Gesamtlösung im Team bettet und soll in Form von Sprints durchgeführt werden. gemeinsam bewertet. Der Abschluss des Projekts erfolgt Ein Rollout – beispielsweise für verschiedene Länder – ist nach Erreichen eines adäquaten Zustands der Lösung in- in dem Beispielvorgehen nicht vorgesehen. klusive aller benötigten Artefakte in der Phase Transition Abb. 4 zeigt die Detailaufgaben innerhalb der Sprints der & Go Live, in welcher Schulungsmaßnahmen, das Deploy- Implementierung. Diese startet mit einer Sprint-Planung. ment in der Produktionsumgebung und die Inbetriebnahme Im Rahmen der hier vorgesehenen agilen Implementierung erfolgen. K
184 Informatik Spektrum (2021) 44:178–189 Abb. 4 Weiterentwicklung unterschiedlicher Artefakte im Rahmen der Sprints. (aus IQPMTM von PROMATIS) Process Mining zur kontinuierlichen sen Ansatz bildet ein Event-Log, in dem die Ereignisse in- Verbesserung des Vorgehensmodells nerhalb einer Prozessausführung festgehalten werden. Für jedes Ereignis müssen eine Bezeichnung und eine zeitli- Für das zuvor grob beschriebene Vorgehen stellen sich bzgl. che Zuordnung vorhanden sein, damit ein Prozessmodell Bewertung, Verbesserung und einer detaillierten Parametri- abgeleitet werden kann. Dieses Prozessmodell kann dann sierung einige Fragen, aus deren Beantwortung sinnvolle für weitere Analysen verwendet werden. Im Wesentlichen Nachjustierungen abgeleitet werden könnten: umfasst das Process Mining die folgenden 3 Bereiche: Welche Auswirkungen haben die Länge und der Umfang Process Discovery: Basierend auf der Reihenfolge der der Scoping-Phase auf die Dauer und die Qualität der Im- Ereignisse im Event Log wird ein Prozessmodell abge- plementierung? Wie sollte das Aufwands-/Zeitverhältnis leitet, das die Prozessausführung widerspiegelt. zwischen Scoping und Implementation sein? Conformance Checking: Nachdem ein Prozess ausge- Können Regeln abgeleitet werden, um Zeit und Aufwand führt wurde und ein Event Log vorliegt, kann das Event des Scopings im Verhältnis zu einer optimalen Anzahl Log mit einem vorgegebenen Prozessmodell verglichen von Sprints zu ermitteln? Gibt es hier Unterschiede bei werden. Auf diese Weise können Diskrepanzen zwischen verschiedenen fachlichen Bereichen? dem Ist-Zustand und dem Soll-Zustand eines Prozesses Wie wirken sich unterschiedliche Schwerpunkte bei den ermittelt werden. Tätigkeiten innerhalb des Sprints auf den Projekterfolg Process Enhancement: Zusätzlich zu der Ablaufperspek- aus? tive können weitere Prozessaspekte analysiert werden, wie z. B. der zeitliche Ablauf der Aktivitäten oder die Um diese Fragen zuverlässig beantworten zu können, Rollenverteilung und die Zusammenarbeit der einzelnen bietet Process Mining die Möglichkeit, bereits abgeschlos- Akteure innerhalb eines Prozesses. sene Softwareprojekte zu analysieren und laufende Soft- wareprojekte an gegebene Umstände anzupassen (siehe Immer wichtiger wird auch der Einsatz von maschinel- Abb. 5). len Lernverfahren (künstliche Intelligenz) beim Process Mi- Process Mining umfasst eine Vielzahl an Verfahren für ning, z. B. um Ereignisvorhersagen oder Ursachenanalysen die datenbasierte Prozessanalyse. Die Grundlage für die- durchzuführen. Auf diese Weise wird das Process Mining K
Informatik Spektrum (2021) 44:178–189 185 Abb. 5 Zusammenhang zwi- schen der Durchführung konkreter Projekte (Manage- mentphasen in Anlehnung an DIN 69901-2:2009) und der kontinuierlichen Verbesserung des Vorgehensmodells. (Abb. teils basierend auf [20, Sp. 148]) zu einem wichtigen Werkzeug für das operative Manage- der Prozessablauf vorgegeben ist und dieser über den Ver- ment und kann zur Automatisierung von Prozessen beitra- lauf des Projekts hinweg dokumentiert werden kann. Da- gen. Allerdings ist auch weiterhin die manuelle Prozess- zu werden meistens 3 verschiedene Werkzeuge verwendet: modellierung notwendig, um den Soll-Zustand eines Pro- Projektmanagementplattform, Versionskontrollsystem und zesses zu definieren. In der Softwareentwicklung geben die Bugtracker (siehe Tab. 1). Bei allen größeren Softwareent- beschriebenen Vorgehensmodelle diesen Zustand vor und wicklungsprojekten ist die Einbindung eines Projektmana- können zur Vorgehenskontrolle verwendet werden. Im fol- gementtools (wie beispielsweise Jira, GitHub oder GitLab) genden Abschnitt wird exemplarisch gezeigt, wie Process wichtig, um eine gemeinsame Arbeitsgrundlage zu schaffen Mining zur Analyse von hybriden Softwareprojekten ver- und aktuelle Zwischenstände bei der Softwareentwicklung wendet werden kann. festzuhalten. Neben dem Projektmanagement ist weiterhin eine laufende Versionskontrolle bei größeren Softwareent- wicklungsprojekten notwendig. Hier werden Informationen Anwendungsbeispiel bezüglich Commits und Fileänderungen dokumentiert. Ei- nes der bekanntesten Werkzeuge zur Versionskontrolle ist Bei dem beschriebenen hybriden Vorgehensmodell erfolgt Git. Ein weiteres wichtiges Werkzeug für die Dokumen- zunächst eine Projektplanung (Scoping), bei der Anforde- tation der Softwareentwicklung ist der Bugtracker. Bei al- rungen an die zu entwickelnde Software ermittelt und Teil- len Systemen, die das Management von Bugs ermöglichen, schritte für die Entwicklung festgelegt werden. Danach wird werden wesentliche Informationen zur Erstellung einer Feh- wie bei der rein agilen Softwareentwicklung die Entwick- lermeldung, zur Behandlung eines Fehlers und zu mögli- lung mithilfe von Sprints durchgeführt. Die Sprints orientie- chen Teilschritten gesichert. Viele Projektmanagementtools ren sich dabei an der Projektplanung. Als Erweiterung zur bieten zusätzlich zur allgemeinen Projektplanung auch die agilen Vorgehensweise werden beim Sprint Review jedoch Möglichkeit zum Fehlermanagement. Aber es gibt auch zu- nicht nur das Entwicklungsartefakt, sondern auch weitere sätzliche Werkzeuge, die speziell für das Management von Artefakte betrachtet. Aus Sicht des Prozess Mining besteht Bugs verwendet werden (beispielsweise Bugzilla). Abb. 6 bei dem hybriden Ansatz der Vorteil, dass ein grundlegen- (unten, rot hinterlegt) zeigt, dass dadurch im Rahmen der K
186 Informatik Spektrum (2021) 44:178–189 aus dem Modell entfernt und ggf. durch ein alternatives Vorgehen (aus erfolgreichen Projekten) ersetzt. Abb. 7 zeigt beispielhaft ein aus einem konkreten Soft- wareentwicklungsprojekt gewonnenes Prozessmodell. Das Entwicklungsprojekt basierte auf dem hybriden Vorgehens- modell aus Abb. 4. Das Ablaufdiagramm wurde mithilfe des Process-Mining-Werkzeugs Disco erstellt und basiert auf fiktionalen Daten, wie sie aber auch aus den beschriebenen Datenquellen extrahiert werden könnten. Dabei ist anzu- merken, dass die gewonnenen Daten zunächst durch eine Abbildung, wie beispielsweise in [9] beschrieben, den be- schriebenen Aktivitäten im hybriden Vorgehensmodell zu- geordnet werden müssen. Das präparierte Event Log kann in einem nächsten Schritt in Disco geladen werden, welches automatisch ein Ablaufdiagramm von dem Softwareent- wicklungsprojekt erstellt. In dem gegebenen Beispiel wur- den insgesamt 28 Sprints durchlaufen, die jeweils mit einem Sprint Planning gestartet und mit einem Sprint Review be- endet wurden. Das Projekt wurde zunächst mit dem Scoping begonnen und am Ende mit der Transition & Go Live-Phase abgeschlossen. Bei den 28 Sprints wurden alle beschriebe- Abb. 6 Das Vorgehen der kontinuierlichen Verbesserung des Vorge- hensmodells mithilfe von Event Logs nen Aktivitäten aus dem Vorgehensmodell mehrmals ausge- führt, am häufigsten wurden die Aktivitäten „Configuration and Development“ (14-mal) und „Test Case Preparation“ Tätigkeiten der Projektbearbeitung in diesen Werkzeugen (13-mal) durchgeführt. entsprechende Ereignisse (z. B. der Check-in von neuem In Abb. 8 wird eine detaillierte Auswertung der Zeit- Code, das Mergen eines Branch in den Master Branch, das dauern aller Aktivitäten gezeigt. Auch diese Werte basieren Erstellen oder Bearbeiten von Tickets) in den Projektdurch- auf fiktiven Werten und sollen vor allem zur Veranschau- führungswerkzeugen ausgelöst werden. Diese werden dort lichung der Möglichkeiten des Process Enhancements in jeweils protokolliert und lassen sich extrahieren. Hierzu gibt der Softwareentwicklung dienen. Abb. 9 stellt ein weiteres es verschiedene Schnittstellen und Frameworks (beispiels- Beispiel für ein Softwareentwicklungsprojekt dar, bei dem weise: GitPython, JGit, PyDriller). einige Schritte des hybriden Vorgehensmodells ausgelassen Für die Auswertung des so extrahierten Ereignisproto- wurden und das Projekt bereits nach 20 Sprints abgebro- kolls stehen weiterhin verschiedene kommerzielle sowie chen wurde. Insbesondere wurde das Sprint Review 2-mal nichtkommerzielle Process-Mining-Werkzeuge zur Verfü- nach einem Sprint übergangen und die Dokumentation wur- gung (z. B. ProM, Disco [Fluxicon BV, Eindhoven, Nieder- de vernachlässigt (nur 2 Ausführungen). Danach wurde das lande]). Eine Herausforderung dabei ist, die verschiedenen Projekt abgebrochen und die Transition & Go Live-Phase Ereignisse auf die Aktivitätstypen des im Vorgehensmodell nicht mehr ausgeführt. Dieses Beispiel verdeutlicht, dass beschriebenen Prozesses abzubilden. Dadurch kann ein Pro- mithilfe des Process Mining Abweichungen vom Vorge- zessmodell (siehe Abb. 6, Mitte „Prozessmodell“) aus dem hensmodell leicht erkannt werden können und Anpassun- Ereignisprotokoll gewonnen werden. Gemeinsam mit der gen basierend auf Kennzahlen, wie den Durchlaufzeiten, Bewertung des Projektergebnisses kann so eine Vielzahl vorgenommen werden können. von Projekten genutzt werden, um zunächst Abweichungen vom Vorgehensmodell zu identifizieren. Zusammen mit der Bewertung des Projektergebnisses muss dann ein Experte Fazit & Ausblick für die Weiterentwicklung des Vorgehensmodells prüfen, ob daraus ein – für alle Projekte zutreffender – Erfolgsfaktor Dieser Beitrag zeigt den Nutzen von Process Mining für abgeleitet werden kann. Ist dies der Fall, wird der Verbes- die kontinuierliche Verbesserung von Vorgehensmodellen serungsbedarf identifiziert und umgesetzt. Misserfolgsfak- der Softwareentwicklung. Besonders bei relativ jungen Vor- toren führen ebenfalls zu Anpassungen des Vorgehensmo- gehensmodellen, wie sie aktuell insbesondere im Bereich dells, insbesondere dann, wenn ein identifizierter Misser- der hybriden Vorgehensmodelle zu finden sind, entfaltet die folgsfaktor durch ein Vorgehensmodell vorgeschrieben ist neue Möglichkeit großes Potenzial. Aber auch die Anwen- (siehe Abb. 6, blau hinterlegter Bereich). Dieser wird dann dung auf etablierte Vorgehensmodelle ist sinnvoll, beispiels- K
Informatik Spektrum (2021) 44:178–189 187 Abb. 7 Beispielhafter Projekt- ablauf weise um unternehmenskulturspezifische Anpassungen vor- die definierten Aktivitäten und ihre Anordnung. Dabei wer- nehmen zu können. Erfolgsentscheidend ist es – möglichst den bei Anwendung des Ansatzes in der Regel iterative ohne Mehraufwand für die Mitarbeiterinnen und Mitarbei- Verbesserungen entstehen, disruptive Ideen müssen anders ter der Projekte – aus bestehenden Werkzeugen (wie Git geschöpft werden. Methoden für das Software Engineering und Jira) ein Ereignisprotokoll so zu extrahieren, dass eine umfassen weitere Komponenten (vgl. Abb. 1) – auch deren automatisierte Zuordnung zu den Aktivitäten des im Vorge- Weiterentwicklung mit anderen Ansätzen ist für die effi- hensmodell definierten Prozesses möglich ist. ziente und effektive Durchführung von Softwareentwick- Der vorgeschlagene Ansatz betrachtet nur die kontinu- lungsprojekten wichtig. ierliche Verbesserung des Vorgehensmodells bzw. präziser K
188 Informatik Spektrum (2021) 44:178–189 Abb. 8 Zusätzliche Kennzahlen, die mit Disco ausgewertet werden können Abb. 9 Beispielhafter Projekt- ablauf mit Abweichungen Künftig ist es vorstellbar, Process Mining nicht nur für allgemeine Herausforderung der Änderung des Prozesses die Auswertung von abgeschlossenen Projekten, sondern und die Auswirkungen auf laufende Instanzen muss dafür auch für die Analyse laufender Projekte einzusetzen und jeweils auch betrachtet werden (z. B. kann definiert wer- dann die Anpassungsmaßnahmen noch für das laufende den, dass laufende Instanzen die Änderung nicht überneh- Projekt zu definieren. In diesem Fall ist jedoch zwischen men, weil ihr Nutzen gegenüber dem Änderungsaufwand projektspezifischen Anpassungen (diese sind besonders für zu gering ist). das Projekt geeignet, fließen aber nicht in das allgemeine Vorgehensmodell ein, weil sie nicht auf eine Vielzahl von Projekten zutreffen) und allgemeinen Anpassungen (diese fließen in das Vorgehensmodell ein) zu unterscheiden. Die K
Informatik Spektrum (2021) 44:178–189 189 Funding Open Access funding enabled and organized by Projekt of the 35th Euromicro conference on software engineering and ad- DEAL. vanced applications 8. Lemos AM, Sabino CC, Lima RMF, Oliveira CAL (2011) Using Open Access Dieser Artikel wird unter der Creative Commons Na- process mining in software development process management: a mensnennung 4.0 International Lizenz veröffentlicht, welche die Nut- case study. In: IEEE international conference on systems, man and zung, Vervielfältigung, Bearbeitung, Verbreitung und Wiedergabe in cybernetics jeglichem Medium und Format erlaubt, sofern Sie den/die ursprüng- 9. Poncin W, Serebrenik A, van der Brand M (2011) Process mining lichen Autor(en) und die Quelle ordnungsgemäß nennen, einen Link software repositories. In: 15th European conference on software zur Creative Commons Lizenz beifügen und angeben, ob Änderungen maintenance and reengineering vorgenommen wurden. 10. Mittal M, Sureka A (2014) Process mining software repositories Die in diesem Artikel enthaltenen Bilder und sonstiges Drittmaterial from student projects in an undergraduate software engineering unterliegen ebenfalls der genannten Creative Commons Lizenz, sofern course. In: 36th international conference on software engineering sich aus der Abbildungslegende nichts anderes ergibt. Sofern das be- 11. Rubin V, Lomazova I, van der Aalst WMP (2014) Agile develop- treffende Material nicht unter der genannten Creative Commons Lizenz ment with software process mining. In: ICSSP steht und die betreffende Handlung nicht nach gesetzlichen Vorschrif- 12. Rubin V, Mitsyuk AA, Lomazova I, van der Aalst WMP (2014) ten erlaubt ist, ist für die oben aufgeführten Weiterverwendungen des Process mining can be applied to software too! In: International Materials die Einwilligung des jeweiligen Rechteinhabers einzuholen. Symposium on Empirical Software Engineering and Measurement 13. Kneuper R (2016) Process Mining bei Softwareprozessen. In: Lec- Weitere Details zur Lizenz entnehmen Sie bitte der Lizenzinformation ture Notes in Informatics, S 121–134 auf http://creativecommons.org/licenses/by/4.0/deed.de. 14. Erdem S, Demirörs O (2017) An exploratory study on usage of pro- cess mining in agile software development. In: Communications in computer and information science, S 187–196 15. Marques RR, da Silva MM, Ferreira DR (2018) Assessing agile Literatur software development processes with process mining: a case study. In: IEEE 20th conference on business Informatics 1. Mills HD, Dyer M, Linger RC (1987) Cleanroom software engi- 16. Caldeira J, Cardoso J (2019) Assessing software development neering teams’ efficiency using process mining. In: International confe- 2. Schönthaler F, Vossen G, Oberweis A, Karle T (2012) Business rence on process mining processes for business communities: modeling languages, meth- 17. Dumbacher P, Aly A, Zrenner M, Eskofier BM (2020) Explorati- ods, tools. Springer, Berlin Heidelberg https://doi.org/10.1007/978- on of process mining opportunities in educational software engi- 3-642-24791-0 neering—the gitlab analyser. In: 13th international conference on 3. Cook JE, Wolf AL (1995) Automating process discovery through educational data mining event-data analysis. In: 17th International Conference on Software 18. Erdem S, Demirörs O, Rabhi F (2018) Systematic mapping study Engineering on process mining in agile software development. In: Communica- 4. Cook JE, Wolf AL (1998) Discovering models of software pro- tions in computer and information science, S 289–299 cesses from event-based data. ACM Trans. Softw. Eng. Methodol. 19. Vossen G, Schönthaler F, Dillon S (2017) The web at graduation 7(3):215–249. https://doi.org/10.1145/287000.287001 and beyond: business impacts and developments. Springer, Berlin 5. van der Aalst W (2016) Process mining. Data science in action. Heidelberg Springer, Berlin Heidelberg 20. Alpers S (2019) Modellbasierte Entscheidungsunterstützung für 6. Rubin V, Günther CW, Van Der Aalst WM, Kindler E, Van Don- Vertraulichkeit und Datenschutz in Geschäftsprozessen. KIT Sci- gen BF, Schäfer W (2007) Process mining framework for software entific Publishing, https://doi.org/10.5445/KSP/1000094545 processes. In: International conference on software process 7. Akman B, Demirörs O (2009) Applicability of process discovery algorithms for software organizations. In: Conference proceedings K
Sie können auch lesen