Process mining applications in software development
Ijäs, Henri (2023)
Kandidaatintyö
Ijäs, Henri
2023
School of Engineering Science, Tuotantotalous
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe20231024141119
https://urn.fi/URN:NBN:fi-fe20231024141119
Tiivistelmä
The purpose of this bachelor’s thesis was to gain a better understanding of what process mining is and to get valuable insights into how it can aid process improvement efforts in software development, and what are the benefits and challenges. The thesis was executed as a literature review.
Process mining is a technique where a process model can be discovered, compared, and enhanced based on a table of data known as the event log. A process model can be formed from the event log using algorithms known as miners. Process mining uses event logs to discover processes, test the adequacy of discovery results, compare real-world events to idealized design, and ultimately improve those processes. Process, organisation, and case perspectives of process mining try to answer the questions “How?”, “Why?” and “What?”, respectively.
Software development is defined as a process that starts with the need for new software and ends with retiring the software from deployment and maintenance. It encompasses all the activities required to produce software, and it can be characterised as a process but lacks the managerial element.
The benefits of introducing process mining into software process development are an objective process model, visibility to process performance, aiding the improvement of software process development maturity, assessment of deployed practices and understanding of organizational structures and interactions. The challenges are data and people. Data must be available, of adequate quality and of use. Users must have the expertise to choose methods rational to the situation and structure of data, but they also must have insight into the analysed process to fully understand and interpret results. Tämän kandidaatintutkielman tarkoituksena oli saada käsitys siitä, mitä prosessilouhinta on, ja tietoa siitä, miten se voi auttaa ohjelmistokehityksen prosessien parantamisessa, ja mitkä ovat hyödyt ja haasteet. Opinnäytetyö toteutettiin kirjallisuuskatsauksena.
Prosessilouhinta on tekniikka, jossa prosessimallia voidaan löytää, verrata ja parantaa tapahtumalokina tunnetun tietotaulukon perusteella. Tapahtumalokista voidaan muodostaa prosessimalli käyttämällä algoritmeja, joita kutsutaan louhijoiksi. Prosessilouhinta käyttää tapahtumalokeja prosessien löytämiseen, löytötulosten riittävyyden testaamiseen, reaalimaailman tapahtumien vertaamiseen ideaalimalliin ja viime kädessä prosessien parantamiseen. Prosessilouhinnan prosessi-, organisaatio- ja tapausnäkökulmat pyrkivät vastaamaan kysymyksiin "Miten?", "Miksi?" ja "Mitä?" prosessissa tapahtuu.
Ohjelmistokehitys määritellään prosessiksi, joka alkaa uusien ohjelmistojen tarpeesta ja päättyy ohjelmiston poistamiseen käytöstä ja ylläpidosta. Se kattaa kaikki ohjelmistojen tuottamiseen tarvittavat toiminnot, mutta siitä puuttuu hallinnollinen elementti.
Prosessilouhinnan käyttöönoton edut ohjelmistoprosessien kehittämisessä ovat objektiivinen prosessimallinnus, näkyvyys prosessin suorituskykyyn, apu ohjelmistokehitysprosessien parantamisessa, käytettyjen käytäntöjen arvioiminen sekä organisaatiorakenteiden ja vuorovaikutusten ymmärtäminen. Haasteena on data ja ihmiset. Datan on oltava saatavilla, riittävän laadukasta ja käyttökelpoista. Käyttäjillä on oltava asiantuntemusta valita tilanteen ja datan rakenteen kannalta rationaalisia menetelmiä, mutta heillä on kuitenkin oltava ymmärrystä analysoidusta prosessista, jotta he voivat täysin ymmärtää ja tulkita tuloksia.
Process mining is a technique where a process model can be discovered, compared, and enhanced based on a table of data known as the event log. A process model can be formed from the event log using algorithms known as miners. Process mining uses event logs to discover processes, test the adequacy of discovery results, compare real-world events to idealized design, and ultimately improve those processes. Process, organisation, and case perspectives of process mining try to answer the questions “How?”, “Why?” and “What?”, respectively.
Software development is defined as a process that starts with the need for new software and ends with retiring the software from deployment and maintenance. It encompasses all the activities required to produce software, and it can be characterised as a process but lacks the managerial element.
The benefits of introducing process mining into software process development are an objective process model, visibility to process performance, aiding the improvement of software process development maturity, assessment of deployed practices and understanding of organizational structures and interactions. The challenges are data and people. Data must be available, of adequate quality and of use. Users must have the expertise to choose methods rational to the situation and structure of data, but they also must have insight into the analysed process to fully understand and interpret results.
Prosessilouhinta on tekniikka, jossa prosessimallia voidaan löytää, verrata ja parantaa tapahtumalokina tunnetun tietotaulukon perusteella. Tapahtumalokista voidaan muodostaa prosessimalli käyttämällä algoritmeja, joita kutsutaan louhijoiksi. Prosessilouhinta käyttää tapahtumalokeja prosessien löytämiseen, löytötulosten riittävyyden testaamiseen, reaalimaailman tapahtumien vertaamiseen ideaalimalliin ja viime kädessä prosessien parantamiseen. Prosessilouhinnan prosessi-, organisaatio- ja tapausnäkökulmat pyrkivät vastaamaan kysymyksiin "Miten?", "Miksi?" ja "Mitä?" prosessissa tapahtuu.
Ohjelmistokehitys määritellään prosessiksi, joka alkaa uusien ohjelmistojen tarpeesta ja päättyy ohjelmiston poistamiseen käytöstä ja ylläpidosta. Se kattaa kaikki ohjelmistojen tuottamiseen tarvittavat toiminnot, mutta siitä puuttuu hallinnollinen elementti.
Prosessilouhinnan käyttöönoton edut ohjelmistoprosessien kehittämisessä ovat objektiivinen prosessimallinnus, näkyvyys prosessin suorituskykyyn, apu ohjelmistokehitysprosessien parantamisessa, käytettyjen käytäntöjen arvioiminen sekä organisaatiorakenteiden ja vuorovaikutusten ymmärtäminen. Haasteena on data ja ihmiset. Datan on oltava saatavilla, riittävän laadukasta ja käyttökelpoista. Käyttäjillä on oltava asiantuntemusta valita tilanteen ja datan rakenteen kannalta rationaalisia menetelmiä, mutta heillä on kuitenkin oltava ymmärrystä analysoidusta prosessista, jotta he voivat täysin ymmärtää ja tulkita tuloksia.