UNIVERSITEIT GENT FACULTEIT ECONOMIE EN BEDRIJFSKUNDE ACADEMIEJAAR 2010 – 2012
Keuzes maken binnen processen: het vermijden van een Russische roulette voor de organisaties
Masterproef voorgedragen tot het bekomen van de graad van Master of Science in de Toegepaste Economische Wetenschappen: Handelsingenieur
Mathias Heyse onder leiding van PhD. M. Bernaert & Prof. Dr. G. Poels
PERMISSION
Ondergetekende verklaart dat de inhoud van deze masterproef mag geraadpleegd en/of gereproduceerd worden, mits bronvermelding. Mathias Heyse
2
Keuzes maken binnen processen, het vermijden van een Russische roulette voor de organisaties
3
Dankwoord Het schrijven van een masterproef is een uitdagende taak die niet mogelijk is zonder de steun en hulp van enkele mensen. Daarom wil ik in dit dankwoord enkele mensen nadrukkelijk bedanken.
Eerst en vooral wil ik mijn promotor, Prof. Dr. Geert Poels bedanken voor het aanbieden van dit onderwerp. Vervolgens, zou ik ook graag mijn begeleider Maxime Bernaert willen bedanken voor alle hulp tijdens het uitwerken van deze masterproef. Mede dankzij de positieve feedback, de vele suggesties en het nalezen van mijn masterproef ben ik erin geslaagd om dit werk tot een goed einde te brengen.
Ik wil ook mijn ouders bedanken voor al de mogelijkheden die ze mij hebben gegeven en voor hun steun tijdens mijn studies en tijdens deze masterproef.
Ten slotte wil ik mijn vrienden bedanken voor het nauwkeurig nalezen van mijn werk.
4
Inhoudstabel Deel 1: Theoretisch kader 1
Inleiding ......................................................................................................................................... 10 1.1
Situatieschets ........................................................................................................................ 10
1.2
Probleemdefinitie .................................................................................................................. 10
2
Methodologie ................................................................................................................................ 12
3
Literatuuronderzoek ...................................................................................................................... 13 3.1
Requirements Engineering .................................................................................................... 13
3.2
Goal-Oriented Requirements Engineering ............................................................................ 15
3.3
Goal Modellen ....................................................................................................................... 19
3.3.1
Het NFR framework ....................................................................................................... 20
3.3.2
KAOS .............................................................................................................................. 22
3.3.3
I*/TROPOS ..................................................................................................................... 23
3.4
Actief onderzoek in GORE ..................................................................................................... 24
3.4.1
Kwalitatief redeneren met goal modellen .................................................................... 26
3.4.2
Kwantitatief redeneren met goal modellen .................................................................. 37
3.4.3
Integreren van preferenties tijdens het evalueren van goal modellen......................... 45
3.4.4
Hoe kunnen prioriteiten opgesteld worden voor deze preferenties ............................ 47
Deel 2: Uitwerking masterproef 4
Inleidend hoofdstuk ...................................................................................................................... 51 4.1
Uitwerking probleemdefinitie ............................................................................................... 51
4.2
Werkwijze opstellen methode .............................................................................................. 54
5
Opstellen goal model..................................................................................................................... 56
6
Opstellen softgoal model .............................................................................................................. 57 6.1
Kwaliteit, kost en tijd ............................................................................................................. 57
6.2
SMART criteria voor KPI......................................................................................................... 61
5
7
6.3
Softoal decompositie............................................................................................................. 62
6.4
Belang van stakeholders........................................................................................................ 65
Prioriteiten .................................................................................................................................... 69 7.1
Het belang van prioriteiten ................................................................................................... 69
7.2
Opstellen van prioriteiten met behulp van AHP binnen eenvoudig softgoal model ............ 70
7.3
Opstellen van prioriteiten met behulp van AHP binnen softgoal model van online
counseling.......................................................................................................................................... 74 8
9
Evaluatie ........................................................................................................................................ 77 8.1
Evaluatie rekening houdend met de prioriteiten tussen softgoals ....................................... 77
8.2
Evaluatie zonder prioriteiten in rekening te brengen ........................................................... 81
8.3
Beoordeling evaluaties .......................................................................................................... 83
Sensitiviteitsanalyse ...................................................................................................................... 87 9.1
Veranderingen in prioriteiten tussen softgoals..................................................................... 87
9.2
Veranderingen van bijdragen tot softgoals ........................................................................... 87
10 Overzicht methode ........................................................................................................................ 89 11 Groepsbesluitvorming ................................................................................................................... 90 11.1
Groepsbesluitvorming binnen één softgoal model ............................................................... 90
11.2
Groepsbesluitvorming tussen meerdere softgoal modellen................................................. 90
12 Besluit ............................................................................................................................................ 91 13 Conclusie ....................................................................................................................................... 91 14 Lijst met referenties ...................................................................................................................... 93 15 Appendix........................................................................................................................................ 98
6
Lijst van Figuren Figuur 1: Situering goal models ............................................................................................................. 20 Figuur 2: AND Decompositie ................................................................................................................. 25 Figuur 3: OR Decompositie .................................................................................................................... 25 Figuur 4: Axioma's label propagatie (Giorgini et al., 2003) ................................................................... 28 Figuur 5: Afgeleide axioma's (Giorgini et al., 2003) .............................................................................. 28 Figuur 6: Axioma's voor achterwaartse propagatie (Sebastiani et al., 2004) ...................................... 30 Figuur 7: Input en target goals (Sebastiani et al., 2004) ....................................................................... 31 Figuur 8: Model online counseling (J. Horkoff & Yu, 2009) ................................................................... 33 Figuur 9: Model online counseling met initiële warden (J. Horkoff & Yu, 2009) .................................. 36 Figuur 10: Voorbeeld goal model (Hui & Liaskos, 2003) ....................................................................... 38 Figuur 11: Vier mogelijke alternatieven uit goal model (Hui & Liaskos, 2003) ..................................... 40 Figuur 12: Contributies ten opzichte van de softgoals (Hui & Liaskos, 2003) ....................................... 42 Figuur 13: Mogelijk alternatief uit goal model ...................................................................................... 46 Figuur 14: Synthese van ingrediënten die nodig zijn bij besluitvorming (Kiker et al., 2005) ................ 54 Figuur 15: Goal model "Online Counselling" ......................................................................................... 56 Figuur 16: Besluitvorming tussen kwaliteit, kost en tijd ....................................................................... 57 Figuur 17: Kost, kwaliteit en tijd gekoppeld aan "Online Counselling" ................................................. 58 Figuur 18: Boomstructuur kwaliteit (Chung et al., 2000) ...................................................................... 60 Figuur 19: Softgoal model uit standpunt van de organisatie ................................................................ 63 Figuur 20: Mogelijke interne en externe stakeholders van een organisatie (Penumbra, n.d.) ............ 66 Figuur 21: Softgoal model uit het standpunt van de jongeren ............................................................. 67 Figuur 22: Softgoal model uit het standpunt van de raadgevers .......................................................... 68 Figuur 23: Invloed kost, kwaliteit en tijd op "Online Counselling" ........................................................ 71 Figuur 24: Uitwerking AHP op kost, kwaliteit en tijd ............................................................................ 73 Figuur 25: Ideale hierarchische structuur voor AHP ............................................................................. 74 Figuur 26: Netwerk structuur voor toepassing ANP ............................................................................. 75 Figuur 27: Toekennen gewichten via AHP ............................................................................................. 76 Figuur 28: Evaluatie alternatief Cyber Café/Portal/ Chat Room ........................................................... 80 Figuur 29: Evaluatie alternatief SMS- dienst ......................................................................................... 80 Figuur 30: Evaluatie alternatief Cyber Café/Portal/ Chat Room zonder prioriteiten............................ 82 Figuur 31: Evaluatie alternatief SMS- dienst zonder prioriteiten.......................................................... 82 Figuur 32: Schematische voorstelling methode .................................................................................... 89 7
Lijst van tabellen
Tabel 1: Propagatie regels in een kwalitatief framework (Giorgini et al., 2003) .................................. 28 Tabel 2: Propagatie regels met contributielinks (J. Horkoff & Yu, 2009) .............................................. 34 Tabel 3: Label regels bij meerdere inkomende contributielinks (J. Horkoff & Yu, 2009)...................... 35 Tabel 4: Bijdragen van alternatieven tot preferenties (Hui & Liaskos, 2003) ....................................... 42 Tabel 5: Preferenties stakeholders (Hui & Liaskos, 2003) ..................................................................... 43 Tabel 6: Preferenties softgoals .............................................................................................................. 46 Tabel 7: Schaal (1-9) met absolute getallen (Saaty, 2008) .................................................................... 49 Tabel 8: Bijdragen alternatieven tot preferenties (Hui & Liaskos, 2003) .............................................. 52 Tabel 9: Illustratief voorbeeld van bijdragen alternatieven tot preferenties ....................................... 52 Tabel 10: Kwaliteit: ISO/9126 ................................................................................................................ 59 Tabel 11: Paarsgewijze vergelijkingsmatrix van kost, kwaliteit en tijd ................................................. 72 Tabel 12: Relatieve gewichten en rangschikking .................................................................................. 73 Tabel 13: Kwanitatieve voorsteling "++/+/-/--" ..................................................................................... 78 Tabel 14: Toekenning label aan softgoals ............................................................................................. 84 Tabel 15: Van kwalitatieve naar kwanitatieve bijdrages ....................................................................... 84 Tabel 16: Mogelijke uitwerking kwantitatieve bijdragen ...................................................................... 85 Tabel 17: Kwantitatieve bijdragen toegepast op voorbeeld ................................................................. 86 Tabel 18: Sensitiviteitsanalyse .............................................................................................................. 88
8
Lijst van gebruikte afkortingen RE = Requirements Engineering GORE = Goal Oriented Requirements Engineering AHP = Analytical Hierarchy Process ANP = Analytical Network Process FS = Full satisfaction PS = Partial satisfaction FD = Full denial PD = Partial denial F = Full P = Partial N = None Sat = Satisfaction Den = Denial MAUT = Multi Attribute Utility Theory PDDL = Planning Domain Definition Language
9
DEEL 1: Theoretisch kader 1 Inleiding 1.1 Situatieschets Besluitvorming is een cruciaal aspect van het bedrijfsleven. Maar hoe worden goede beslissingen gemaakt? Natuurlijk zal de ervaring van de managers een rol spelen, maar in veel gevallen hangt de kwaliteit van een keuze af van de beschikbare informatie. Indien men over de juiste informatie beschikt en deze informatie op een correcte manier interpreteert, dan kan dit de keuze al voor een groot deel vereenvoudigen.
De keuzes waar bedrijven mee geconfronteerd worden, zijn zeer uiteenlopend. Deze keuzes kunnen strategische keuzes zijn. Stel bijvoorbeeld dat een bedrijf wil uitbreiden naar het buitenland maar twijfelt op welke landen het zich best focust. Of indien er geïnvesteerd moet worden in een nieuwe machine, moet er ook een keuze gemaakt worden tussen verschillende machines waarin ze het best investeren. Maar ook op het operationele niveau moeten dagelijks verschillende keuzes gemaakt worden. Keuzes tussen verschillende processen zijn daar een voorbeeld van. Stel bijvoorbeeld dat een bedrijf twee verschillende manieren heeft om een dienst te leveren aan een klant. De eerste manier is een duurdere manier waaraan additionele diensten gekoppeld worden om de klanttevredenheid te verhogen of te behouden. Bij de tweede manier, een goedkopere, wordt er niet veel aandacht gehecht aan de klanttevredenheid en probeert men gewoon hun basisdienst zo goedkoop mogelijk te leveren. Afhankelijk van de klanten van een bedrijf, moet een bedrijf kiezen tussen deze twee manieren. Het is logisch dat het bedrijf aan belangrijke, trouwe klanten de eerste manier zal aanbieden en aan occasionele klanten de tweede manier. Het bedrijf zal dus moeten bepalen waar het onderscheid tussen deze verschillende klanten gemaakt zal moeten worden.
1.2 Probleemdefinitie Zoals reeds duidelijk is, is het voor veel bedrijven geen eenvoudige taak om al deze keuzes te maken. In deze masterproef spelen we in op dit probleem en bieden we bedrijven een methode waarmee ze alternatieven kunnen vergelijken en waarmee ze een grondige keuze kunnen maken tussen deze alternatieven.
Voor het maken van beslissingen wordt reeds in veel bedrijven gebruik gemaakt van verschillende modellen. Ook voor de keuze tussen processen kan beroep gedaan worden op een model of een methode die een bedrijf helpt om de juiste keuze te maken. Een goed opgesteld model kan de keuze 10
tussen processen aanzienlijk vereenvoudigen, maar het is toch belangrijk om op te merken dat een model in veel gevallen maar een hulpmiddel is dat de bedrijven kan bijstaan bij het maken van een keuze. Het is dan ook zo dat een slecht opgesteld model systematisch tot verkeerde keuzes kan leiden en dat in sommige gevallen, wanneer de beste keuze voor de hand liggend is, een model overbodig is.
Ook Yu (Yu, 1995) was zich bewust van het grote aantal keuzes die moeten gemaakt worden in het bedrijfsleven. Volgens hem kwam dit voornamelijk door het stijgend belang van technologie in onze samenleving. Volgens Yu werden computers vaak geïntroduceerd om menselijke processen te ondersteunen of zelfs volledig te automatiseren. Het doel was altijd om het totale proces te verbeteren. Onder het verbeteren van het totale proces kunnen natuurlijk verschillende zaken worden verstaan zoals snellere diensten, lagere kosten of betere kwaliteit. Mede dankzij de grote beschikbaarheid van nieuwe technologieën is het dikwijls mogelijk om processen te herontwerpen en op die manier aanzienlijke verbeteringen van het proces te verwezenlijken. Wanneer we deze processen proberen te herontwerpen, zijn er meestal wel meerdere alternatieven mogelijk met elk verschillende implicaties voor de verschillende partijen, stakeholders, die belang hebben bij dit proces. Afhankelijk van de belangen van de stakeholders zal een bepaald bedrijf voor een zekere strategie kiezen en die gekozen strategie zal ook de toekomstige keuzes beïnvloeden.
In deze masterproef is het de bedoeling om bedrijven bij te staan bij de keuzes tussen processen. Daarvoor is het de bedoeling om het juiste alternatief te identificeren, te evalueren en te selecteren voor het uitvoeren van een bepaald proces. Volgens Yu (Yu, 1995) zou een systematische aanpak die gebruik maakt van de modellen en analysetechnieken, het verbeteren en het herontwerpen van de processen vereenvoudigen. Er is duidelijk nood aan een methode die het mogelijk maakt om de impact van verschillende ontwerpbeslissingen weer te geven.
Er wordt een model voorgesteld die de keuze tussen verschillende processen (alternatieven) moet vereenvoudigen. Eerst wordt de Methodologie besproken om vervolgens verder te gaan met het Literatuuronderzoek waarin een aantal bestaande werken die dit thema behandelen geanalyseerd worden. De masterproef zelf begint met een Inleidend hoofdstuk (hoofdstuk 4) waarin het probleem duidelijk geschetst wordt. In hoofdstuk 5 en hoofdstuk 6 worden respectievelijk het goal model en het softgoal model opgesteld. In het 7de hoofdstuk worden de prioriteiten van de stakeholders uitgewerkt om dan in hoofdstuk 8 de eigenlijke evaluatie uit te werken. In hoofdstuk 9 wordt een sensitiviteitsanalyse toegepast. In hoodstuk 10 wordt een overzicht van onze methode gegeven. In hoofdstuk 11 wordt groepsbesluitvorming kort toegelicht om te eindigen met een Besluit en een 11
Conclusie, waarin we ons eigen werk evalueren en aangeven wat er in de toekomst nog kan gebeuren.
2 Methodologie Om een model op te stellen is het noodzakelijk om kennis te hebben van de modellen en frameworks die reeds bestaan. Daarvoor is er in het begin van deze masterproef veel onderzoekswerk verricht naar de reeds bestaande literatuur. Daarbij was het de bedoeling om de reeds bestaande modellen in kaart te brengen en deze modellen te evalueren. Bij deze evaluatie werd vooral gekeken in welke gevallen bepaalde modellen het best gebruikt konden worden en op welke vlakken sommige modellen tekort schoten. Een belangrijk werk hierbij was het Goals-Skills-Preferences Framework (Hui & Liaskos, 2003). Dit werk wordt in het literatuuronderzoek gedetailleerd besproken. Vertrekkend van dit werk hebben we andere belangrijke werken (Liaskos, Mcilraith, Sohrabi, & Mylopoulos, 2010, 2011) gevonden die ook een oplossing trachtten te vinden voor ons probleem. Opvallend tijdens het analyseren van de bestaande literatuur was de prominente aanwezigheid van twee auteurs, namelijk John Mylopoulos en Axel van Lamsweerde. Er werd dan ook vooral gekeken naar de recentste werken van deze auteurs over het betreffende onderwerp. In het literatuuronderzoek worden enkele van hun modellen besproken, om dan vervolgens in de masterproef zelf een nieuw model voor te stellen. Dit model is verder ontwikkeld uit bestaande werken zoals (J. Horkoff & Yu, 2009; Hui & Liaskos, 2003; Liaskos et al., 2010, 2011). Om het nieuw ontwikkelde model realistisch te kunnen evalueren, wordt er gebruik gemaakt van een bestaand voorbeeld uit een gepubliceerd werk (J. Horkoff & Yu, 2009) om de uitkomsten van beide modellen te kunnen vergelijken.
Naast het bestuderen van bestaande werken, is er ook onderzoek verricht naar besluitvorming met behulp van meerdere criteria. Aangezien onze methode bedrijven moet helpen bij de keuze tussen verschillende alternatieven, vonden we het noodzakelijk om dieper in te gaan op enkele veel gebruikte methodes bij besluitvorming. Hier zijn we terecht gekomen bij een werk van (Kiker, Bridges, Varghese, Seager, & Linkov, 2005). In dit werk wordt een beslissingsproces voorgesteld dat kan gevolgd worden bij het maken van beslissingen met behulp van meerdere criteria. In deze mastproef worden dezelfde stappen overlopen maar wordt er een adequate oplossing gezocht voor elke stap afzonderlijk, die toepasbaar is binnen het gebied van Goal Oriented Requirements Engineering.
12
3 Literatuuronderzoek 3.1 Requirements Engineering Requirements engineering (RE) is het gebied binnen software engineering dat zich vooral bezighoudt met de elicitatie, verfijning en analyse van de requirements (vereisten) van systemen. Het heeft de laatste decennia veel aandacht gekregen van zowel academische als van industriële onderzoekers. Met een systeem wordt het toekomstig proces en de omgeving waarin dit proces actief zal zijn bedoeld. De reden waarom RE zoveel aandacht krijgt, is omdat zwakke requirements één van de voornaamste redenen zijn voor het falen van bedrijfsprocessen. Zwakke requirements zijn requirements die ontoereikend, onvolledig, dubbelzinnig of inconsistent zijn en daardoor een negatieve impact hebben op de kwaliteit van het proces (V. Lamsweerde & Letier, 2004; Lapouchnian, 2005).
Bewust van dit probleem en door het feit dat uit observaties bleek dat late correcties van deze zwakke requirements zorgden voor enorme kosten (Boehm, 1981), werden meer en meer modelleertalen ontwikkeld voor het definiëren en analyseren van requirements. RE houdt zich vooral bezig met volgende drie taken (Loucopoulos & Karakostas, 1995):
Requirements elicitatie Requirements specificatie Requirements validatie en verificatie
In requirements elicitatie, ook soms requirements verzamelen genoemd, is het de bedoeling om op zoek te gaan naar wat het probleem precies is en om het probleem te begrijpen. In deze fase worden de requirements verkregen door interactie met de gebruikers, de klanten of andere mogelijke belanghebbenden (stakeholders) van het proces. In een volgende stap, de requirements specificatie, worden deze verschillende requirements vervolgens verder beschreven en in kaart gebracht. Tijdens de laatste stap, requirements validatie en verificatie, wordt ten slotte gecontroleerd of de verschillende belanghebbenden het eens zijn over de requirements die zijn vastgelegd (validatie) en of deze requirements op de juiste manier zijn vastgelegd (verificatie), rekening houdend met de interne en externe beperkingen van de onderneming en zijn omgeving (Vliet & Brinkkemper, 2002).
Uit het voorgaande en uit de talrijke definities van RE in de literatuur (Nuseibeh, 2000; Zave, 1997), kunnen we vaststellen dat RE de onderliggende redenen weergeeft waarom een bedrijfssysteem nodig is, welke functionaliteiten van dit systeem precies verwacht worden, welke verschillende beperkingen aan dit systeem opgelegd worden, hoe het design van dit systeem er moet uitzien en hoe het zo goed mogelijk geïmplementeerd kan worden. 13
Voor een gedetailleerde uitwerking van de verschillende activiteiten van RE wordt verwezen naar van Lamsweerde (A. V. Lamsweerde, 2000). Hierin beschrijft van Lamsweerde de volgende overlappende activiteiten van RE: domein analyse, elicitatie, onderhandelingen en overeenkomsten, specificatie, specificatie analyse, documentatie en evolutie.
Onderzoek binnen RE heeft aangetoond dat RE kan onderverdeeld worden in twee fases, namelijk de vroege requirements fase en de late requirements fase. De vroege requirements fase concentreert zich vooral op het analyseren en het modeleren van de omgeving waarin het systeem actief zal zijn. Het is noodzakelijk dat de wensen en de motivatie van de stakeholders begrepen worden om op die manier de correcte requirements van het systeem te definiëren. In de late requirements fase wordt vervolgens geprobeerd om het systeem te modeleren, rekening houdend met de omgeving waarin het systeem actief is. Er wordt geprobeerd om de beste configuratie te zoeken zodat de wensen van de stakeholders zoveel mogelijk vervuld worden (Alencar, Castro, Cysneiros, & Mylopoulos, 2000).
Binnen RE kan een belangrijk onderscheid gemaakt worden tussen functionele en niet-functionele requirements. Functionele requirements beschrijven de functies of diensten die een software systeem of een proces moet kunnen uitvoeren. De niet-functionele requirements, ook vaak de kwaliteitsvereisten genoemd, vertegenwoordigen daarentegen de verschillende kwaliteiten of eigenschappen waarover een systeem of proces moet beschikken. Voorbeelden van deze nietfunctionele requirements zijn: veiligheid, kost, snelheid en prestatie. Functionele requirements zijn requirements die ofwel voldaan ofwel niet-voldaan zijn. Bij niet-functionele requirements is dit echter niet het geval. Niet-functionele requirements omvatten heel het continuüm dat loopt van niet-voldaan tot volledig voldaan. Het is dus moeilijker om niet-functionele requirements op een objectieve en meetbare (kwantitatieve) manier uit te drukken. Als gevolg is het moeilijker om een analyse uit te voeren op deze niet-functionele requirements.
Traditionele RE kent verschillende zwakke punten. Ten eerste ligt de focus dikwijls te veel op de functionele requirements, waardoor de niet-functionele requirements in veel gevallen niet voldoende betrokken worden of soms zelfs volledig achterwege gelaten worden. Deze nietfunctionele requirements hebben nochtans een belangrijk aandeel in de specificatie van de requirements en zullen de kwaliteit van het uiteindelijke proces voor een groot deel bepalen. Verder spelen ze een belangrijke rol in de evaluatie van de verschillende alternatieve manieren waarop een proces uitgevoerd kan worden (Chung, Yu, & Mylopoulos, 2000; A. V. Lamsweerde, 2000, 2003). In RE slaan deze alternatieven meestal op alternatieven waarin meer of minder functionaliteiten 14
geautomatiseerd worden. Maar zoals net vermeld schieten de traditionele technieken tekort om deze alternatieven te beschrijven, te onderzoeken en met elkaar te vergelijken. In (van Lamsweerde & Letier, 2004) argumenteren de auteurs dat goals een mogelijke oplossing kunnen bieden voor de tekortkomingen van de traditionele modellen en technieken van RE. Dit is dan ook de reden waarom we overschakelen naar Goal-Oriented Requirements Engineering.
3.2 Goal-Oriented Requirements Engineering De laatste jaren is de populariteit van Goal-Oriented Requirements Engineering (GORE) enorm gestegen (Lapouchnian, 2005). Dit komt, zoals eerder vermeld, omdat de traditionele RE methodes er niet in slagen om de requirements te begrijpen die betrekking hebben tot de high-level belangen in het probleemdomein. Te weinig aandacht ging uit naar “waarom” een bepaald systeem aanwezig moest zijn. In GORE wordt deze nadruk wel gelegd. GORE slaagt erin om de verschillende belangen van alle stakeholders beter te vertegenwoordigen omdat er meer rekening gehouden wordt met de omgeving waarin het systeem operationeel is. Het is niet alleen omdat het traditionele RE vaak tekortschiet dat GORE aan belang wint, maar ook omdat de voornaamste reden voor het succes van een systeem de mate is waarin het voldoet aan de vooropgestelde goals. Deze goals hebben dan exact betrekking op “waarom” een bepaald systeem of proces nodig is in een bedrijf. Het is dan ook logisch dat het identificeren van deze goals één van de hoofdactiviteiten moet zijn tijdens de ontwikkeling van een bedrijfssysteem. GORE houdt zich vooral bezig met het gebruik van goals voor de elicitatie, de uitwerking, het onderhandelen, de documentatie en modificatie van requirements. We kunnen deze activiteiten onderverdelen in de drie voornaamste activiteiten van GORE: goal elicitatie, goal verfijning en goal analyse (van Lamsweerde, 2001; van Lamsweerde & Letier, 2004).
Yu (Yu, 1987) was één van de eerste die het belang van goals in RE heeft aangetoond. Volgens hem bieden goals een criterium voor de volledigheid van de specificatie van de requirements. We komen hier later op terug. Wat zijn goals nu precies? Een goal is het objectief, het doel dat het systeem in ontwikkeling wil bereiken. Het systeem is het toekomstig proces of de toekomstige software die moet ontwikkeld worden samen met de omgeving waarin het actief is. Goals verwijzen dus naar systeemeigenschappen die zeker aanwezig moeten zijn. Dit kan bekeken worden op verschillende niveaus van abstractie. Op het hoogste niveau zijn deze goals dan de strategische belangen van het systeem (vb. klantentevredenheid) en op de lagere niveaus worden deze goals concreter aan de hand van requirements (vb. elke klant moet binnen die 10 minuten bediend worden).
15
Een goal die binnen het nieuwe systeem onder de verantwoordelijkheid van één enkele agent valt, wordt een requirement genoemd. Deze agent kan slaan op mensen met een specifieke rol, machines of een bepaalde software. Een assumptie is een goal die onder de verantwoordelijkheid van de omgeving van het nieuwe systeem valt. Anders dan een requirement kan een assumptie niet verwezenlijkt worden door het nieuwe systeem en kan je deze assumptie dus niet beïnvloeden. Men kan alleen hopen dat deze assumptie geldt of blijft gelden dankzij organisatorische normen en/of de wetgeving (V. Lamsweerde, Darimont, & Letier, 1998; V. Lamsweerde & Letier, 2004; V. Lamsweerde & Willemet, 1998).
Waarom zijn goals nu nodig? Hieronder bevinden zich de voornaamste redenen waarom goals zo belangrijk zijn in RE. Voor een meer gedetailleerde uitwerking wordt er verwezen naar (van Lamsweerde, 2001):
Ten eerste bieden goals zoals eerder gezegd een criterium voor de volledigheid van de specificatie van de requirements. De specificaties zijn volledig indien alle goals kunnen verwezenlijkt worden met de specificaties van de requirements en de domeineigenschappen die op dat moment in rekening gebracht worden (Yu, 1987). Hier gaan we er wel van uit dat alle goals die noodzakelijk zijn geïdentificeerd zijn.
Ten tweede zorgen goals ervoor dat je irrelevante requirements vermijdt. Dit wil zeggen dat je alleen de requirements in overweging neemt die op zijn minst een bijdrage leveren tot één goal (Yu, 1987). Opnieuw ervan uitgaand dat alle goals geïdentificeerd zijn.
Ten derde is het soms niet gemakkelijk om alle stakeholders te overtuigen van het belang van sommige requirements. Goals bieden hier een oplossing, omdat ze de onderliggende reden zijn waarom bepaalde requirements nodig zijn. Dit wordt verduidelijkt door de term “traceability”. Via “traceability” kunnen low-level technische requirements gelinkt worden aan de high-level strategische goals waartoe ze een bijdrage leveren. Op deze manier kan aan iedere stakeholder eenvoudig aangetoond worden waarom voor een bepaalde requirement gekozen is.
Ten laatste worden requirements engineers vaak geconfronteerd met veel alternatieven die ze in overweging moeten nemen in het begin van het RE proces. In dit geval kunnen goal verfijningen helpen om verschillende alternatieve systeemvoorstellen te onderzoeken, doordat goals het juiste niveau van abstractie bieden waarop beslissingsnemers gegronde keuzes kunnen maken uit de voorgestelde alternatieven (A. V. Lamsweerde, 2000).
16
De identificatie van de goals is echter niet altijd een eenvoudige opdracht. Soms worden ze expliciet vermeld door de stakeholders of kunnen ze gemakkelijk achterhaald worden, maar in de meeste gevallen zijn ze impliciet, waardoor ze nog achterhaald moeten worden. Voor de identificatie van deze impliciete goals bestaan er meerdere technieken. Deze maken deel uit van de eerste fase van GORE namelijk de goal elicitatie (Haumer, Pohl, Weidenhaupt, & V, 1998).
De mogelijke technieken bij goal elicitatie zijn zeer verschillend en uiteenlopend. Welke techniek wordt gebruikt, is afhankelijk van de reeds beschikbare informatie. Men kan bijvoorbeeld het huidige systeem analyseren om tekortkomingen of problemen op te sporen en aan de hand daarvan nieuwe goals formuleren. Goals kunnen ook op een systematische manier geïdentificeerd worden door te zoeken naar kernwoorden in interviews met de stakeholders. Ook uit de literatuur en voorbereide documenten kunnen goals geïdentificeerd worden (van Lamsweerde, 2000).
Zoals requirements onderverdeeld werden in functionele en niet-functionele requirements, kunnen we bij goals dezelfde onderverdeling toepassen. Goals worden dus ook opgesplitst in functionele en niet-functionele goals. Functionele goals zijn de staat die een bepaald systeem wil bereiken. Nietfunctionele goals staan voor de verwachte systeemkwaliteiten zoals kost, veiligheid, prestatie, flexibiliteit… Een rijke taxonomie/classificatie van niet-functionele goals kan teruggevonden worden in (Chung et al., 2000). Een veel gebruikt classificatieschema is de standaard ISO/IEC 9126 waarin softgoals opgesplitst worden in vier kwaliteitsniveaus, namelijk kwaliteit in gebruik, externe kwaliteit, interne kwaliteit en proceskwaliteit. Een ander classificatieschema, FURPS, werd ontwikkeld door Hewlett-Packard. Daarin worden de softgoals opgedeeld in functionaliteit, bruikbaarheid, betrouwbaarheid, prestatie en ondersteuning.
Meestal spreken we echter niet over niet-functionele goals, maar over softgoals. Functionele goals worden hardgoals genoemd. Deze softgoals onderaan de softgoal tree vertegenwoordigen de nietfunctionele requirements en zijn een belangrijk aspect van GORE (Mylopoulos, Chung, & Nixon, 1992). Aangezien de niet-functionele requirements zoals eerder vermeld het hele continuüm tussen niet-voldaan en voldaan omvatten, is het bij softgoals ook niet mogelijk om te zeggen of een goal volledig voldaan of niet-voldaan is. Bij hardgoals die zich onderaan de goal tree bevinden en functionele requirements vertegenwoordigen, is dit echter wel het geval. Omdat het bij softgoals niet mogelijk is om te zeggen dat deze goal “satisfied”(verwezenlijkt) is, wordt de term “satisficing” gebruikt om aan te geven in welke mate deze goal vervuld is (Chung & Leite, 1996). Voor deze softgoals is het noodzakelijk om een systeemvoorstel te vinden dat “goed genoeg” is of dat voldoet aan een vooraf opgelegde grens. Bij de keuze tussen verschillende alternatieve systeemvoorstellen, 17
wordt gezocht naar het alternatief dat het “meest” bijdraagt tot alle softgoals of tot de softgoals die het belangrijkst zijn voor de belanghebbenden. Het zal dus ondertussen duidelijk zijn dat voor de keuze tussen deze alternatieven het belang van de niet-functionele requirements niet vergeten mag worden, omdat het succes van een systeem vaak afhangt van de mate waarin deze niet-functionele vereisten en dus ook de softgoals voldaan zijn.
De volgende stap in GORE is de goal verfijning. De goals die we verkregen hebben uit de goal elicitatie moeten verfijnd worden in meerdere subgoals. Dit geldt zowel voor de functionele als voor de niet-functionele goals. We kunnen een onderscheid maken tussen drie decomposities, namelijk een AND-, een XOR- en een IOR- decompositie. De goal die opgesplitst wordt, kunnen we de ‘parent’ goal noemen en de goals waarin deze verfijnd wordt, noemen we vervolgens de subgoals. Wanneer enkel de verwezenlijking van al deze subgoals samen ervoor zorgt dat de parent goal vervuld wordt, dan spreekt men van een AND- decompositie. Indien de parent goal vervuld kan worden door de verwezenlijking van één of meer van de subgoals, dan spreekt men van een IOR- decompositie. Indien de parent goal vervuld kan worden door de verwezenlijking van juist één van de subgoals, dan spreekt men van een XOR- decompositie. Het is belangrijk om op te merken dat deze OR decompositie alternatieve manieren weergeeft waardoor de parent goal verwezenlijkt kan worden. Het aantal alternatieve systeemvoorstellen die weergegeven worden door deze OR- decompositie stijgt exponentieel met een stijgend aantal OR- decomposities. In veel huidig onderzoek ligt de focus op het ontdekken van deze verschillende alternatieven, omdat deze OR- decomposities het mogelijk maken om de variabiliteit waarmee sommige goals vervuld kunnen worden weer te geven. Deze goal verfijning houdt natuurlijk niet op bij de subgoals. De subgoals kunnen op hun beurt verder verfijnd worden via deze decomposities totdat een bepaalde goal onder de verantwoordelijkheid van een agent valt en we kunnen spreken van een requirement zoals eerder vermeld (Mylopoulos et al., 1992).
Bij deze verschillende decomposities zijn de subgoals dus verbonden aan hun parent goal. Er is bijgevolg een link tussen deze goals. Dankzij deze link weten we onmiddellijk dat een parent goal afhankelijk is van zijn subgoals en dat de subgoals dus een bijdrage leveren tot de parent goal. Meestal is het ook mogelijk om de impact van deze bijdrage weer te geven. De verwezenlijking van een subgoal zorgt er immers niet altijd onmiddellijk voor dat de parent goal ook helemaal verwezenlijkt is. Er bestaan verschillende manieren om de bijdrage weer te geven. Zoals we later zullen bespreken bestaan er niet enkel kwalitatieve manieren waarbij gewerkt wordt met “+” en “-” om een positieve of negatieve bijdrage aan te tonen, maar er bestaan ook kwantitatieve manieren die bijvoorbeeld een waarde van [-1,1] gebruiken om de bijdrage die een subgoal levert weer te 18
geven. Er bestaan echter niet alleen linken tussen de parent goal en de subgoals. Zoals eerder gezegd wordt een goal verfijnd tot er een requirement is. Deze requirement levert dan logischerwijs ook een bijdrage tot deze (functionele) goal maar er gaat nog een andere link uit van deze requirement. De verschillende requirements leveren elk ook een verschillende bijdrage tot bepaalde niet-functionele goals wat dan natuurlijk de uiteindelijke kwaliteit van het systeem bepaalt (Chung, Nixon, & Yu, 1996; Letier & van Lamsweerde, 2004).
3.3 Goal Modellen Tijdens de goal analyse, de laatste stap van GORE, worden de goal modellen geanalyseerd die werden opgesteld uit de verschillende goals, hun decomposities en hun links (Amyot et al., 2010). Deze analyse kan op een kwantitatieve of een kwalitatieve manier gebeuren, afhankelijk van de beschikbare informatie. In sommige gevallen wordt ook een combinatie van beide manieren gebruikt.
Hieronder zullen we eerst enkele veel gebruikte GORE methodes bespreken. Deze methodes kunnen we situeren in de verschillende ontwikkelingsfases van RE. Deze fases zijn:
Vroege Requirements
Late Requirements
Architecturaal Design
Gedetailleerd Design
Implementatie
Bij de eerste twee methodes, het NFR framework en het I* framework, ligt de focus vooral op de vroege requirements fase. Bij KAOS ligt de focus eerder op de late requirements fase. Bij Tropos, een uitbreiding van het I* framework, worden alle fases behandeld (Kavakli, 2002).(Figuur 1)
19
Figuur 1: Situering goal models
3.3.1
Het NFR framework
Het NFR framework werd voorgesteld door Mylopoulos in (Mylopoulos et al., 1992) en werd verder uitgewerkt in (Chung et al., 2000). Het NFR framework houdt zich vooral bezig met het modelleren en analyseren van niet-functionele requirements. Het doel van dit framework is om de aandacht van de systeemontwikkelaar, die teveel op de functionele requirements ligt, meer te vestigen op de nietfunctionele requirements. Het framework kan opgedeeld worden in de volgende voornaamste activiteiten:
1. Het vastleggen van de niet-functionele requirements voor het domein waarin het systeem actief is. Eenmaal deze NFRs vastliggen is het nodig om een decompositie te doen van de softgoals die deze niet-functionele requirements vertegenwoordigen. 2. Het identificeren van de mogelijke systeemvoorstellen om het uiteindelijke doel te bereiken. Vervolgens is het noodzakelijk de bijdragen die deze alternatieven leveren tot diverse nietfunctionele requirements te identificeren. 3. Het bepalen van de prioriteiten, onderlinge afhankelijkheden, onduidelijkheden en mogelijke afwegingen (trade-offs) van deze niet-functionele requirements. 4. Het selecteren van mogelijke systeemvoorstellen. 5. De evaluatie van deze geselecteerde systeemvoorstellen om de impact ervan te kunnen bepalen op de niet-functionele requirements en de verbonden softgoals.
20
De bedoeling van het NFR framework is dus in de eerste plaats om op een systematische manier de niet-functionele requirements te modelleren en te verfijnen. Om dan vervolgens de positieve en negatieve invloeden van de verschillende alternatieven op deze niet-functionele requirements te kunnen blootleggen en analyseren.
In dit framework worden de bijdrages tussen de goals en de softgoals, maar ook de bijdrages tussen de goals en de softgoals onderling, voorgesteld door kwalitatieve contributielinks. Deze links bestaande uit help/make en hurt/brake contributielinks worden respectievelijk voorgesteld met behulp van volgende symbolen: “+/++” en “-/--”. Verder wordt er in dit framework ook gebruik gemaakt van een ‘softgoal interdepency graph’ (SIG) om de softgoals, de softgoal decompositie en de softgoal contributielinks grafisch voor te stellen. Als de softgoals verder verfijnd worden, zal de systeemontwikkelaar uiteindelijk een softgoal bereiken die gedetailleerd genoeg is en die niet verder verfijnd kan worden. Door de invloed van verschillende systeemvoorstellen op deze softgoals te bepalen en door gebruik te maken van een label propagatie algoritme, kan de ontwikkelaar de verschillende systeemvoorstellen (alternatieven) evalueren. In dit algoritme worden aan de verschillende softgoals labels toegekend en via vooraf opgestelde regels worden deze labels gepropageerd doorheen het softgoal model. Op die manier is het mogelijk om een label te bepalen voor de softgoal bovenaan het goal model. Dit algoritme wordt verder in meer detail besproken. Het gekozen systeemvoorstel voldoet in ieder geval aan de functionele requirements, maar uit deze evaluatie moet blijken of dit alternatief genoeg voldoet aan de niet-functionele requirements van het systeem. Om aan te geven in welke mate een alternatief voldoet aan deze softgoals, wordt de term ‘satisfice’ gebruikt.
Om te besluiten kan er opgemerkt worden dat dit framework vertrekt van een procesgeoriënteerde methode (Mylopoulos et al., 1992). In de procesgeoriënteerde methode probeert men namelijk vooral het ontwikkelingsproces zodanig aan te passen dat dit proces direct in lijn ligt met de nietfunctionele requirements. Daarin verschilt ze van de productgeoriënteerde methode. In de productgeoriënteerde methode wordt het eindproduct vergeleken met de niet-functionele requirements en wordt er gecontroleerd of het eindproduct voldoet aan deze requirements (Lapouchnian, 2005).
21
3.3.2
KAOS
KAOS is een methode uit GORE die zoals de andere goal modellen een aantal analysetechnieken bevat. KAOS staat voor ‘Knowledge Acquisition in autOmated Specification’ of voor ‘Keep All Objects Satisfied’. In KAOS wordt er gebruik gemaakt van semantische netten voor het modelleren van goals, assumpties, agents, objecten en activiteiten (Dardenne, 1993).
In KAOS wordt een goal gedefinieerd als een ‘statement die de uiteindelijke bedoeling van een systeem beschrijft, waarvan de verwezenlijking afhangt van de samenwerking van verschillende agents waaruit het systeem bestaat’. Deze goals kunnen opnieuw verwijzen naar zowel functionele als niet-functionele goals en ze worden evenzeer opgesplitst via de reeds gekende AND- en ORdecomposities. De verfijning van goals eindigt wanneer elke subgoal verwezenlijkt kan worden door een bepaalde agent die aan deze subgoal toegewezen wordt. Opnieuw worden agents gebruikt om te verwijzen naar mensen, machines of software (van Lamsweerde & Letier, 2004). KAOS is opgebouwd uit vier kernmodellen: een goal model, een responsibility model, een object model en een operation model (Bernaert & Poels, 2011; Objectiver, 2007)
In het goal model wordt de bestaansreden van een goal duidelijk doordat alle goals gerechtvaardigd kunnen worden door minstens één goal van een hoger niveau. Alle goals (behalve de goals onderaan de structuur) kunnen verfijnd worden in één of meerdere subgoals. Hiervoor bestaan er twee vormen van verfijning, namelijk AND- en OR- decompositie. Als laatste kunnen we opmerken dat de goals bovenaan het goal model van meer strategische aard zijn en dat de goals onderaan het model van meer operationele aard zijn. In het responsibility model worden de agents die verantwoordelijk zijn voor de uitvoering van bepaalde goals voorgesteld. Het object model bevat eerder een soort verklarende woordenlijst, waarin de karakteristieken van de verschillende agents in het model worden uitgelegd. Verder bevat het object model de middelen die als input dienen voor een operatie en de output van deze operatie. In het operator model worden ten slotte de mogelijke manieren voorgesteld waarop een agent een requirements kan vervullen. Een requirements kan geoperationaliseerd worden door objecten, door agentes of door een combinatie van beide.
In KAOS bestaan er ook zowel functionele als niet-functionele goals. KAOS biedt momenteel echter nog geen methode om de impact van verschillende ontwerpbeslissingen met betrekking tot nietfunctionele requirements te evalueren, al kan een zekere variatie van het NFR framework en zijn kwalitatieve methode gemakkelijk geïntegreerd worden in KAOS (Lapouchnian, 2005).
22
3.3.3
I*/TROPOS
Het I* framework is een agent-georiënteerd framework dat kan opgesplitst worden in twee delen: het Strategic Dependency (SD) model en het Strategic Rationale (SR) model. I* kan zowel in de vroege requirements fase als in de late requirements fase gebruikt worden. Tijdens de vroege requirements fase wordt het I* framework gebruikt om de omgeving waarin het toekomstig systeem zich zal bevinden te modeleren. Het vereenvoudigt de analyse van de omgeving omdat het toelaat de stakeholders, hun objectieven en hun relaties schematisch voor te stellen. Dit laat toe om de onderliggende reden waarom een bepaald systeem nodig is, te onderzoeken. In de late requirements fase, wordt het I* model eerder gebruikt om nieuwe, alternatieve systeemconfiguraties en daarbij dus hun nieuwe processen, te evalueren. Hierbij kijkt men vooral hoe goed het nieuwe systeem voldoet aan de functionele en niet-functionele wensen van de gebruikers.
I* focust zich vooral op twee begrippen, namelijk “intentional actor” en “intentional dependency”. Actors worden gebruikt om de stakeholders of agenten van het toekomstig systeem voor te stellen. Aan deze actors kunnen verschillende attributen gekoppeld worden zoals hun goals, vaardigheden, overtuigingen en verplichtingen. In I* modellen gebeurt het dikwijls dat een bepaalde actor afhangt van andere actors voor het bereiken van zijn goals, het uitvoeren van zijn taken of voor de toevoer van de middelen waarover hij zelf niet beschikt of waarover hij zelf niet op een goedkope, efficiënte manier kan beschikken. Ook in I* kunnen deze actors mensen met specifieke vaardigheden, machines of softwaresystemen voorstellen. De afhankelijkheden (links) tussen verschillende actors worden intentional genoemd omdat die actors aan elkaar gekoppeld worden om op die manier het doel te bereiken.
Het Strategic Dependency (SD) model is een netwerk van links tussen actors. Het SD model probeert weer te geven aan welke processen de stakeholders het meeste belang hechten. Tijdens de late requirements fase wordt dit SD model vervolgens gebruikt om veranderingen of alternatieven te analyseren. Het Strategic Rationale (SR) model wordt eerder gebruikt om de reden achter bepaalde processen in systemen en in organisaties te achterhalen. Dankzij het SR model is het mogelijk om beter te begrijpen wat een bepaalde actor juist nodig heeft en hoe deze nood kan vervuld worden. Het maakt het ook mogelijk om de invloed van verschillende alternatieven op elke actor beter te analyseren.
Ook in dit model wordt er gewerkt met 2 decomposities, namelijk de AND- en de OR- decompositie. Verder wordt hier ook gebruik gemaakt van de means-ends links. Means-ends links worden meestal
23
gebruikt bij goals en specificeren alternatieve manieren om die goals te bereiken. De links die worden gebruikt, specificeren twee niveaus van positieve bijdrages (“+” en “++”) en twee niveaus van negatieve bijdrages (“-” en “--”) ten opzichte van softgoals, het uitvoeren van taken of het bereiken van andere goals. Dit kan vergeleken worden met het NFR framework. Ook hier worden softgoals
gebruikt
als
selectiecriteria
bij
de
keuze
tussen
verschillende
alternatieve
systeemconfiguraties (Yu, 1995, 1997).
Het I* framework vormt de basis voor Tropos. Tropos is een requirements gestuurde agentgeoriënteerde ontwikkelingsmethodologie. De Tropos methodologie begeleidt de ontwikkeling van agent-gebaseerde systemen vanaf de vroege requirements fase doorheen het architecturaal en gedetailleerde design tot aan de implementatie. Tropos maakt gebruik van het I* framework om de requirements voor te stellen en te analyseren (Bresciani, Perini, & Giorgini, 2004; Giorgini, Kolp, Mylopoulos, & Pistore, 2004).
3.4 Actief onderzoek in GORE Er is de laatste jaren veel onderzoek verricht en er is momenteel nog altijd veel onderzoek aan de gang in meerdere domeinen van GORE. In deze masterproef proberen we om een methode te vinden die de keuze tussen verschillende processen vereenvoudigt. Dit gebeurt zoals eerder vermeld binnen het gebied van GORE. Meer bepaald ligt de focus vooral op de goal analyse. Hierbij zijn veel verschillende methodes mogelijk. Zoals later duidelijk wordt bestaan er zowel kwalitatieve, kwantitatieve als hybride (combinatie van beide) methodes. In het volgende deel zullen we enkele prominente papers in meer detail bespreken. Een recent overzicht van reeds bestaande methodes en hun specifieke manier van werken kan teruggevonden worden in (Horkoff & Yu, 2011).
De eerste methode die we hier beschrijven, vinden we terug in (Giorgini, Mylopoulos, & Nicchiarelli, 2003; Sebastiani, Giorgini, & Mylopoulos, 2004). Hierin wordt een kwalitatieve methode voorgesteld om goal modellen te evalueren.
Zoals reeds aangehaald, bestaan de goal modellen uit verschillende goals die verfijnd worden in subgoals via de AND- en OR- decomposities. Wanneer een goal G dus verfijnd wordt in subgoals G1, G2, …, Gn via een AND- decompositie (respectievelijk, een OR- decompositie), dan betekent dit dat bij een AND- decompositie (respectievelijk een OR- decompositie), elk van (minstens één van) deze subgoals vervuld moeten zijn om goal G te vervullen. 24
Gegeven een goal model dat bestaat uit een reeks van AND en OR relaties, is het mogelijk om via een label propagatie algoritme het goal model te evalueren. Dit gebeurt door een set van initiële labels (S of D) aan de knooppunten van het model toe te kennen. Hierbij wordt het label “S” toegekend indien een subgoal vervuld is (satisfied) en het label “D” indien een subgoal niet vervuld is (denied)(Nilsson, 1971). Via een simpel algoritme is het dan mogelijk om deze labels te propageren doorheen het goal model om zo te bepalen of de ‘target’ goal vervuld is. Als dit toegepast wordt op de onderstaande figuren, kunnen we eenvoudig besluiten dat bij Figuur 2 zowel G2 als G3 het label “S” moeten krijgen opdat goal G vervuld is. Bij Figuur 3 moet slechts een van de twee subgoals het label “S” krijgen om ervoor te zorgen dat G vervuld is. Figuur 2: AND Decompositie
Figuur 3: OR Decompositie
Jammer genoeg is het gebruik van dit simpele algoritme ontoereikend in veel toepassingsgebieden waar de goals niet altijd duidelijk gedefinieerd kunnen worden als “satisfied” of als “denied” en waar
25
de relaties tussen de verschillende goals niet altijd kunnen gedefinieerd worden met de AND/OR relaties. Het eerste probleem komt vooral voor bij softgoals omdat deze zoals eerder vermeld vaak in het gebied liggen tussen vervuld en niet-vervuld. Bijvoorbeeld bij een goal zoals “een zeer betrouwbaar systeem” is er geen regel die zegt vanaf wanneer deze goal vervuld is. Deze goal kan verfijnd worden in verschillende andere goals zoals “grondige foutdetectie systeem” en “grondig getest” waarbij de vervulling van deze goals duidelijk een bijdrage zal leveren tot de goal “een zeer betrouwbaar systeem”, maar het is onduidelijk hoe groot deze bijdrage zal zijn. Verder is het ook niet altijd zo dat wanneer de subgoals vervuld zijn, de parent goal voldoende vervuld is. Dit eenvoudig algoritme zal men ook niet kunnen toepassen wanneer er tegenstrijdige contributies zijn tot eenzelfde goal. Dit is bijvoorbeeld het geval wanneer een goal G opgesplitst wordt in subgoals waarbij sommige een positieve bijdrage leveren tot deze goal en er dus voor zorgen dat goal G vervuld wordt, terwijl andere subgoals een negatieve bijdrage leveren en dus zorgen dat goal G niet bereikt wordt.
3.4.1
Kwalitatief redeneren met goal modellen
Er moest dus gezocht worden naar een framework dat het mogelijk maakt om op een meer kwalitatieve manier te redeneren met goals en om hierbij te kunnen werken met tegenstrijdige relaties. Hier slagen ze in door de simpele goal relaties “+” en “-” te introduceren. Dit betekent respectievelijk dat een goal een positieve en een negatieve bijdrage levert tot de vervullingen van een andere goal. Bijvoorbeeld wanneer we hebben +(G,G’), dit betekent dat wanneer goal G is vervuld, dat goal G’ een positieve bijdrage krijgt en dat goal G’ vervolgens goal G’ gedeeltelijk vervuld is.
Daarbovenop wordt er ook gebruik gemaakt van de al gekende “++” (respectievelijk “--”) relaties. Dit zijn zogenaamde binaire relaties zodat ++(G,G’) betekent dat het verwezenlijken van G, de verwezenlijking van G’ impliceert en bij --(G,G’) komt de verwezenlijking van G erop neer dat G’ niet verwezenlijkt wordt. Deze “++” en “-- ” relaties werden al toegepast in het eenvoudige algoritme en worden soms ook binaire relaties genoemd omdat ze ofwel volledig vervuld ofwel volledig niet vervuld propageren.
Tot nu toe gingen we ervan uit dat de goal relaties +(G,G’) tweeledig (symmetrisch) zijn. Daarmee wordt bedoeld dat we bijvoorbeeld bij +(G,G’) ervan uitgingen dat wanneer G vervuld is, dat G’ dan gedeeltelijk vervuld is en tweeledig dat wanneer G niet vervuld is, dat G’ gedeeltelijk niet vervuld is als gevolg hiervan. Hier moet er opgemerkt worden dat deze tweeledigheid niet altijd geldt en dat
26
deze relatie soms alleen maar geldig is voor alleen een positieve of alleen een negatieve bijdrage en dat deze bijdrage dus niet zomaar als symmetrisch beschouwd mag worden. Om duidelijker aan te geven of een relatie al dan niet symmetrisch is worden de relaties -S,-D, +S en +D geïntroduceerd.
Doordat niet alle relaties symmetrisch zijn, is het logisch dat er drie mogelijke labels bestaan voor elke relatie type
. De drie mogelijk labels zijn: “rS”, “rD”, “r” . Deze labels
betekenen respectievelijk dat de “satisfaction” wordt gepropageerd, dat de “denial” wordt gepropageerd en dat beide worden gepropageerd. De eerste twee zijn duidelijk asymmetrisch omdat ofwel “satisfaction” ofwel “denial” gepropageerd wordt terwijl de laatste duidelijk symmetrisch is. Een voorbeeld hiervan is, G2
G1. Dit betekent dat wanneer G2 voldaan is, er in zekere mate
bewezen is dat G1 niet voldaan is, maar indien G2 niet voldaan is, dan kan er niets gezegd worden over de mate waarin G1 voldaan is. De symmetrische relatie G2 twee volgende asymmetrische relaties G2
G1 en G2
G1 is dus een combinatie van de
G1 .
De relaties (++,+,-,--) die bestaan tussen de verschillende goals werden reeds verduidelijkt. Door de introductie van deze nieuwe relaties die de partiële bijdrage weergeven, is het ook nodig om de reeds bestaande labels namelijk “S” en “D” ook verder uit te breiden. In totaal kunnen we nu vier labels definiëren namelijk “FS”, “PS”, “PD” en FD”.
Maar wat betekenen deze labels nu? Als G1, G2, … goal labels voorstellen, dan betekent FS(G), FD(G) en PS(G), PD(G) respectievelijk dat er volledig bewijs is dat goal G vervuld is en dat G niet vervuld is, en dat er op zijn minst gedeeltelijk bewijs is dat G vervuld is en dat G niet vervuld is. FS(G) en FD(G) betekenen respectievelijk “Full (volledige) satisfaction” en “Full (volledige) denial” van goal G. PS(G) en PD(G) betekenen dan respectievelijk “Partial (gedeeltelijke) satisfaction” en “Partial (gedeeltijke) denial” van goal G. Indien er geen enkel bewijs is om aan te tonen dat een goal G vervuld of niet vervuld is, wordt het label “T” toegekend. Dit label staat voor “triviaal waar” en betekent dus dat goal G geen significante betekenis heeft. De labels kunnen als volgt geordend worden FS(G) ≥ PS(G) ≥ T en FD(G) ≥ PD(G) ≥ T.
Om deze labels te “propageren” doorheen het goal model, wordt er gebruik gemaakt van axioma’s. De axioma’s die we hiervoor gebruiken kunnen teruggevonden worden in Figuur 4.
27
Figuur 4: Axioma's label propagatie (Giorgini et al., 2003)
Axioma (1) in de figuur benadrukt dat FS en FD automatisch ook respectievelijk PS en PD impliceren. Bij axioma’s (2) en (3) wordt de betekenis van een AND decompositie nog eens verduidelijkt. Om FS van goal G te verkrijgen is het nodig dat alle subgoals Gi ook het label FS hebben. Hetzelfde geldt voor PS, FD en PD. Bij axioma (4) zorgt de “+s” relatie ervoor dat de PS van G2 ervoor zorgt dat G1 ook het label PS krijgt. Hetzelfde gebeurt bij axioma (5) maar dan langs de negatieve kant. Bij axioma (6) zorgt de “++s” relatie ervoor dat het volledige label van G2 gepropageerd wordt naar G1. Hetzelfde, maar dan langs de negatieve kant gebeurt opnieuw bij axioma (7).
Uit de combinatie van deze axioma’s kunnen axioma (13) en (14) afgeleid worden (Figuur 5). Axioma (13) stelt dat bij een AND relatie telkens de minimale waarde gepropageerd wordt. Axioma (14) stelt op zijn beurt dat er bij een “+s” relatie maximaal een partiële bijdrage gepropageerd kan worden.
Figuur 5: Afgeleide axioma's (Giorgini et al., 2003)
Tabel 1: Propagatie regels in een kwalitatief framework (Giorgini et al., 2003)
28
Deze axioma’s worden gebruikt bij het label propagatie algoritme. Aan elke goal G van een goal model worden twee variabelen toegekend, namelijk Sat(G) en Den(G). Deze variabelen liggen elk in het interval {F, P, N} (volledige, gedeeltelijk, niets). Aan de goals aan het uiteinde van het goal model worden dan initiële waarden toegekend en via de regels uit Tabel 1 worden deze waarden gepropageerd doorheen het goal model tot uiteindelijk de waarde van de “target” goal bepaald is. In de eerste kolom van Tabel 1 bevinden zich de regels voor een AND- relatie en zoals net vermeld wordt bij een AND relatie steeds de minimale waarde gepropageerd. In de volgende twee kolommen wordt een partiële bijdrage gepropageerd en zoals net vermeld kunnen “+s” en “-s” alleen maar PS en PD propageren waardoor steeds het minimum genomen wordt van Sat(G2) en P. De laatste twee kolommen bevatten de “++s” en “--s” relaties. Deze relaties kunnen er wel voor zorgen dat een volledig label gepropageerd wordt.
Verder wordt er gesproken van een zwak conflict wanneer aan een goal G zowel PS(G) en PD(G), FS(G) en PD(G), PS(G) en FD(G) wordt toegekend via meerdere inkomende relaties. Er wordt gesproken van een sterk conflict wanneer er zowel FS(G) als FD(G) geldt voor een bepaalde goal G.
Gebaseerd op de label propagatie methode, werd er vervolgens een algoritme voorgesteld om deze labels automatisch te kunnen propageren doorheen het goal model. Hierbij is het enkel nodig om initiële labels toe te kennen aan de knooppunten van het model en het algoritme bepaalt dan via de regels uit Tabel 1 het uiteindelijke label van de “target” goal. De uitwerking van dit algoritme gebeurt echter niet altijd manueel omdat in veel gevallen het goal model daar te uitgebreid voor is. Voor de uitwerking van zo een model wordt dan dikwijls gebruik gemaakt van een tool genaamd GOALSOLVE. Meer informatie over deze tool kan teruggevonden worden in (Sebastiani et al., 2004).
In (Giorgini et al., 2003), de paper die net besproken werd, werd er gebruik gemaakt van de zogenaamde voorwaartse propagatie, ook wel de bottom-up aanpak genoemd. Hiermee wordt bedoeld dat een goal model het vertrekpunt vormt en dat de gebruiker initiële waarden toekent aan de goals op het einde van het model, ook wel input goals genoemd. Deze waarden worden vervolgens voorwaarts gepropageerd volgens de regels uit Tabel 1. De gebruiker kan op die manier de finale waarden bepalen van de top goals (soms ook wel target goals of root goals genoemd). In (Sebastiani et al., 2004) wordt hierop verder gebouwd, maar er wordt gewerkt met een achterwaartse propagatie, ook wel top-down aanpak genoemd. Bij deze achterwaartse propagatie wordt er gezocht naar mogelijk inputwaarden die leiden tot de gewenste finale waarden van de top goals onder de gewenste beperkingen. De gebruiker bepaalt de gewenste finale waarden en er wordt 29
vervolgens gezocht naar mogelijke initiële waarden waarmee men via voorwaartse propagatie aan deze finale waarden zou komen.
In Figuur 6 kunnen de axioma’s voor achterwaartse propagatie teruggevonden worden. De axioma’s in Figuur 6 bepalen telkens welke waarden de subgoals van goal G moeten hebben afhankelijk van de gewenste waarde van goal G en de relatie die er is tussen goal G en zijn subgoals. Bijvoorbeeld bij de axioma’s links bovenaan moet uiteindelijk telkens FS(G) bereikt worden. Bij de eerste regel is er een AND- relatie waardoor het noodzakelijk is dat alle subgoals ook de waarde FS(Gi) bezitten. Bij de tweede regel is er een IOR- relatie. Bij deze relatie is het nodig dat minstens één subgoal Gi de waarde FS(Gi) bezit maar er mogen ook meerdere subgoals deze waarde bezitten. Bij de derde en de vierde regel is een “++s” of een “--s” relatie nodig zodat een subgoal die FS(Gi) of FD(Gi) bezit, ervoor zorgt dat goal G de gewenste waarde krijgt. Dit komt omdat een “++s” of een “--s” relatie nodig is om een volledige waarde te propageren.
Figuur 6: Axioma's voor achterwaartse propagatie (Sebastiani et al., 2004)
Het gebruik van input en target goals verdient toch wat extra uitleg. Goal modellen kunnen in sommige gevallen een cyclus bevatten. In deze gevallen is het soms niet onmiddellijk duidelijk welke target goals zijn en welke input goals. In de meeste gevallen kunnen we er echter van uitgaan dat de input goals leaf goals zijn en de target goals de root goals zijn. De keuze kan overgelaten worden aan de gebruiker, maar toch moeten een aantal regels gevolgd worden. Elk pad dat binnenkomt in een target goal moet afkomstig zijn van een input node. Een voldoende voorwaarde hiervoor is dat alle leaf goals input goals zijn. Een klein voorbeeld ter verduidelijking (Figuur 7).
30
Figuur 7: Input en target goals (Sebastiani et al., 2004)
In dit voorbeeld is G0 de target goal en zijn G2 en G3 de input goals. Verder merken we op dat G0 en G1 een cyclus vormen zonder input goals. Als we de finale waarde FS(G0) toekennen aan de target goal, dan kunnen we volgens de achterwaartse propagatie stellen dat we FS(G1) hebben en vervolgens terug FS(G0). Dus kan FS(G0) bepaald worden via voorwaartse propagatie van G1 zonder de waarden van de input goals. Dit mag natuurlijk niet gebeuren. Als in de plaats daarvan G1 een input goal is dan kunnen we vaststellen dat ofwel FS(G1) of FS(G2) en FS(G3) de nodige initiële waarden zijn om de finale waarde te bereiken.
In (Sebastiani et al., 2004) gaan de auteurs ook op zoek naar een methode om een goal model te evalueren, maar hierbij proberen ze de oplossing te vinden die de kost minimaliseert. Als we opnieuw een goal model (G,R) met input goals Gi1, …, Gik en target goals Gf1, …, Gfn bekijken en we bepalen de gewenste finale waarden vs(Gf1), vd(Gf1), …, vs(Gfn), vd(Gfn) van de target goals. φ is de formule die het probleem codeert, indien φ niet vervuld is, dan betekent dit dat er geen initiële waarden bestaan waarmee de gewenste finale waarden kunnen bereikt worden via voorwaartse propagatie. Indien φ wel vervuld kan worden, dan betekent dit dat er een toewijzing bestaat waarmee de finale waarden wel bereikt kunnen worden. Van alle mogelijke toewijzingen die ervoor zorgen dat φ vervuld is, proberen ze vervolgens te achterhalen welke toewijzing er dezelfde tijd ook voor zorgt dat de kosten geminimaliseerd worden. Hiervoor is ook een tool ontwikkeld, GOALMINSOLVE genaamd (Sebastiani et al., 2004).
Een recenter werk in het kwalitatief evalueren van alternatieven is (J. Horkoff & Yu, 2009). In deze paper wordt een kwalitatieve, interactieve evaluatieprocedure voorgesteld om goal- en agentgeoriënteerde modellen te evalueren. In de vorige onderzoeken lag de focus te veel op geautomatiseerde procedures waardoor de mogelijkheid voor de gebruiker om tussen te komen in de analyse gelimiteerd was. Bij de in deze paper voorgestelde procedure is het wel mogelijk voor de gebruiker om de evaluatie bij te staan met domeinkennis die niet meegerekend werd in het model. De procedure wordt ondersteund met het I* Framework en verder verduidelijkt met een case studie. Dit is dezelfde case studie waarmee het voorgestelde model uit deze masterproef getest wordt. 31
Bij deze casestudie wordt er vertrokken van een non-profit organisatie die telefonische raad biedt aan jongeren, maar meer jongeren wil helpen door gebruik te maken van het internet. Online counseling zou ideaal zijn om meer individuen te bereiken en zou een comfortabele afstand bieden waardoor de jongeren makkelijker contact kan zoeken. Ook zou de grens voor het vragen van hulp op die manier verlaagd worden. Maar er zijn ook enkele vraagtekens bij online counseling. Zo gaat het persoonlijk contact verloren en zijn er ook vragen omtrent de geheimhouding, de bescherming tegen mensen met slechte bedoelingen en het verkeerd interpreteren van de raad. De vraag is hier dus hoe een organisatie de verschillende mogelijkheden voor online counseling kan onderzoeken en evalueren.
Via goal- en agent- georiënteerde modellen is het mogelijk om een model op te stellen dat verschillende alternatieven bevat en waarbij deze alternatieven positief of negatief bijdragen tot softgoals die op hun beurt bijdragen tot andere softgoals. Zoals reeds duidelijk geworden is, is het nuttig om te bepalen in welke mate bepaalde goals bereikt worden wanneer een bepaald alternatief geselecteerd wordt. Dit is natuurlijk niet altijd even gemakkelijk omdat er meerdere relaties zijn tussen de verschillende softgoals. Daarom is het nodig om over een procedure te beschikken die het mogelijk maakt om het effect van verschillende alternatieven te analyseren doorheen een goal netwerk. Deze procedure maakt gebruik van labelpropagatie via de links tussen softgoals. Deze labelpropagatie hebben we hierboven reeds besproken en uitgelegd aan de hand van (Giorgini et al., 2003; Sebastiani et al., 2004). Het is dus duidelijk dat de softgoals cruciaal zijn bij het evalueren van alternatieven.
De kwalitatieve, interactieve procedure maakt het mogelijk om verschillende alternatieven in het domein
te
vergelijken.
Deze
alternatieven
kunnen
alternatieve
systeem
of
proces
ontwerpbeslissingen zijn, of een alternatieve gang van zaken. De procedure wordt zoals gezegd voorgesteld gebruik makend van het I* Framework, maar het zou evengoed kunnen voorgesteld worden via andere goal georiënteerde modellen (NFR, KAOS, GRL).
Om het model op te stellen wordt er gebruik gemaakt van een aantal stappen. In de eerste plaats moet duidelijk zijn wat het doel is van het model en moeten alle elementen uit het model geïdentificeerd worden. Vervolgens moeten de relaties tussen deze actors ook in kaart gebracht worden.
32
Als we terugkeren naar het probleem van online counseling, werd na het uitvoeren van de eerste stappen onderstaand model opgesteld (Figuur 8). Onmiddellijk kan er onderscheid gemaakt worden tussen drie actors: de organisatie (organization), de jongeren (kids and youth) en de raadgevers (counsellors). We kunnen ook onmiddellijk twee alternatieve manieren van online counseling terugvinden. De eerste manier is via het versturen van tekstberichten met een mobiele telefoon en de tweede manier is via een online cybercafé/portal/chat room. De invloed van elk alternatief op de softgoals is ook weergeven via de contributielinks. Het is onmiddellijk t duidelijk dat zelfs voor dit gemakkelijk voorbeeld waarbij er slechts twee alternatieven zijn, er onmiddellijk een complex web van contributies en afhankelijkheden ontstaat.
Figuur 8: Model online counseling (J. Horkoff & Yu, 2009)
De laatste stap is voor deze masterproef de belangrijkste. In deze stap worden de verschillende alternatieven geëvalueerd. De procedure die hiervoor gebruikt wordt, start vanuit de algemene vraag: “Hoe effectief is een alternatief met betrekking tot de goals van het model?”. De procedure werkt eveneens met kwalitatieve evaluatielabels die worden toegewezen aan goals om de mate waarin een goal bereikt is weer te geven. In het begin van de procedure is het dus nodig om initiële 33
labels toe te wijzen aan de goals die gerelateerd zijn aan de algemene vraag. De waarden worden vervolgens gepropageerd doorheen het model, gebruik makend van de propagatie regels. De interactieve aard van de procedure is belangrijk om te bepalen of bepaalde softgoals al dan niet voldoende bereikt zijn. Meer details in verband met deze procedure kunnen teruggevonden worden in (J. Horkoff, 2006).
De kwalitatieve labels die werden overgenomen uit het NFR framework, geven we opnieuw weer in onderstaande tabel. In deze tabel is duidelijk te zien hoe de label propagatie werkt. Er wordt vertrokken van een goal met een gekend label. Dit label is dus opnieuw ofwel FS, PS, FD of PD. Conflicten wijzen op de aanwezigheid van tegenstrijdige labels of ongeveer dezelfde sterkte. Ongekend betekent dat er geen bewijs is voor een positieve of negatieve vervulling van de goal. Vervolgens worden de labels via de contributielinks gepropageerd naar de goals waarmee ze verbonden zijn. Uit Tabel 2 kan dan telkens afgeleid worden welk label gepropageerd zal worden naar bepaalde goals via één contributielink. De verschillende contributielinks die hierbij gebruikt worden zijn “Make”, “Help”, “Some+”, “Break”, “Hurt”, “Some-“ en “Unknown”. Neem bijvoorbeeld de eerste rij uit Tabel 2. Hier wordt vertrokken van een goal G1 die het label FS bezit. Deze goal G1 levert een bijdrage tot G2 via een contributielink die bestaat uit één van de voorgaande types. Indien G1 een bijdrage levert tot G2 via de “Make” contributielink, dan wordt de volledige waarde FS gepropageerd naar G2. G2krijgt vervolgens dus het label FS toegekend. Indien de contributielink in plaats van “Make” een “Hurt” contributielink zou zijn, dan zou G2 het label PD toegekend krijgen.
Tabel 2: Propagatie regels met contributielinks (J. Horkoff & Yu, 2009)
Die regels alleen zijn echter niet voldoende. Het label dat wordt toegekend aan een goal dat meerdere inkomende contributielinks heeft is nog steeds niet bepaald door bovenstaande regels. Daarvoor wordt er gebruik gemaakt van de term “label bag”, die werd ingevoerd in (Chung et al., 2000). In deze “label bag” worden alle inkomende contributielinks opgeslagen en wordt het label van de goal bepaald, gebruik makend van onderstaande tabel of door menselijke beoordeling indien deze tabel ontoereikend is. 34
Tabel 3: Label regels bij meerdere inkomende contributielinks (J. Horkoff & Yu, 2009)
In onze casestudie (Figuur 8,Figuur 9) krijgt de softgoal “Immediacy” in de actor “Kids and Youth” twee inkomende contributielinks. Afhankelijk van de initiële toewijzing van de waarden krijgen de twee alternatieven ofwel een “satisfied” of een “denied”. Indien er gekozen wordt om gebruik te maken van een cyber café/portal/chat room, dan krijgt de softgoal “Immediacy” twee inkomende links, waarvan één een “satisfied” en de andere een “partially satisfied”. Via de derde regel uit Tabel 3 kan aan deze softgoal het label “satisfied” toegekend worden.
Menselijke beoordeling wordt soms toegepast om een label toe te kennen aan een softgoal in de gevallen dat Tabel 3 geen duidelijkheid schenkt. Een menselijke beoordeling kan in sommige gevallen een label promoveren van “partially satisfied” tot “satisfied” wanneer de verantwoordelijke persoon over voldoende kennis beschikt over het domein waarbinnen het systeem zich bevindt. Een voorbeeld hiervan kan ook teruggevonden worden in de casestudie (Figuur 9). De softgoal “Happiness” (Counsellors) is bepaald door menselijke beoordeling. Deze softgoal ontvangt verschillende inkomende contributies van onder andere “Avoid Burnout”, “High Quality Counselling” en “Help as many Kids as Possible”. Via “Avoid Burnout” en “High Quality Counselling” ontvangt deze softgoal twee keer “partially denied”, maar via “Help as many Kids as Possible” ontvangt het een “partially satisfied”. Dit geval is niet terug te vinden in Tabel 3 dus moet de menselijke oordeling beslissen welk label aan de softgoal “Happiness“ toegekend wordt. Zo werd er besloten om het label “partially denied” toe te kennen omdat de raadgevers ongelukkig zouden zijn in deze situatie. Dergelijke situaties staan natuurlijk open voor mogelijke discussies met de betrokken stakeholders
Een laatste opmerking die gemaakt moet worden voor we het model kunnen evalueren, is dat in sommige gevallen cycli in het model aanwezig zijn waardoor sommige softgoals indirect zichzelf 35
beïnvloeden. Het is belangrijk dat de beoordelaar hiervan op de hoogte is en hiermee rekening houdt.
Om de evaluatie van het model te kunnen starten is het noodzakelijk dat er een set van initiële waardes wordt toegekend aan het model. Als we dit toepassen op de vorige figuur door ons af te vragen wat het effect is van het gebruiken van een cybercafé/Portal/Chat room voor online counseling, dan krijgen we volgende initiële labels zoals vermeld in Figuur 9 (omcirkelde labels).
Figuur 9: Model online counseling met initiële warden (J. Horkoff & Yu, 2009)
We keren nu terug naar dezelfde vraag: “Wat is het effect indien we gebruik maken van een Cybercafé/portal/chat room voor online counseling?” Het is mogelijk om het model te evalueren voor elke actor afzonderlijk. Voor de kinderen en de jongeren wordt via dit alternatief “Immediacy” en “Comfortable Service” bereikt maar het is negatief voor “Anonimity”. Voor de softgoal “Get Effective Help” krijgen we uiteindelijk slechts het label “weakly satisfied”. Vanuit het standpunt van de raadgevers is de “Counsellors Happiness” “weakly negative”. Vanuit het standpunt van de organisatie wordt via het model bepaald dat “Help Kids” te veel tegenstrijdige contributies heeft, dus het label “conflicting” wordt hier toegekend. Al bij al is dit alternatief niet goed en is het dus nodig 36
om de andere alternatieven te beoordelen of om te brainstormen over eventuele andere mogelijkheden om online counseling op een betere manier aan te bieden.
3.4.2
Kwantitatief redeneren met goal modellen
Naast kwalitatieve methodes zijn er ook een aantal werken die de goal modellen op een kwantitatieve manier evalueren. Het Goals-Skills-Preferences framework (Hui & Liaskos, 2003) is er één van de eerste van.
3.4.2.1 Goals-Skills-Preferences framework In het Goals-Skills-Preferences Framework (Hui & Liaskos, 2003) wordt ook voor één van de eerste keren aandacht besteed aan de preferenties van de stakeholders en wordt zoals vermeld een kwantitatieve manier voorgesteld om het goal model te evalueren.
Volgens de auteurs slagen de huidige methodes er niet in om het belang van verschillende gebruikers, die elk over verschillende skills en preferenties beschikken, te erkennen en deze te integreren in een op maat gemaakt systeemontwerp. In deze paper wordt een framework voorgesteld om tijdens de goal analyse niet alleen de goals in rekening te brengen, maar om ook de skills en preferenties te integreren.
In softwareontwikkeling wordt er meestal alleen gewerkt met een “one size fits all” model dat ontworpen is voor een grote groep gebruikers in plaats van te focussen op de wensen van één specifieke gebruiker (Fickas, Ehlhardt, Sohlberg, & Todis, 2000). In de praktijk zijn er namelijk heel veel verschillende gebruikers met elk een uiteenlopend niveau van expertise, met verschillende voorkeuren, behoeften en goals. Voor deze gebruikers is er volgens de auteurs een aangepaste requirements analyse nodig.
Hoe gaan ze hier te werk? Ten eerste wordt er voorgesteld om de verschillende parameters die nodig zijn voor deze aangepaste requirements analyse te identificeren. Naast de gebruikelijke goals, is het nu ook nodig om de skills en de preferenties van de gebruikers vast te leggen. Hieronder wordt elk onderdeel meer in detail besproken.
37
1. Goals: De basis voor dit model is het goal analyse model. Goal analyses zijn zoals eerder uitgelegd een handige modelleertechniek voor de analyse en decompositie van requirements. Tijdens de ontwikkeling kunnen we goal analyse gebruiken om alternatieve systeemontwerpen te ontdekken door de goals van de gebruikers te verfijnen tot wanneer ze vervuld kunnen worden door een agent. In het goals-skills-preferences framework wordt ook gebruikt gemaakt van deze goals, namelijk de user goals (Dardenne, 1993) (E. Yu, 1995). Een voorbeeld van zo een goal model kan teruggevonden worden in onderstaande figuur (Figuur 10). In dit goal model wil de gebruiker in contact blijven met verschillende mensen die hij kent. Daarvoor is het nodig om zowel de inhoud (content) als het medium te bepalen. Bij het medium en de content worden vervolgens verschillende alternatieven voorgesteld om de goals te vervullen. De verschillende OR- decomposities stellen telkens een alternatieve manier voor om het uiteindelijke doel van de gebruiker te vervullen.
Figuur 10: Voorbeeld goal model (Hui & Liaskos, 2003)
2. Skills: Verschillende personen beschikken elk over een variëteit van skills. Voorbeelden hiervan zijn computerbehendigheid, geheugen en talenkennis. Deze skills bepalen de extra maatregelen die moeten getroffen worden opdat de gebruikers het nieuwe systeem op een correcte manier zouden kunnen gebruiken. In dit framework heeft men een set van cognitieve skills overgenomen die beschreven werden door Reed (Reed, 2000).
38
3. Preferenties: Bijkomend hebben de gebruikers verschillende voorkeuren over hoe de gewenste goals vervuld worden. Deze voorkeuren moeten ook geïdentificeerd worden.
Het uiteindelijke doel van dit model is opnieuw om systematische verschillende alternatieven te ontdekken die voldoen aan de goals van de gebruikers. De auteurs zijn ervan overtuigd dat goals, skills en preferenties de fundamenten zijn bij het formuleren van het analyseprobleem. Een alternatief is gedefinieerd als een set van taken die samen een target goal vervullen. Mogelijke alternatieven kunnen gerangschikt worden ten opzichte van een gebruikersprofiel. Dit gebruikersprofiel bevat de skills en de preferenties van de gebruiker. Het gekozen alternatief zal bepalen voor welke systeemconfiguratie uiteindelijk gekozen zal worden.
Nu we de verschillende delen van het framework besproken hebben kunnen we overgaan tot de effectieve analyse van deze onderdelen.
3.4.2.1.1 Stakeholder goals De eerste stap in het modeleren van goals van de gebruiker, is om deze goals te identificeren via goal elicitatie technieken. Deze technieken kunnen zoals eerder vermeld gevonden worden in bedrijfsdocumenten of kunnen ontdekt worden via onder andere focusgroepen. Deze geïdentificeerde goals worden vervolgens geanalyseerd om tot een initiële set van goals komen. Deze goals worden verder verfijnd, gebruik makend van goal verfijning technieken. (Yu, 1995; Mylopoulos, 1992).
Een goal model kan worden opgesteld met bovenaan de target goal die verder opgesplitst is in verschillende subgoals. Dankzij de OR- decompositie worden alternatieven gedefinieerd. Het identificeren van deze alternatieven is noodzakelijk om later via goal analyse de verschillende ontwerpalternatieven te kunnen evalueren. In de volgende figuren worden 4 mogelijke alternatieven voorgesteld (Figuur 11).
39
Figuur 11: Vier mogelijke alternatieven uit goal model (Hui & Liaskos, 2003)
Bij alternatief A bijvoorbeeld, besluit de gebruiker om de mail zelf te typen en de inhoud zelf te bepalen. Dit is totaal verschillend van alternatief D. In dit alternatief vraagt de gebruiker aan iemand anders om de inhoud te bepalen en dicteert de gebruiker deze inhoud aan een andere persoon.
3.4.2.1.2 Vereiste skills Eenmaal de goals geïdentificeerd zijn, kunnen we de tweede component van het framework identificeren, namelijk de vereiste skills. De auteurs hebben voor deze skills te identificeren beroep gedaan op onderzoek uit verschillende domeinen in de psychologie (David R. Shaffer, 1999)(Reed, 2000).
Uit het goal model van het voorbeeld kijken we vooral naar de taken aan het uiteinde van het model en we associëren deze taken met de skills die nodig zijn om deze taken correct uit te voeren. Zo is er voor het typen bijvoorbeeld nood aan motorieke skills. Naast deze vereiste skills zijn er ook nog skills
40
die bepaalde taken ondersteunen. Een voorbeeld van een dergelijke skill in functie van ons goal model, is creativiteit. Deze skills vormen een belangrijke parameter bij de keuze tussen verschillende alternatieven.
Voor een bepaald alternatief, wordt elke skill gelabeld als “ondersteunend” (waarde van 1), “neutraal” (0) of “vereist” (−1). Voor elk alternatief wordt dan een score bepaald door deze waardes op te tellen. Dit is natuurlijk nog vrij simplistisch aangezien er geen rekening gehouden wordt met de mate waarin bepaalde skills vereist zijn. Dit kan aangepast worden door te werken met een interval van [-5,5] en de verschillende waardes te gebruiken voor de mate waarin een bepaalde skill vereist is of de mate waarin een bepaalde skill een taak ondersteunt.
Elke gebruiker wordt ook beoordeeld rekening houdend met zijn of haar skills. Eenmaal bepaald is welke skills vereist zijn voor een bepaalde taak of welke skills een bepaalde taak ondersteunen, is het echter noodzakelijk om te bepalen in welke mate de gebruiker over deze skills beschikt. Hiervoor worden de skills die afgeleid werden uit de taken voor elke gebruiker gelabeld als “sterk” (waarde van 1), “neutraal” (0), of “zwak” (−1). Ook hier kunnen deze waardes uitgebreid worden tot [-5,5].
3.4.2.1.3 Persoonlijke preferenties De derde en laatste component van dit framework betreft de voorkeuren van de gebruikers. Deze voorkeuren voor bepaalde goals worden in het goal analyse framework verwerkt als softgoals. We kennen reeds de eigenschappen van softgoals en in dit model wordt er opnieuw met “+” en “–” gewerkt om respectievelijk een positieve of negatieve bijdrage voor te stellen. Aan deze “+” en “–” worden vervolgens verschillende waarden toegekend. Een waarde van “1” wordt toegekend voor elke positieve bijdrage tot een preferentie, een waarde van “0” als er geen eenduidige voorkeur is en een waarde van “-1” voor elke negatieve bijdrage tot een preferentie. Op onderstaande figuur (Figuur 12) worden de bijdrages van de goals op softgoals duidelijk voorgesteld.
41
Figuur 12: Contributies ten opzichte van de softgoals (Hui & Liaskos, 2003)
Als we opnieuw kijken naar de vier alternatieven uit Figuur 11, dan zal elk alternatief anders bijdragen tot de drie preferenties uit Figuur 12. Bijvoorbeeld in alternatief A wordt de inhoud zelf opgesteld en wordt de mail zelf getypt. Zoals te zien in Figuur 12 draagt “self-performed” tweemaal positief bij tot “independence”. Verder levert alternatief A geen bijdrage meer tot preferenties. Een overzicht van deze bijdragen van alternatief A en van de overige drie alternatieven bevindt zich in Tabel 4.
Tabel 4: Bijdragen van alternatieven tot preferenties (Hui & Liaskos, 2003)
Natuurlijk is alleen deze score niet voldoende. We kennen nog een waarde toe aan de preferenties om aan te geven of deze al dan niet belangrijk zijn voor de stakeholders. Opnieuw wordt er een waarde “1” toegekend voor die preferenties die de voorkeur krijgen, een waarde “0” voor de 42
preferenties waarbij er geen echte voorkeuren zijn en een waarde van “-1” indien de stakeholders deze preferentie liever niet voldaan zien. Dus een bepaalde stakeholder (u) kan zo aan elke preferentie een bepaalde waarde toekennen zoals in de onderstaande tabel.
Tabel 5: Preferenties stakeholders (Hui & Liaskos, 2003)
3.4.2.1.4 De evaluatie van de alternatieven Tot hiertoe hebben we reeds de alternatieven gedefinieerd voor een bepaalde set van initiële goals, we hebben de nodige skills voor elk alternatief geïdentificeerd en ten slotte hebben we het gebruiksprofiel uitgebreid met de preferenties van de stakeholders.
Voor de eigenlijke evaluatie wordt er gebruik gemaakt van een algoritme. In dit algoritme is het de bedoeling om elk alternatief te vergelijken met een gebruikersprofiel. Dit gebruikersprofiel bestaat zoals vermeld uit de skills en de preferenties van de gebruiker. Hoe worden deze alternatieven uiteindelijk vergeleken? Hiervoor worden er twee vectoren gebruikt. Vector v1 stelt het alternatief voor en vector v2 het gebruikersprofiel. De bedoeling is vervolgens om de afstand tussen deze twee vectoren te minimaliseren. Deze simpele meting maakt het mogelijk om een passende match te vinden tussen een alternatief en het gebruikersprofiel. Het komt er dus op neer dat men probeert om via deze methode een alternatief te vinden waarbij de keuze afhangt van twee zaken: de preferenties en de skills van de gebruiker. Er wordt getracht om een alternatief te vinden dat zoveel mogelijk voldoet aan de voorkeuren en tezelfdertijd aan de skills van de gebruikers. Dit is logisch omdat een expert liever zelfstandig een taak uitvoert dan om hulp te moeten vragen. In dezelfde zin is het logischerwijs beter om een gebruiker met een sterke voorkeur voor bepaalde softgoals te koppelen aan een alternatief dat veel positieve bijdragen levert tot deze voorkeuren. Zo is het dus mogelijk om een rangschikking op te stellen voor de verschillende alternatieven.
Hierboven werd een van de eerste kwantitatieve methodes voorgesteld. Via een kwantitatieve methode is het de bedoeling om een nauwkeurigere evaluatie te bieden en dan vooral met betrekking tot de niet-functionele goals. Kwantitatieve methodes zijn dus vooral een meerwaarde voor goal modellen waarin gewerkt wordt met softgoals omdat alleen bij deze goals sprake is van 43
gedeeltelijke vervulling van een goal. Laten we dit verduidelijken met een voorbeeld. Stel nu bijvoorbeeld G2
G1. Van de gedeeltelijke vervulling van G2, PS(G2), kunnen we de gedeeltelijke
vervulling van G1, PS(G1), afleiden dankzij de contributielink. Maar men zou kunnen opmerken dat de mate waarin G1 voldaan is, minder is dan de mate waarin G2 voldaan is. We kunnen dus opmerken dat de verschillende relaties die de partiële bijdrage beschrijven “+s, -s; +d, -d” onderling kunnen verschillen en verschillende bijdragen kunnen betekenen. Om deze verschillen in rekening te kunnen brengen in onze analyse, wordt er gebruik gemaakt van numerieke waarden om verschillende gewichten toe te kennen aan de “+s, -s, +d, -d” relaties.
Veel onderzoek werd ook gedaan door Letier en van Lamsweerde. We beschrijven kort enkele van hun inzichten uit het volgende werk (Letier & van Lamsweerde, 2004).
Volgens de auteurs gebeurt de overgang van een kwalitatieve naar een kwantitatieve methode simpelweg door de kwalitatieve contributielinks te vervangen door numerieke waarden. De mate van de verwezenlijking van een goal, wordt dan berekend via het gewogen gemiddelde van de mate van tevredenheid van de subgoals.
Er zijn echter nog steeds een aantal belangrijke problemen bij deze zogenaamde kwantificering van contributielinks. Ten eerste moet de vraag worden gesteld wat deze waarden precies betekenen en in de tweede plaats moeten deze waarden ook nog bepaald worden, wat geen eenvoudige taak is.
De betekenis van de numerieke waarden die aan de contributielinks gekoppeld worden is vaak subjectief. In de literatuur worden echter wel meerdere kwantitatieve technieken voorgesteld om de impact van verschillende alternatieven op softgoals te bepalen. Een voorbeeld hiervan is de QFD (quality function deployment) methode (Akao, 1990) en de “utility weights” methode (Robinson, 1990).
Waar komen deze numerieke waarden vandaan? Meestal wordt ervan uitgegaan dat de stakeholders verantwoordelijk zijn voor het bepalen van deze numerieke waarden. Er zijn twee gebruikte manieren om deze waarden te bepalen. Een eerste manier is door te kijken naar de absolute waarde van een bepaalde contributie. Hierbij wordt de contributie gemeten zonder rekening te houden met de andere alternatieven. Een tweede manier is door te kijken naar de relatieve bijdrage zoals in de AHP techniek (Saaty, 1990, 2008). Hierbij worden de verschillende alternatieven onderling met elkaar vergeleken waardoor het mogelijk wordt om gewichten toe te kennen aan verschillende
44
alternatieven. Het gebruik van relatieve waarden krijgt de voorkeur omdat deze waarden de mathematische eigenschappen van de gewichten reflecteren. Nog een voordeel van deze methode is dat een consistentiecontrole mogelijk is. In beide gevallen is er wel geen criterium om de schattingen te valideren. Hiermee wordt bedoeld dat we niet kunnen controleren of de gekozen waarden echt wel correct zijn.
3.4.3
Integreren van preferenties tijdens het evalueren van goal modellen
Veel recente werken proberen de preferenties van verschillende stakeholders te integreren. Een van de eerste papers die dit probeerde te integreren was het Goal Skill Preference Framework (Hui & Liaskos, 2003). In deze paper probeerden de auteurs zoals daarnet besproken de voorkeuren van de gebruikers in rekening te nemen bij de keuze tussen alternatieven. Een paar recentere papers bouwen hierop verder. We bespreken beknopt de twee belangrijkste werken (Liaskos et al., 2010, 2011).
In deze papers vinden de auteurs dat veel goal georiënteerde technieken alle goals te veel als verplichte goals beschouwen. Volgens hen is het nodig dat sommige requirements als “nice-to-have” kunnen geclassificeerd worden. Ze stellen vervolgens een framework voor waarin ze ten eerste de preferenties specificeren, ten tweede proberen ze om prioriteiten tussen deze preferenties op te stellen en ten slotte zoeken ze naar systeemvoorstellen die voldoen aan de verplichte requirements, maar die zoveel mogelijk bijdragen tot de geprefereerde requirements.
Opnieuw wordt er vertrokken van een goal model dat op identieke manier opgebouwd is en uit dit goal model worden eveneens de mogelijke alternatieven geïdentificeerd. Anders dan bij de vorige technieken wordt nu aan elke goal een taak gekoppeld en wordt een alternatief beschreven als een plan dat bestaat uit een opeenvolging van taken. Met dit plan wordt bij elke OR- relatie duidelijk voor welke weg doorheen het goal model gekozen werd. Bijvoorbeeld het alternatief dat aangeduid is op volgende figuur (Figuur 13) wordt beschreven als het plan (t1,t2,t5).
45
Figuur 13: Mogelijk alternatief uit goal model
Vervolgens wordt er ook een set van softgoals bepaald en wordt er aan deze softgoals willekeurig een prioriteit toegekend. In deze paper zijn er drie softgoals namelijk: “Happy customer”, “Reliability” en “Green Image”. Het toekennen van prioriteiten gebeurt in deze paper willekeurig (Tabel 6), maar verschillende methodes worden hier voorgesteld zoals AHP (Analytical Hierarchy Process) (Saaty, 1990, 2008) en MAUT (Multi Attribute Utility Theory) (Hansson, 2005). De toegekende prioriteiten (Tabel 6) hebben als som één en kunnen als gewichten beschouwd worden.
Softgoal
Prioriteit
Happy customer
0,6
Reliability
0,3
Green Image
0,1 Tabel 6: Preferenties softgoals
Indien een bepaald alternatief bijdraagt tot één van deze softgoals, dan worden deze prioriteiten simpelweg opgeteld. Stel nu bijvoorbeeld dat ons plan (t1,t2,t5) een bijdrage levert tot “Happy customer” en “Green image”, dan krijgt dit alternatief een score van “0,7”. Indien een ander plan een bijdrage levert tot Happy customer” en “Reliability”, dan zal dit alternatief een score van “0,9” krijgen en dus beter zijn dan het eerst voorgestelde alternatief.
Om deze evaluatie automatisch te laten verlopen, stellen de auteurs ten slotte voor om gebruik te maken van PDDL (Planning Domain Definition Language) (Gerevini, 2005). PDDL is een veelgebruikte 46
taal om planningsproblemen te specificeren. Via PDDL wordt het plan gevonden waarvoor de hoogste score verkregen kan worden. Dit is nuttig in de realiteit omdat de meeste goal modellen bestaan uit een vijftigtal goals en de evaluatie niet altijd manueel kan gebeuren.
3.4.4
Hoe kunnen prioriteiten opgesteld worden voor deze preferenties
Bij veel beslissingen zijn er meerdere criteria die moeten afgewogen worden ten opzichte van elkaar. Er is dus nood aan een methode die op een correcte manier prioriteiten kan toekennen aan deze verschillende criteria. Een veel gebruikte methode is AHP (analytical hierarchy process) (Saaty, 1990). AHP is een theorie die via paarsgewijze vergelijking van de criteria en via het oordeel van experts prioriteiten kan toekennen aan deze criteria.
We zijn dus op zoek naar een manier waarmee we de keuze tussen alternatieven kunnen vereenvoudigen. In het algemeen zijn er twee mogelijke manieren om een keuze te maken. Een eerste mogelijkheid is om een bepaald alternatief in detail te bestuderen en om uit deze studies vervolgens de conclusie te trekken of de eigenschappen van het alternatief voldoen aan de wensen van de stakeholders. Een tweede mogelijkheid is om meerdere alternatieven via een aantal criteria onderling te vergelijken. In onze situatie bouwen we verder op de tweede mogelijkheid en maken we gebruik van AHP om prioriteiten op te stellen tussen deze criteria onderling (Saaty, 2008).
We kiezen voor de AHP methode omdat AHP een superieure methode is voor een goal georiënteerde evaluatie met meerdere criteria. Met AHP is het namelijk mogelijk om complexe problemen te analyseren. Dit is mogelijk doordat AHP het probleem structureert in meerdere subproblemen waardoor complexe problemen opgesplitst worden in meerdere eenvoudigere subproblemen. Met AHP is het ook mogelijk om de input van meerdere personen samen te brengen tot één gezamenlijke input. Er moet wel opgemerkt worden dat de belangrijkste stap van AHP, namelijk de paarsgewijze vergelijking, steunt op de subjectieve mening van personen of experts. Samenvattend kan er gezegd worden dat AHP dikwijls toegepast wordt bij het maken van beslissingen omdat AHP subjectieve en objectieve meningen kan combineren. Ook doordat de individuele en groepsvoorkeuren geïntegreerd kunnen worden, is AHP een veel gebruikte methode bij het maken van beslissingen (BPMSG, 2011).
AHP is dus een methode voor het maken van complexe beslissingen steunend op de mening van meerdere stakeholders. AHP slaagt erin om de verschillende stakeholders tot een consensus te brengen in verband met hun preferenties en prioriteiten (Saaty, 2008).
47
AHP bestaat uit drie stappen: de structurele decompositie, de vergelijkende beoordeling en het synthetiseren. Elke stap wordt telkens opnieuw opgesplitst in een aantal stappen.
3.4.4.1 Structurele decompositie: Probleemidentificatie: Het probleem kan bestaan uit een selectie - , een evaluatie - of een allocatieprobleem. De probleemidentificatie betekent ook dat de juiste karakteristieken van het probleem, die kunnen gebruikt worden tijdens de besluitvorming, moeten worden geïdentificeerd. Deze karakteristieken kunnen criteria, subcriteria, attributen of alternatieven zijn. Tijdens deze stap worden de verschillende kwaliteitsattributen, subcriteria, criteria voor elk alternatief geïdentificeerd. Ook de uiteindelijke goal wordt geïdentificeerd. Door hieraan gewichten te hangen kunnen de prioriteiten en de voorkeuren bepaald worden.
Hiërarchieconstructie: In deze stap wordt het probleem opgesplitst in een hiërarchische structuur bestaande uit verschillende niveaus. Deze structuur wordt bekomen door een soort beslissingsboom diagram op te stellen. Bovenaan deze hiërarchie bevindt zich het goal niveau, gevolgd door het criteria niveau dat op zijn beurt gevolgd wordt door subcriteria. 3.4.4.2 Paarsgewijze vergelijking: De paarsgewijze vergelijking moet zorgen voor de prioriteiten tussen de verschillende criteria. Tijdens deze vergelijking wordt gebruik gemaakt van een (1-9) rangschikkingsysteem om de relatieve belangrijkheid van een criterium ten opzichte van een ander criterium aan te geven. Deze schaal kan teruggevonden worden in onderstaande tabel (Tabel 7).
48
Tabel 7: Schaal (1-9) met absolute getallen (Saaty, 2008)
Eenmaal deze mate van belangrijkheid tussen de criteria bepaald is, kan een paarsgewijze matrix opgesteld worden. Deze paarsgewijze matrix is vervolgens het vertrekpunt om via enkele matrixberekeningen aan de prioriteiten te geraken.
Om de afweging tussen de criteria te bepalen wordt vaak beroep gedaan op experts. Belangrijk om op te merken is dat deze stap vrij subjectief is en dat dit gezien wordt als het zwakste punt van de AHP methode. Wel worden enkele methodes zoals QFD (Akao, 1990) en ExpertChoice (Labib, 2009) voorgesteld om deze stap zo correct mogelijk uit te voeren (Ssebuggwawo, Hoppenbrouwers, 2009).
3.4.4.3 Synthetisering: De laatste stap bestaat erin om de meningen van meerdere individuen samen te voegen tot één gezamenlijk consensus. De wederzijdse eigenschap speelt een belangrijke rol wanneer we de beoordeling van meerdere individuen willen samenvoegen tot één enkele groepsbeoordeling. Beoordelingen moeten op zo een manier samengevoegd worden, dat de gezamenlijke beoordeling de synthese van de individuele beoordelingen weerspiegelt. Er werd aangetoond dat het geometrisch gemiddelde, en dus niet het veel gebruikte rekenkundig gemiddelde, de enige manier is 49
om dit te doen. Indien de individuen experts zijn, willen ze misschien opteren om niet hun beoordelingen maar hun finale prioriteiten te combineren. In dit geval is het mogelijk om het geometrisch gemiddelde van de finale uitkomsten te combineren (Saaty, 2008).
Na het bespreken van de relevante literatuur zijn we bij het tweede deel van de masterproef beland. In dit tweede deel zal een eigen manier voorgesteld worden voor de evaluatie van verschillende alternatieven. Dit voorgestelde model is een combinatie van nieuwe elementen en van elementen die reeds gebruikt worden in de overlopen literatuur.
50
DEEL 2: Uitwerking masterproef 4 Inleidend hoofdstuk 4.1 Uitwerking probleemdefinitie In deze masterproef wordt een model voorgesteld om de keuze tussen verschillende processen te vereenvoudigen. Dit gebeurt door gebruik te maken van goals waardoor deze processen geoperationaliseerd kunnen worden. Zoals eerder aangehaald, is een vaak voorkomende trade-off de keuze tussen het al dan niet automatiseren van bepaalde processen om op die manier de totale prestatie van het proces te verbeteren rekening houdend met meerdere aspecten zoals kwaliteit, kost, snelheid,… Maar niet altijd is het een keuze om te automatiseren. In sommige gevallen worden ook totaal nieuwe systeemontwerpen voorgesteld om zo op een alternatieve manier hetzelfde resultaat te verkrijgen. Zoals net vermeld, wordt er in deze masterproef gebruik gemaakt van goals en de bijhorende goal modellen om de alternatieven te evalueren. In de overlopen literatuur bestaan er reeds tientallen modellen die dit probleem behandelen en elk op een andere manier tot een oplossing proberen te komen. Zoals vermeld zijn er kwalitatieve en kwantitatieve modellen, maar er bestaan ook hybride modellen waarin de combinatie van beide toegepast wordt. Er zijn modellen waarbij een algoritme voorgesteld wordt waarmee je op een snellere manier tot de oplossing komt. Veel modellen behandelen slechts enkele aspecten van goal analyse. In deze masterproef proberen we echter een complete methode voor te stellen voor de keuze tussen alternatieve systeemontwerpen. Hiervoor zullen we deels gebruik maken van de beschikbare oplossingen die in de literatuur aanwezig zijn. Voor deze oplossingen zullen we aangeven in welke gevallen welke oplossingen het beste resultaat geven. Voor sommige aspecten van de oplossingen doen we eigen voorstellen om tot een beter resultaat te komen.
Zoals aangehaald moeten dus keuzes gemaakt worden tussen allerlei alternatieven. Het is belangrijk om hier op te merken dat we te maken hebben met besluitvorming waarbij we rekening houden met verschillende aspecten. Voorbeelden van criteria waartussen een afweging gemaakt zal moeten worden, zijn kwaliteit, tijd en kost.
Bij de keuze tussen de alternatieven gaan we dus de alternatieven analyseren aan de hand van hun bijdrage tot de verschillende softgoals waarmee rekening gehouden moet worden of waartoe de alternatieven een bijdrage leveren. Als inleidend voorbeeld bespreken we de methode van (Hui & Liaskos, 2003). In deze methode wordt een waarde “1” toegekend elke keer dat een alternatief een
51
bijdrage levert tot een preferentie (softgoal in ons geval). Bij deze methode wordt uiteindelijk geteld welk alternatief de meeste positieve bijdrage levert tot de verschillende preferenties.
p1
p2
p3
A
0
0
2
B
2
1
3
C
0
0
2
D
1
1
-2
Tabel 8: Bijdragen alternatieven tot preferenties (Hui & Liaskos, 2003)
In bovenstaande tabel (Tabel 8) bevinden zich de resultaten uit deze paper. Als we deze tabel bekijken kunnen we dus, zoals reeds opgemerkt in het literatuuroverzicht, opmerken dat alternatief A twee keer een bijdrage levert tot de derde preferentie en geen bijdrage levert tot de eerste en de tweede preferenties. Als we alle alternatieven op deze manier analyseren, lijkt alternatief B duidelijk op alle gebieden de andere alternatieven te overtreffen. Met deze eenvoudige methode is de keuze tussen de vier alternatieven dus vrij vlug gemaakt. Merk wel op dat we in deze simplistische evaluatie de vereiste skills voor een bepaald alternatief buiten beschouwing laten.
Jammer genoeg is niet in alle gevallen de keuze zo eenvoudig te maken. Stel bijvoorbeeld onderstaande tabel (Tabel 9). p1
p2
p3
A
2
0
2
B
2
2
0
C
0
2
2
D
1
1
1
Tabel 9: Illustratief voorbeeld van bijdragen alternatieven tot preferenties
Indien de alternatieven op de manier zoals vermeld in Tabel 9 zouden bijdragen tot de verschillende preferenties, dan is het veel minder vanzelfsprekend om onmiddellijk een keuze te maken tussen de alternatieven. Men zou kunnen stellen dat de eerste drie alternatieven duidelijk beter zijn dan alternatief D, omdat deze maar drie positieve bijdrages levert en de drie andere leveren er in totaal vier. Maar misschien is het meer gewenst dat het alternatief op een evenwichtige manier een
52
bijdrage levert tot de preferenties. Indien we ervan uitgaan dat deze vier positieve bijdrages dan toch beter zijn dan de drie positieve bijdrages, en we ons vervolgens focussen op alternatief A, B en C dan is het nog niet gemakkelijk om hiertussen een keuze te maken. De meest voor de hand liggende manier is om de preferenties te rangschikken naar onderlinge belangrijkheid. Stel dat we bijvoorbeeld volgende rangschikking maken tussen de preferenties: p1 > p3 > p2. Bij deze rangschikking wordt preferentie één verkozen boven preferentie drie en preferentie drie wordt op haar beurt verkozen boven preferentie twee. In dit geval zal de keuze uitgaan naar alternatief A omdat dit alternatief de meeste bijdrages levert tot de preferenties die bovenaan de rangschikking staan. We moeten ons echter afvragen hoe we deze rangschikking zo objectief mogelijk kunnen opstellen en of dergelijke rangschikking de beste manier is om de onderlinge belangrijkheid van de verschillende preferenties weer te geven.
Een andere opmerking die we kunnen maken bij deze methode om de keuze tussen alternatieven te vereenvoudigen, is dat ze bij (Moody James, 2004) geen onderscheid maken tussen de verschillende positieve bijdrages. Ze kennen weliswaar de waardes “1”, “0”, “-1” toe, maar wat betekent die positieve of negatie waarde van “1” en “-1” nu precies? Het is logisch dat de bijdrage die een alternatief levert ten opzichte van een softgoal niet altijd identiek is aan de bijdrage die een ander alternatief zou leveren aan deze softgoal. Een mogelijkheid die we zouden kunnen toepassen, is om in plaats van te werken met “1”, een schaal in te voeren waarbij de bijdrages kunnen liggen tussen [1,5]. In dit geval is “5” de grootste positieve bijdrage en “1” de kleinste positieve bijdrage. Voor de negatieve bijdrages kan dezelfde methode toegepast worden.
Het is reeds duidelijk dat de eenvoudige manier die hierboven werd voorgesteld ontoereikend is voor ons probleem. Een eerste probleem is dat er geen prioriteiten zijn tussen de verschillende preferenties of softgoals. Een tweede probleem dat in deze methode niet aan bod is gekomen, is dat de meeste softgoals deel uitmaken van een softgoal model. Hiermee bedoelen we dat softgoals op zich ook kunnen afhangen van andere softgoals of dat ze ook een positieve of negatieve bijdrage kunnen leveren ten opzichte van andere softgoals. Een derde probleem is het gevolg van het vorige probleem. Doordat er niet gewerkt wordt met een softgoal model, is er ook geen methode om verwezenlijking van de ene softgoal te propageren naar een andere softgoal waartoe de eerste softgoal een bijdrage levert. Een vierde opmerking die we hier kunnen geven is dat er geen onderscheid gemaakt wordt tussen de verschillende stakeholders. Het volledige proces wordt bekeken vanuit slechts één standpunt terwijl een proces in veel gevallen invloed heeft op meerdere stakeholders en dus ook vanuit deze verschillende standpunten zou moeten geëvalueerd worden. Het is dus duidelijk dat er nood is aan een methode om op een efficiëntie manier de juiste keuze te 53
maken tussen verschillende processen waarbij rekening gehouden wordt met de belangen van alle stakeholders.
Zoals reeds vermeld in het literatuuroverzicht, zijn er al tientallen papers die de evaluatie van ontwerpbeslissingen en dus de keuze tussen verschillende alternatieve processen behandelen. Sommige van deze papers bieden goede oplossingen voor de problemen die hierboven werden aangehaald. In deze masterproef zullen we de reeds aangeboden oplossingen gebruiken, maar worden er toch verschillende zaken aangepast en verbeterd. Voor bepaalde delen van de methode die nog niet in detail behandeld zijn, zullen we proberen om een eerste aanzet te geven bij de uitwerking ervan. We verduidelijken onze methode door verder te werken met het voorbeeld van (J. Horkoff & Yu, 2009). In dit voorbeeld wordt er gezocht welke alternatieve manier van online counseling het best voldoet aan de opgestelde softgoals. Onze methode is natuurlijk toepasbaar op bijna alle bedrijven en kan gemakkelijk toegepast worden op één van de voorgestelde goal modellen (NFR Framework, KAOS en I* Framework). Met behulp van onze methode is het mogelijk om voor elk proces in een bepaald bedrijf te bepalen welke manier het best overeenkomt met de wensen van alle stakeholders.
4.2 Werkwijze opstellen methode Hoe wordt onze methode nu precies opgesteld? Zoals net vermeld wordt er vertrokken van bestaande modellen en methodes waarbij getracht wordt om oplossingen te bieden voor de aspecten waarin bestaande modellen tekort schieten. Maar omdat onze methode als doel heeft om beslissingen te vereenvoudigen en een keuze voor te stellen, zijn we op zoek gegaan naar manieren waarop beslissingen genomen worden. Na het bestuderen van enkele modellen en theorieën die handelen over besluitvorming (Kiker et al., 2005; Schreyer & Bögl, 2009; Schreyer, Bögl, Benning, Ryd, & Forum, 2010), was het mogelijk om een stappenplan vast te stellen dat gevolgd moet worden bij het maken van beslissingen. Dit beslissingsproces (stappenplan) bestaat uit vijf stappen volgens (Kiker et al., 2005) en wordt weergegeven in onderstaande figuur (Figuur 14).
Figuur 14: Synthese van ingrediënten die nodig zijn bij besluitvorming (Kiker et al., 2005)
54
Volgens hen moet in de eerste stap het probleem gedefinieerd worden en moeten de verschillende alternatieve oplossingen bepaald worden. Vervolgens moeten de criteria waarmee men deze alternatieven gaat vergelijken, geïdentificeerd worden. In dezelfde stap is het ook belangrijk om het belang van deze criteria te bepalen. In de derde stap kunnen reeds een aantal alternatieven die duidelijk niet voldoen aan de vereisten geëlimineerd worden. In de laatste stappen ten slotte, moeten de prestaties van de alternatieven ten opzichte van de criteria bepaald worden om dan een rangschikking te kunnen opstellen tussen de alternatieven. Wat ook werd opgemerkt in (Kiker et al., 2005) is dat het mogelijk is om voor de verschillende stappen beroep te doen op verschillende personen. Voor sommige stappen zal vooral beroep gedaan worden op wetenschappers en ingenieurs maar bij andere stappen zal er eerder input van de stakeholders gewenst zijn.
Aangezien we binnen GORE ook beslissingen wensen te maken met behulp van meerdere criteria, wordt er geprobeerd om dit beslissingsproces toe te passen binnen GORE. Hiervoor is het nodig om voor elke stap binnen dit beslissingsproces, een gelijkaardige stap te vinden binnen onze methode.
De eerste stap waarbij het probleem gedefinieerd wordt en waarbij de verschillende alternatieven geïdentificeerd worden, kan gekoppeld worden aan het opstellen van het goal model. Het eerste deel van tweede stap waarbij de criteria geïdentificeerd worden, kan gekoppeld worden aan het softgoal model. Het tweede deel van de tweede stap, waarbij de relatieve belangrijkheid van de verschillende criteria bepaald wordt, kan gekoppeld worden aan het deel waarin we de prioriteiten opstellen. In de volgende stappen worden de bijdrages van de verschillende alternatieven tot de criteria bepaald en wordt een rangschikking opgesteld tussen de alternatieven. Deze stappen worden in onze methode verder uitgewerkt tijdens de evaluatie van het model.
De methode om alternatieve ontwerpbeslissingen te evalueren wordt dus opgesplitst in volgende verschillende stappen:
Opstellen van goal model
Opstellen van softgoal model
Opstellen van prioriteiten
Evaluatie van model
55
5 Opstellen goal model In de eerste fase van onze methode is het noodzakelijk om een model op te stellen dat alle alternatieve manieren omvat om het uiteindelijke doel te bereiken. Zoals eerder vermeld is goal elicitatie één van de eerste fases van GORE. In de volgende fase worden de goals verfijnd door ANDen OR- decomposities tot wanneer men aan een requirement komt dat kan uitgevoerd worden door één of meerdere agents. Zoals ook aangehaald zijn het vooral de OR- decomposities waaraan we onze aandacht besteden omdat deze de alternatieve manieren aantonen waarop de goals bereikt kunnen worden. In onze methode worden de meeste OR- relaties gezien als exclusieve OR- relaties. Dit betekent dat er in een bepaalde situatie moet gekozen worden tussen de alternatieven en dat het niet mogelijk is om een combinatie ervan te gebruiken. Zoals gezien in het voorbeeld van (Hui & Liaskos, 2003) stijgt het aantal alternatieven exponentieel met het aantal OR- decomposities. Dit heeft tot gevolg dat de goal modellen snel te complex worden om op een manuele manier te evalueren.
Als we terugkeren naar ons voorbeeld over online counseling is het doel van de organisatie onmiddellijk duidelijk. De organisatie doet momenteel alleen telefonisch aan counseling en wil zich binnenkort ook focussen op online counseling. Hiervoor worden onmiddellijk twee alternatieve oplossingen naar voor geschoven: een SMS- dienst en een Cyber Café/Portal/Chat Room. In Figuur 15 bevindt zich dit eenvoudige goal model. Indien later blijkt dat online counseling op nog een andere manier kan gebeuren, dan kan dit alternatief gemakkelijk nog aan dit model toegevoegd worden. Merk op dat niet alle goal modellen zo eenvoudig zijn. Een voorbeeld van een groter goal model kan teruggevonden worden in (Liaskos et al., 2011).
Figuur 15: Goal model "Online Counselling"
56
In het goal model bevinden zich meestal alleen hard goals. Hiermee bedoelen we dat de goals die zich in dit model bevinden ofwel voldaan zijn of niet voldaan zijn. De links tussen deze hardgoals zijn dan ook “binaire” links. Dit wil zeggen dat deze links ofwel volledige waardes ofwel geen enkele waarde propageren naar de bovenstaande goals. Indien we deze links zouden vergelijken met contributielinks die gebruikt worden in het softgoal model (Opstellen softgoal model), dan kunnen we deze links vergelijken met de Make of Break links die respectievelijk als symbool “++” / “--” krijgen.
6 Opstellen softgoal model 6.1 Kwaliteit, kost en tijd Eenmaal de alternatieve manieren waarop een doel bereikt kan worden duidelijk zijn, moet een keuze gemaakt worden tussen deze alternatieven. Dit gebeurt meestal door de alternatieven onderling te vergelijken met behulp van een aantal criteria. Als voorbeeld stellen we dat de criteria kost, kwaliteit en tijd voor veel bedrijven van belang zijn. Deze criteria zullen natuurlijk verschillend zijn voor alle bedrijven en zullen afhangen van de strategie die een bepaald bedrijf volgt. Indien bijvoorbeeld een afweging gemaakt wordt om een bepaald proces te automatiseren zullen ze zich afvragen op welke manier de kwaliteit verbeterd wordt, op welke manier ze de kost kunnen verlagen en op welke manier ze het proces sneller kunnen laten verlopen. Het is vaak ook zo dat een hogere kwaliteit of een sneller proces gepaard gaat met een stijging van de kost en omgekeerd, dus een afweging zal moeten gemaakt worden.
Figuur 16: Besluitvorming tussen kwaliteit, kost en tijd
57
Als we dit zouden toepassen op ons voorbeeld van online counseling zouden we dus onderstaand model krijgen dat moet geëvalueerd worden (Figuur 17).
Figuur 17: Kost, kwaliteit en tijd gekoppeld aan "Online Counselling"
Een probleem dat onmiddellijk opvalt, is dat deze criteria te ruim zijn en dat het dus noodzakelijk is om deze criteria verder te specificeren. Neem nu bijvoorbeeld kwaliteit. Kwaliteit is een vrij uitgebreid concept en kan veel verschillende betekenissen hebben naargelang de situatie of naargelang de persoon. Een mogelijkheid om kwaliteit verder te specificeren is de kwaliteitsstandaard ISO/IEC 9126 (ISO/IEC 9126, 2001). Er bestaan nog andere classificatieschema’s zoals FURPS+ (Chung et al., 2000). In ISO/IEC 9126 wordt een onderscheid maakt tussen vier types van kwaliteit:
kwaliteitsmodel
externe kwaliteit
interne kwaliteit
kwaliteit in gebruik
58
Het kwaliteitsmodel is het eerste deel van de standaard en classificeert kwaliteit in een gestructureerde set van karakteristieken en subkarakteristieken.
Tabel 10: Kwaliteit: ISO/9126
Deze kwaliteitskarakteristieken zijn voor sommige processen belangrijk voor onze verdere analyse. Indien het gaat over een productieproces of over een softwaresysteem, dan kunnen deze karakteristieken en subkarakteristieken gemakkelijk gebruikt worden om alternatieven te evalueren. De reden hiervoor wordt verder duidelijk.
Zoals vermeld in de overlopen literatuur, wordt er bijna altijd gewerkt met softgoals om verschillende alternatieve systeemvoorstellen te evalueren. Dit komt omdat het succes van nieuwe systemen en processen vaak afhangt van de mate waarin ze voldoen aan de softgoals. Softgoals worden ook wel kwaliteitsattributen genoemd en vertegenwoordigen de niet-functionele requirements. Deze niet-functionele requirements hebben meestal betrekking op bepaalde componenten van het kwaliteitsmodel.
Over deze niet-functionele goals weten we al dat het meestal niet mogelijk is om te zeggen of deze goals al dan niet voldaan zijn. Niet-functionele requirements omvatten heel het continuüm dat loopt van niet-voldaan tot volledig voldaan en dit is ook het geval voor de bijhorende niet-functionele goals. Het is dan ook de bedoeling om het alternatief te vinden waarbij deze softgoals zoveel mogelijk voldaan zijn. Veel onderzoek naar de verschillende softgoals werd reeds gerealiseerd. In (Moody James, 2004) wordt een lijst van 161 niet-functionele requirements voorgesteld. 90% hiervan kan geclassificeerd worden in een tiental categorieën (Performance, Cost, Security, Time, user interface, SRS, end-user, Future, intersystem interaction, system integrity).
Softgoals zijn dus de criteria die gebruikt worden in GORE om alternatieven te evalueren. Maar het is waarschijnlijk reeds opgevallen dat er geen vast aantal softgoals kan gekoppeld worden aan elk alternatief. Voor elk goal model dat alternatieven bevat moet er dus opnieuw bepaald worden welke 59
softgoals van belang zijn voor het maken van een keuze tussen deze alternatieven. Het is ook noodzakelijk om te bepalen wat de link is tussen de verschillende softgoals. Om dit grafisch voor te stellen wordt er vaak gebruik gemaakt van een “softgoal interdependency” model (SIG) (Chung et al., 2000). Bij deze grafische voorstelling wordt een boomstructuur gebruikt om aan te geven welke softgoals een bijdrage leveren tot andere softgoals. Een voorbeeld van zo een SIG voor de kwaliteit van een softwaresysteem is weergeven in onderstaande figuur (Figuur 18).
Figuur 18: Boomstructuur kwaliteit (Chung et al., 2000)
Zoals kan worden opgemerkt komen deze niet-functionele requirements niet allemaal overeen met de ISO/IEC 9126 wat onmiddellijk aantoont dat er geen vaste set van NFR’s, en dus ook niet van softgoals is. Wat we ook kunnen opmerken is dat bijvoorbeeld “reliability” afhangt van vijf andere NFR’s (self-containedness, accuracy, completeness, robustness en consistency). “Reliability” draagt op zijn beurt bij tot “as-is utility” die dan uiteindelijk een bijdrage levert tot de “general utility”. De softgoal die bovenaan het softgoal model staat is dus het maximaliseren van de “general utility”. Dit
60
kan dan bereikt worden door zoveel mogelijk te voldoen aan de softgoals op lagere niveaus. Het alternatief dat uiteindelijk zal zorgen voor de hoogste “general utility” zal gekozen worden.
6.2 SMART criteria voor KPI Naast kwaliteit zijn de criteria kost en tijd zoals vermeld vaak ook van groot belang. Het is duidelijk dat het noodzakelijk is om deze softgoals in voldoende detail te beschrijven omdat het anders onmogelijk is om te bepalen in welke mate een alternatief bijdraagt tot een softgoal. We toonden al aan dat kwaliteit een veel te ruime parameter is en dat verschillende alternatieven kunnen bijdragen tot verschillende aspecten van kwaliteit en indien we de kwaliteit niet gedetailleerd zouden specificeren voor een bepaald proces het de keuze nog moeilijker zou maken in plaats van te vereenvoudigen. Om dit te vermijden is het belangrijk om voor elk proces de bijhorende softgoals op te stellen gebruik makend van het SMART principe (“SMART Goal Setting,” 2010). SMART staat voor:
Specifiek (Specific)
Meetbaar (Measurable)
Haalbaar (Attainable/Achievable)
Relevant (Relevant)
Tijdspanne (Timely)
Dat betekent dat het duidelijk is wat er gewenst is in een bepaalde situatie en dat iedereen dat begrijpt. Als er bijvoorbeeld aan een team gevraagd wordt om enkele kopietjes van een verslag te maken, zal dit door elk teamlid anders geïnterpreteerd worden. Sommigen zullen onder enkele drie kopietjes verstaan, anderen zullen er honderd kopietjes onder verstaan. Een betere instructie zou zijn om te vragen aan het team: “Ik wil vijf kopieën van dat verslag.” In de meeste gevallen kan er gebruikt gemaakt worden van hoeveelheden, breuken, percentages, frequenties om een specifiek doel op te stellen.
Wanneer er gezegd wordt dat een bepaald doel meetbaar moet zijn, wordt er bedoeld dat het mogelijk moet zijn om te bepalen of het doel al dan niet behaald is door het proces. Daarvoor is het nodig om over duidelijke procedures te beschikken om het proces te meten (monitored, measured en recorded). Indien het doel niet gekwantificeerd kan worden, betekent dit meestal dat het doel foutief geformuleerd is en dat het herzien moet worden. Een voorbeeld hiervan is bijvoorbeeld het doel: “Onze business moet groeien.” Wat dit precies betekent is natuurlijk onduidelijk, daarom zou het volgende doel meer betekenis hebben: “Onze verkopen moeten stijgen met 20% om zo onze business te doen groeien”. 61
Elke CEO van een onderneming of een verantwoordelijke van een afdeling wil zo goed mogelijk presteren. Een competitieve ingesteldheid is in ieder geval positief en zo een gedachtegang is nodig om goede prestaties te verkrijgen, maar het is noodzakelijk om te analyseren of bepaalde doelen haalbaar zijn, gegeven de capaciteiten waarover men kan beschikken. Het is bijvoorbeeld meestal niet haalbaar voor een beginnend bedrijf om als doel te hebben om na één jaar al marktleider te zijn indien er in dezelfde industrie al enkele andere bedrijven aanwezig zijn die over een veel groter kapitaal beschikken.
De opgestelde doelen moeten ook relevant zijn voor het proces waarop ze betrekking hebben. Indien een bepaald proces geen invloed kan uitoefenen op een goal of toch niet op een rechtstreekse manier, dan heeft het geen zin om dit doel hiervoor op te stellen. Het is bijvoorbeeld ondenkbaar om voor een IT-afdeling als doel op te stellen dat ze de profit/revenue rating met 5% moeten verhogen. Wel kan er als doel opgesteld worden dat ze proberen om hun uitgaven voor hardware of software te verminderen met 10%.
Over de tijdspanne kunnen we kort zijn. Indien een bepaald doel wordt opgesteld voor een proces is het nodig om hier een tijdspanne met een duidelijk start - en eindpunt aan te linken. Indien dit niet het geval is, kan er onmogelijk gezegd worden of een doel voldaan is of niet. Stel bijvoorbeeld dat een bedrijf als doel heeft om vijfduizend units te produceren. Het is onmogelijk om te zeggen of dit bedrijf dit doel zal halen of niet omdat er niet gespecificeerd is tegen wanneer er vijf duizend units moeten geproduceerd worden. Indien we hieraan een tijdspanne koppelen is dit echter wel mogelijk.
Bij het opstellen van de softgoals is het dus noodzakelijk om het SMART principe in gedachten te houden. Als we terugkijken naar de subkarakteristieken van ISO/IEC 9126 kunnen we inderdaad wel vaststellen dat veel van deze karakteristieken voldoen aan dit principe.
6.3 Softoal decompositie Wanneer we beschikken over een set van softgoals die we zullen gebruiken voor de evaluatie van de alternatieven is het ook belangrijk om de verschillende linken tussen de softgoals te bepalen. Deze links worden ook visueel weergegeven in de SIG. De linken tussen de verschillende softgoals bestaan zoals vermeld in de literatuur uit contributielinks. De algemeen gebruikte contributielinks zijn voor een positieve contributie de Help/Make links. Deze links worden ook vaak voorgesteld door “+/++”. De “+” contributie betekent dat er een positieve bijdrage geleverd wordt, maar deze bijdrage is niet 62
voldoende om de softgoal waartoe deze bijdrage geleverd wordt volledig te vervullen. Bij een “++” contributie is deze bijdrage wel voldoende. Hetzelfde principe geldt voor de negatieve bijdrage waar wordt gesproken van Hurt/Break links en die worden vaak voorgesteld door “-/--”.
Als we dit toepassen op het voorbeeld van online counseling en we passen de figuur uit (J. Horkoff & Yu, 2009) aan, dan krijgen we onderstaande figuur (Figuur 19) die vooral kijkt vanuit het standpunt van de organisatie.
Figuur 19: Softgoal model uit standpunt van de organisatie
Het is dus duidelijk dat de belangrijkste softgoal voor deze organisatie het helpen van de jongeren is. Om dit op een succesvolle manier te doen is het nodig om zoveel mogelijk jongeren te helpen en om advies van hoge kwaliteit te bieden. Wat ook onmiddellijk opvalt is dat dit een non-profit organisatie is, dus dit zal één van de gevallen zijn waar de kost/winst een minimale rol speelt. Wel is er nood aan een fonds om via een groter kapitaal meer mensen te kunnen helpen. De meeste links tussen softgoals zijn help (“+”) links maar er zijn ook enkele andere links aanwezig. De bijdrage van de alternatieven tot meerdere softgoals wordt eveneens via dezelfde links weergegeven.
63
Wat tot dusver opvalt, is dat de analyse die via deze contributielinks gebeurt, bestaat uit een kwalitatieve analyse. Dit zal impact hebben op de precisie van onze evaluatie, maar hier komen we op terug als we de evaluatie van de alternatieven bespreken.
Als we de zeven softgoals uit het voorbeeld meer in detail behandelen, kunnen we nagaan of deze softgoals wel degelijk voldoen aan de SMART criteria. Dan is het voor al deze softgoals mogelijk om na te gaan in welke mate de softgoals verwezenlijkt zijn en is het mogelijk om te bepalen vanaf welk moment de softgoal al dan niet volledig of partieel verwezenlijkt of niet verwezenlijkt is. Op het eerste gezicht lijken sommige softgoals uit ons voorbeeld niet te voldoen aan deze criteria, maar door de juist key performance indicator (KPI) te koppelen aan sommige softgoals is het wel mogelijk om een duidelijk beeld te vormen over de mate van verwezenlijking van sommige softgoals. Bijvoorbeeld de softgoal “High Quality Counselling” lijkt op in eerste instantie niet te voldoen aan de SMART criteria. De belangrijkste KPI voor kwaliteit in ons voorbeeld is de mate waarin een goede raad gegeven is tijdens het eerste gesprek/contact (First contact resolution (FCR)). Uit studies blijkt namelijk dat er een zeer positieve correlatie is tussen FCR en kwaliteit (dus ook tevredenheid)(Call Center Magazine, 2007). Onmiddellijk kan aangetoond worden dat deze KPI voldoet aan de SMART criteria wat ervoor zorgt dat “High Quality Counseling” een goede softgoal is in ons model. Door de simpele berekening:
is het mogelijk om te bepalen in welke mate “High Quality Counselling” voldaan is. Hetzelfde kan gebeuren voor de softgoal “Immediacy” door bijvoorbeeld te bepalen hoeveel tijd er is tussen het versturen van de vraag en een antwoord of hoelang iemand moet wachten tot hij een raadgever aan het woord krijgt (response time). Het is dus noodzakelijk om aan alle softgoals goede KPI’s te koppelen en te zorgen dat deze KPI’s voldoen aan de SMART criteria.
Bij het opstellen van softgoal modellen kan soms de vraag gesteld worden hoe gedetailleerd de softgoals moeten zijn. Is het noodzakelijk dat elke softgoal die beïnvloed wordt door de verschillende alternatieven in dit model opgenomen wordt? Hier kunnen we stellen dat er in de meeste gevallen gebruik gemaakt kan worden van de Paretoprincipe (80-20-regel). Deze regel wil zeggen dat het voor de efficiëntie en de werkbaarheid van het model aangewezen is om de softgoals te bepalen waarmee 80% van de performance kan gemeten worden. Meestal is het voldoende om de vijf tot tien belangrijkste softgoals te bepalen om op die manier zeker 80% te omvatten. De overige softgoals die slechts 20% van de performance meten, bestaan vaak uit veel minder belangrijke softgoals en 64
zouden het model alleen maar onnodig complex maken. Kort samengevat kunnen we dus zeggen dat indien een proces betrekking heeft op enorm veel softgoals, het niet nodig is om deze allemaal te modelleren, maar dat het beter is om de belangrijkste softgoals te bepalen en deze op te nemen in het model. 20% van de softgoals zullen 80% van de performance kunnen bepalen. In het geval van ons voorbeeld gebruiken we zeven softgoals om de performance van het online counselen te evalueren.
6.4 Belang van stakeholders Als we het voorbeeld van online counseling bekijken valt het op dat we de alternatieven momenteel slechts vanuit één standpunt bekijken. Het is echter onvoldoende om zomaar de belangrijkste softgoals vanuit één standpunt te bepalen en om de alternatieven enkel vanuit dit standpunt te evalueren. In elk beslissingsproces zijn er immers verschillende stakeholders die een inspraak moeten hebben. De softgoals die hierboven bepaald zijn waren enkel vanuit het standpunt van de organisatie maar in realiteit zijn er meestal wel meerdere stakeholders die elk andere belangen hebben. Deze stakeholders kunnen zowel bestaan uit interne als externe stakeholders. Bij de interne wordt er vaak gekeken naar de aandeelhouders en de werknemers, bij de externe stakeholders wordt in ons voorbeeld gekeken naar de klanten omdat deze de reden zijn waarom een bepaald proces ontwikkeld wordt. In realiteit zullen zowel de externe als de interne stakeholders verschillen van bedrijf tot bedrijf. Het is dan ook de taak van elk bedrijf afzonderlijk om voor zichzelf te bepalen welke stakeholders het belangrijkst zijn en welke ze willen opnemen in het model. Onderstaande figuur (Figuur 20) geeft een breder overzicht van enkele mogelijke stakeholders van een organisatie. Merk wel op dat dit geen compleet overzicht is.
65
Figuur 20: Mogelijke interne en externe stakeholders van een organisatie (Penumbra, n.d.)
In ons voorbeeld ligt de focus slechts op drie stakeholders: de organisatie, de werknemers en de klanten. De organisatie (Organization) bestaat voornamelijk uit de aandeelhouders en de raad van bestuur. De werknemers (Counsellors) zijn vooral de personen die betrokken zijn bij de alternatieven waartussen gekozen wordt en de klanten (Kids and Youth) zijn natuurlijk de personen voor wie het proces ontwikkeld wordt en die betalen voor een dienst of goed. Voor elk van deze stakeholders zijn er verschillende softgoals waar ze belang aan hechten. Zo is het in sommige gevallen zo dat het voor de aandeelhouders het belangrijkst is om zo veel mogelijk winst te maken. In andere gevallen, bijvoorbeeld bij een non-profit organisatie, zullen er andere softgoals zijn die voor de organisatie het belangrijkst zijn. De werknemers hebben weer andere belangen, zij zullen bijvoorbeeld graag werken met een niet al te hoge werklast en in een goede werksfeer. Er zullen in veel gevallen ook meerdere softgoals zijn die betrekking hebben op twee of meerdere stakeholders. Opvallend is dat in de literatuur weinig aandacht besteed wordt aan deze meerdere stakeholders en dat de evaluatie meestal gebeurt vanuit het standpunt van slechts één stakeholder. De evaluatie uit (J. Horkoff & Yu, 2009) en het bijhorende voorbeeld waarmee in deze masterproef wordt verder gewerkt is één van de enige papers uit dit domein die deze meerdere stakeholders wel probeert in rekening te brengen. 66
Onderstaande figuren geven respectievelijk de softgoal modellen weer voor de jongeren (klanten) (Figuur 21) en voor de raadgevers (werknemers) (Figuur 22). We merken op dat sommige softgoals inderdaad meerdere malen terugkeren in de verschillende modellen omdat deze softgoals belangrijk zijn voor meerdere stakeholders.
Figuur 21: Softgoal model uit het standpunt van de jongeren
Wanneer we kijken naar het softgoal model van de raadgevers valt het op dat er een cyclus aanwezig is. Zoals vermeld in het literatuuronderzoek, kan zo een cyclus de evaluatie beïnvloeden en zo een verkeerd beeld vormen. Het is dus belangrijk dat de cycli in het model opgemerkt worden en dat de juiste maatregelen hiervoor getroffen worden of dat het op zijn minst toch in het achterhoofd gehouden wordt. In het onderstaande model beïnvloedt de kwaliteit van het counselen de tevredenheid van de raadgever. Dit is logisch omdat een hogere kwaliteit ervoor zorgt dat de klantentevredenheid stijgt, wat een positieve invloed heeft op de tevredenheid van de raadgever. Het is geweten dat gelukkige mensen beter presteren, dus dat brengt een positieve invloed op de kwaliteit van het counselen met zich mee. Het is dus belangrijk om deze cyclus en de eventuele 67
invloed ervan op de evaluatie in rekening te nemen. In deze softgoal modellen kunnen we ook testen of de softgoals voldoen aan de SMART criteria. Daarvoor is het nodig om aan een softgoal de juiste KPI te koppelen die vervolgens getest kan worden aan het SMART principe. Neem nu bijvoorbeeld de softgoal “Avoid Burn-out”. We weten dat een burn-out vaak voorkomt als de werklast voor de raadgevers te hoog is, dus het is perfect mogelijk om deze softgoal te linken aan de KPI “utilization rate”. Aangetoond is dat vanaf een “utilization rate” van 80-90% de kans op een burn-out aanzienlijk vergroot (Call Center Magazine, 2007).
Figuur 22: Softgoal model uit het standpunt van de raadgevers
Het goal model en de bijhorende softgoal modellen zijn nu opgesteld. In de volgende hoofdstukken wordt er geprobeerd om de keuze tussen de alternatieven uit het goal model te evalueren met behulp van de criteria uit het softgoal model.
68
7 Prioriteiten 7.1 Het belang van prioriteiten Wat in veel papers vergeten wordt en niet veel aandacht gekregen heeft tot een paar jaar geleden is het feit dat niet alle softgoals even belangrijk zijn. Indien we de softgoals eenvoudigweg terugbrengen tot kwaliteit, kost en tijd, dan is het logisch dat voor sommige stakeholders kwaliteit belangrijker zal zijn dan de kost en dat voor andere stakeholders de kost zal primeren. Indien de stakeholders bepaalde voorkeuren hebben, dan kan dit de evaluatie van verschillende alternatieven in grote mate beïnvloeden. Dit is ook het geval in de paper van Yu en Horkoff (J. Horkoff & Yu, 2009). Deze paper biedt zoals gezien in de literatuur een evaluatiemethode die rekening houdt met veel aspecten van de evaluatie en deze paper biedt één van de betere beschikbare evaluatiemethodes van het moment. Toch zijn er nog manieren om deze methode te verbeteren. Het toevoegen van prioriteiten aan deze methode is daar volgens ons één van.
Eenmaal de verschillende softgoals voor het proces vaststaan is het dus nodig om te bepalen welke softgoals het belangrijkst zijn voor de stakeholder. Er bestaan verschillende manieren om de prioriteiten te bepalen. Indien het bijvoorbeeld een proces is dat in verschillende omgevingen of in verschillende bedrijven reeds op verschillende manieren gebeurt, kunnen studies aantonen welke softgoals het belangrijkst zijn om de beste performance te verkrijgen. Op die manier hebben studies aangetoond dat het verbeteren van FCR (First Contact Resolution) in call centers veel meer invloed heeft op de klanttevredenheid dan het verbeteren van de tijd dat klanten moeten wachten totdat ze iemand aan de lijn krijgen (Call Center Magazine, 2007). In veel gevallen zijn er echter geen studies beschikbaar of is de kost van het uitvoeren van de studies te groot ten opzichte van de kost van een slechte keuze van een alternatief. Maar zelfs indien er reeds studies uitgevoerd zijn naar welke softgoals of KPIs het belangrijkst zijn, is het niet vanzelfsprekend dat de stakeholders de eerdere bevindingen volgen. In veel gevallen zullen de stakeholders zelf persoonlijke voorkeuren (afhangend van hun belangen) hebben, dit kan al dan niet beïnvloed worden door eerdere persoonlijke bevindingen of studies. In sommige gevallen kan het bijvoorbeeld zijn dat de stakeholder wil dat een bepaald proces zo goedkoop mogelijk gebeurt, zelfs indien dit ten koste gaat van de kwaliteit. Natuurlijk zal er altijd een afweging gemaakt moeten worden.
Enkele recente papers hebben reeds geprobeerd om deze preferenties van de stakeholders in rekening te brengen tijdens de evaluatie (Hui & Liaskos, 2003; Liaskos et al., 2010, 2011). Maar zoals vermeld in het Inleidend hoofdstuk, zijn er nog steeds meerdere zaken die volgens ons te weinig aandacht gekregen hebben. 69
Een mogelijke manier om prioriteiten te achterhalen is simpelweg door de softgoals te rangschikken volgens hun belangrijkheid en dus aan elke goal een rangschikking van 1 tot 10 toe te kennen. Deze methode hebben we toegepast op het inleidende voorbeeld en kan in de praktijk bij simpele modellen toegepast worden. Er zijn echter toch nog enkele zaken die voor problemen kunnen zorgen. Het grootste probleem is dat er bij een rangschikking geen onderscheid gemaakt wordt tussen verschillen in belangrijkheid onderling. Een simpele vergelijking kan gemaakt worden met een wielerwedstrijd. De rangschikking op het einde van de wedstrijd geeft wel de top drie weer, maar je kunt er niet uit afleiden hoe groot de verschillen waren tussen de drie eersten. Het is mogelijk dat de eerste wielrenner een grote voorsprong had op de tweede en de derde, maar het zou ook kunnen dat de eerste en de tweede dicht bij elkaar lagen en dat de derde wielrenner een grote achterstand had. Ditzelfde principe is van toepassing voor de rangschikking van softgoals, er kan daar onvoldoende informatie uit afgeleid worden. Daarom zoeken we een andere soort rangschikking waarbij wel voldoende informatie voor handen is om de relatieve verschillen tussen de softgoals onderling weer te geven.
7.2 Opstellen van prioriteiten met behulp van AHP binnen eenvoudig softgoal model Om deze afweging te maken en om prioriteiten te kunnen leggen tussen de verschillende softgoals kan er beroep gedaan worden op een methode die ontwikkeld werd door Saaty namelijk AHP (Analytical Hierarchy Process). AHP is een veelbelovende oplossing om de relatieve belangrijkheid van softgoals weer te geven en deze methode is al door verschillende auteurs gebruikt in besluitvorming (Shahin & Mahbod, 2007). De werking van AHP werd reeds toegelicht in de literatuur. We passen AHP onmiddellijk toe op het voorbeeld van online counseling waarbij we het eerst toepassen op ons eenvoudigste model waarin we de alternatieven evalueren met behulp van kost, kwaliteit en tijd (Figuur 23). We hebben de contributielinks toegevoegd aan het model en dan krijgen we onderstaande tabel waarbij alles aanwezig is om het model te evalueren.
70
Figuur 23: Invloed kost, kwaliteit en tijd op "Online Counselling"
Zoals kan worden opgemerkt, wordt er nog niet gewerkt met verschillende stakeholders en softgoal modellen. Toch is het met dit eenvoudig model nog niet voor de hand liggend welk alternatief gekozen zal worden. Indien alleen de kost belangrijk is dan zou in principe gekozen moeten worden voor een SMS-dienst en indien alleen kwaliteit belangrijk is zou men kiezen voor een Cyber Café/Portal/Chat room. Indien kwaliteit en kost beide belangrijk zijn en indien de tijd geen rol zou spelen, zou men kiezen voor een SMS-dienst omdat de combinatie van een Make en een Help beter is dan een combinatie van Make en Hurt. Het is dus duidelijk dat er prioriteiten gesteld moeten worden.
We passen daarom AHP toe op deze drie criteria. Een eerste stap in AHP is de paarsgewijze vergelijking. Dit gebeurt door de relatieve belangrijkheid van de criteria onderling te vergelijken op een schaal van 1 tot 9. Hierbij betekent 1 dat de criteria even belangrijk zijn, 3 betekent dat het criterium matig belangrijker is, 5 betekent dat het criterium veel belangrijker is, 7 betekent dat het criterium heel veel belangrijker is en 9 betekent dat een criterium extreem veel belangrijker is dan een ander criterium. De uitkomst van deze paarsgewijze vergelijking op basis van menselijke beoordeling is de paarsgewijze vergelijkingsmatrix. Toegepast op deze drie criteria (kost, kwaliteit en tijd) krijgen we volgende paarsgewijze vergelijkingsmatrix (Tabel 11). Uit deze matrix kan worden 71
afgeleid dat de kost matig belangrijker is dan de tijd, dat de kwaliteit een klein beetje belangrijker is dan de kost en dat de kwaliteit belangrijker is dan de tijd. Bij de diagonale lijn in de matrix is het logisch dat hier telkens het cijfer 1 terecht komt.
Kost Kost
1
Kwaliteit
2
Kwaliteit
Tijd 3
1
Tijd
4 1
Tabel 11: Paarsgewijze vergelijkingsmatrix van kost, kwaliteit en tijd
Van deze matrix is het dus noodzakelijk om tot de relatieve gewichten te komen van de verschillende criteria. Er is wiskundig aangetoond dat hiervoor de eigenvector methode de beste aanpak is (Saaty, 1990). De eigenvector methode bestaat uit een aantal matrixtransformaties. In een eerste stap wordt het kwadraat van de matrix genomen en vervolgens worden de waarden in de rijen opgeteld en genormaliseerd. Het resultaat van deze berekeningen is de eigenvector. Deze berekening van de eigenvector moet enkele malen herhaald worden totdat de waarden van de eigenvector niet meer veranderen na elke iteratie. Op dit moment is de definitieve eigenvector berekend en hieruit kunnen dan simpelweg de relatieve gewichten berekend worden. In ons voorbeeld (uitgewerkt in Figuur 24) is de eigenvector niet veel meer veranderd in de volgende iteraties.
72
Figuur 24: Uitwerking AHP op kost, kwaliteit en tijd
Deze eigenvector uit stap 3 (Figuur 24) stelt de onderlinge belangrijkheid van de criteria voor. De relatieve gewichten die we kunnen toekennen aan kost, kwaliteit en tijd kunnen worden teruggevonden in onderstaande tabel(Tabel 12). Met deze prioriteiten wordt vervolgens verder gewerkt tijdens de evaluatie van het model omdat deze er een grote invloed op uitoefenen (zie volgend hoofdstuk).
Softgoal
Relatief gewicht
Rangschikking
Kost
32 %
2
Tweede belangrijkste softgoal
Kwaliteit
56 %
1
Belangrijkste softgoal
Tijd
12 %
3
Minst belangrijke softgoal
Tabel 12: Relatieve gewichten en rangschikking
73
7.3 Opstellen van prioriteiten met behulp van AHP binnen softgoal model van online counseling In het voorgaande werden prioriteiten toegekend binnen het eenvoudige softgoal model. Nu proberen we ook prioriteiten toe te kennen binnen de softgoal modellen van online counseling. Het toekennen van de prioriteiten aan het volledige model, bestaande uit de drie softgoal modellen voor de drie stakeholders is minder evident. Dit komt omdat de softgoals in softgoal modellen zich op verschillende niveaus bevinden en sommige softgoals invloed hebben op meer dan één softgoal. Afhankelijk van de structuur van het softgoal model kan de methode die gebruikt wordt voor het opstellen van de prioriteiten verschillen. Indien de structuur van het softgoal model hiërarchisch is en elke criteria als onafhankelijk beschouwd kunnen worden, dan is AHP nog steeds de aangewezen manier om de prioriteiten te bekomen. Een voorbeeld van de ideale structuur om AHP te gebruiken wordt weergegeven in onderstaande figuur (Figuur 25) (BPMSG, 2011).
Figuur 25: Ideale hierarchische structuur voor AHP
Zoals je kunt zien zijn er een aantal subcriteria die telkens slechts invloed hebben op één criterium. De subcriteria onderling beïnvloeden elkaar ook niet, zodat ze telkens als onafhankelijk beschouwd kunnen worden. In sommige gevallen is dergelijke structuur niet van toepassing en kunnen de 74
criteria niet als onafhankelijk beschouwd worden aangezien er meerdere criteria zijn die elkaar beïnvloeden. In deze gevallen kunnen we beroep doen op ANP (Analytical Network Process)(Saaty, 1990, 2008).
ANP is een meer algemene vorm van AHP en via deze methode is het mogelijk afhankelijkheden en feedbackloops (cyclussen) mee in rekening te brengen bij het opstellen van de prioriteiten. Zoals de naam ANP al laat vermoeden, is het bij ANP mogelijk om prioriteiten op te stellen in een netwerk van verschillende criteria. Deze netwerkstructuur wordt duidelijk in onderstaande figuur (Figuur 26). Op deze figuur is grafisch te zien dat verschillende linken tussen de criteria onderling mogelijk zijn. Dus indien de structuur van het softgoal model niet voldoet aan de eenvoudige structuur van AHP, kan er gekozen worden voor ANP.
Figuur 26: Netwerk structuur voor toepassing ANP
In ons geval doen we in de eerste plaats een beroep op AHP om de prioriteiten te berekenen. Indien een softgoal contributielinks ontvangt uit verschillende softgoals maken we gebruik van AHP om de 75
prioriteiten op te stellen. Indien een softgoal contributielinks ontvangt van zowel alternatieven als van softgoals dan kiezen we er momenteel voor om deze prioriteiten manueel toe te kennen door ze evenredig te verdelen onder de softgoals en de alternatieven. Na de berekening van AHP (zie appendix 1) krijgen we onderstaande figuur (Figuur 27) voor de softgoals van de jongeren. Zoals je kunt opmerken moet de som van de inkomende prioriteiten in een softgoal altijd gelijk zijn aan 100%. Er een keuze moet gemaakt worden tussen de verschillende alternatieven, daardoor komt er telkens in een softgoal slechts één link van uit de mogelijke alternatieven. Dit zorgt ervoor dat de som telkens 100% is. Bijvoorbeeld bij de softgoal “Comfortable to Use” komt er 50% van “Anonimity” en 50% is afkomstig van ofwel “SMS- dienst” of van “Cyber Café/Portal/Chat Room”. De som hiervan is duidelijk 100%.
Figuur 27: Toekennen gewichten via AHP
Op dit moment is het mogelijk om te starten aan de evaluatie van de alternatieven (Evaluatie) maar eerst worden nog enkele voordelen en nadelen van AHP besproken (BPMSG, 2011).
Het grootste voordeel van AHP is dat AHP het mogelijk maakt om complexe problemen eenvoudig voor te stellen doordat het probleem gestructureerd wordt in meerdere subproblemen die elk 76
minder complex zijn. Een tweede voordeel is dat AHP het mogelijk maakt om de input van meerdere personen samen te brengen tot een gezamenlijke beoordeling (zie Groepsbesluitvorming). Een derde voordeel is dat de berekeningen van AHP vrij eenvoudig uitgevoerd kunnen worden. Een laatste voordeel is dat AHP een consistentiecheck kan uitvoeren om na te gaan of de gebruikte data geschikt zijn om de prioriteiten te bepalen.
Het grootste nadeel is echter dat de input die AHP gebruikt om de prioriteiten te bepalen afkomstig is van subjectieve input. Een manier om deze subjectieve input op een meer gestructureerde manier te bepalen is door gebruikt te maken van QFD (Akao, 1990). Een ander nadeel van AHP is dat het niet altijd mogelijk is om het probleem te structureren in meerdere subproblemen. In dat geval kan soms wel beroep gedaan worden op ANP.
8 Evaluatie 8.1 Evaluatie rekening houdend met de prioriteiten tussen softgoals Na het opstellen van het goal model, de softgoal modellen en na het toekennen van de prioriteiten is het mogelijk om de alternatieven te evalueren. Voor de evaluatie van alternatieven zijn meerdere methodes voorgesteld in het eerste deel van de masterproef (DEEL 1: Theoretisch kader). In dit hoofdstuk stellen we een evaluatiemethode voor die deels verder bouwt op bestaande methodes.
Het goalmodel en de softgoal modellen uit het voorbeeld van online counseling zijn oorspronkelijk opgesteld voor een kwalitatieve evaluatie. Via de contributielinks, een aantal initiële labels en de propagatieregels is het mogelijk om de alternatieven op een kwalitatieve manier te evalueren (J. Horkoff & Yu, 2009). Doordat wij tijdens de evaluatie de preferenties van de stakeholders willen integreren, is het niet meer mogelijk om de evaluatie op dezelfde manier uit te voeren. We moeten op zoek naar andere manieren om de verschillende alternatieven te evalueren.
Ten eerste is het nodig om over te schakelen van een kwalitatieve naar een kwantitatieve evaluatie. De meest voor de hand liggende manier om dit te doen is door in de contributielinks “++/+/-/--” tussen de softgoals te vervangen door numerieke waarden. Dit werd reeds gedaan in (Letier & van Lamsweerde, 2004). Het probleem hierbij is dat het vaak niet gemakkelijk is om de kwalitatieve contributielinks zomaar te vervangen door numerieke waarden.
77
Ten tweede is het noodzakelijk om ook de bijdragen die de alternatieven leveren tot de verschillende softgoals te vervangen door numerieke waarden. In (Hui & Liaskos, 2003; Liaskos et al., 2010, 2011) werden ook reeds mogelijkheden voorgesteld om de verschillende bijdrages numeriek weer te geven en om daarbij rekening te houden met de preferenties van de stakeholders (dit is vooral het geval in de laatste 2 papers). Een groot minpunt in de evaluatie bij deze papers is dat er geen verschil gemaakt wordt in de mate waarin een alternatief bijdraagt tot bepaalde softgoals. In (Hui & Liaskos, 2003) worden de waardes “-1,0,1” gebruikt om respectievelijk een negatieve bijdrage, geen bijdrage en een positieve bijdrage aan te geven. In (Liaskos et al., 2010, 2011) worden wel prioriteiten gesteld tussen de softgoals door alle softgoals een relatieve waarde te geven en de som van deze relatieve waarden is vervolgens 1. Om de totale score van een bepaald alternatief te berekenen wordt de som gemaakt van de relatieve waarden van de softgoals waartoe een alternatief een bijdrage levert. In dit geval wordt er dus geen onderscheid gemaakt in de mate waarin een bepaald alternatief bijdraagt tot een softgoal.
Ook belangrijk om op te merken is dat in de papers (Hui & Liaskos, 2003; Liaskos et al., 2010, 2011) gewerkt werd met losstaande softgoals. Hiermee bedoelen we dat de softgoals die gebruikt werden om de alternatieven te evalueren geen deel uitmaakten van een softgoal model wat de evaluatie aanzienlijk vereenvoudigde.
Zoals reeds aangegeven is het niet gemakkelijk om zomaar kwalitatieve contributielinks te vervangen door kwantitatieve links. Een oplossing die we hiervoor voorstellen is om de “++/+/-/--” te vervangen op onderstaande manier (Tabel 13):
Symbool
Kwalitatief
Grafisch
++
Make
1
+
Help
0,5
Geen link
None
-
Hurt
-0,5
--
Break
-1
None
Numeriek
0
Tabel 13: Kwanitatieve voorsteling "++/+/-/--"
78
Deze numerieke waarden geven de mate aan waarmee een waarde van de ene softgoal of van het alternatief gepropageerd wordt naar de softgoal waartoe een bijdrage geleverd wordt. Tijdens de evaluatie die we toepassen wordt de waarde die gekoppeld wordt aan een alternatief gepropageerd naar de softgoals door deze waarde te vermenigvuldigen met de numerieke waarde die gegeven wordt aan de contributielinks. Tijdens de evaluatie is het dus nodig om de alternatieven een initiële waarde te geven. Voor de eenvoud is gekozen voor de waarde “0” of “100” om aan te tonen voor welk alternatief gekozen wordt en om zo de evaluatie voor dit alternatief uit te voeren. Tijdens de verdere evaluatie worden de prioriteiten die toegekend werden aan de verschillende softgoals ook mee verrekend om op die manier tot een waarde te komen voor het doel dat men uiteindelijk wil maximaliseren. De bedoeling is om te kijken bij welk alternatief de waarde van het ‘target’ doel maximaliseert gegeven de prioriteiten die gekoppeld werden aan de softgoals.
In deze evaluatie wordt dus een duidelijk onderscheid gemaakt tussen de bijdrage die geleverd wordt van de ene softgoal tot de andere softgoal en tussen de prioriteiten binnen de verschillende softgoals. Dit is noodzakelijk omdat sommige softgoals misschien wel belangrijk zijn voor bepaalde stakeholders maar dit betekent niet altijd dat deze softgoals ook een even grote bijdrage leveren ten opzichte van andere softgoals. Daarom wordt in deze evaluatie van beide (bijdragen en prioriteiten) gebruik gemaakt om het uiteindelijke resultaat van de softgoal bovenaan het softgoal model te bepalen.
De waarde die gepropageerd wordt naar de volgende softgoal, wordt simpelweg bepaald door de vermenigvuldiging van de contributiebijdrage, de prioriteit en de waarde toegekend aan de softgoal of het alternatief.
79
Figuur 28: Evaluatie alternatief Cyber Café/Portal/ Chat Room
Figuur 29: Evaluatie alternatief SMS- dienst
80
Deze twee figuren (Figuur 28 en Figuur 29) geven de evaluatie van respectievelijk de Cyber Café/Portal/Chat Room en de SMS-dienst. We gaan dieper in op de evaluatie van Figuur 28 waarbij er gekozen wordt voor een Cyber Café/Portal/Chat Room. De softgoal “Immediacy” krijgt een waarde “100”. Dit is afkomstig van 0 (SMS- dienst) * 100% * -0,5 (“Hurt” Link) + 100 (Cyber Café/Portal/Chat Room) * 100% * 1 (“Make” link”). De softgoal “Anonimity” krijgt de waarde “-50” (0 * 100% * 0,5 + 100 * 100% * -0,5). De softgoal “Comfortable to Use” krijgt een waarde “12,5” (0 * 50% * 0,5 + 100 * 50% * 0,5 + -50 * 50% * 0,5). Gegeven de prioriteiten die gekoppeld werden aan de softgoals met behulp van AHP is het mogelijk om voor de softgoal “Get Effective Help” een waarde “29” (12,5 * 24% * 0,5 + -50 * 14% * 0,5 + 100 * 62% * 0,5) te bepalen. Doordat de Cyber Café/Portal/Chat Room een “Make” link heeft met de softgoal “Immediacy” en doordat deze softgoal een hoge prioriteit heeft, geniet dit alternatief de voorkeur en werd ook de hoogste score voor dit alternatief berekend.
8.2 Evaluatie zonder prioriteiten in rekening te brengen Als we dezelfde evaluatie uitvoeren vanuit het standpunt van de jongeren (Figuur 28 en Figuur 29), maar dan zonder de prioriteiten mee te rekenen. In ons methode komt dit overeen met het toekennen van een prioriteit van 33% aan de drie softgoals die bijdragen tot “Get effective help”. Deze uitkomst kunnen we vervolgens vergelijken met de kwalitatieve evaluatie van (J. Horkoff & Yu, 2009). Via de evaluatie van Horkoff en Yu kunnen we besluiten dat beide alternatieven ervoor zorgen dat de softgoal “Get effective help” gedeeltelijk vervuld is. Als we bovenstaande methode vervolgens toepassen komen we voor het alternatief van het Cyber Café aan een waarde van “10,4” (Figuur 30) en voor de SMS-dienst aan een waarde van “12,5” (Figuur 31).
81
Figuur 30: Evaluatie alternatief Cyber Café/Portal/ Chat Room zonder prioriteiten
Figuur 31: Evaluatie alternatief SMS- dienst zonder prioriteiten
82
8.3 Beoordeling evaluaties Na deze twee evaluaties (één keer met prioriteiten en de tweede keer zonder prioriteiten) is het reeds mogelijk om een aantal conclusies te trekken:
Ten eerste is het dankzij de nieuwe methode mogelijk om de alternatieven te rangschikken, wat de keuze tussen de alternatieven aanzienlijk zal vereenvoudigen. Bij de kwalitatieve methode werd als uitkomst gevonden dat beide alternatieven voor een gedeeltelijke vervulde softgoal “Get effective help” zorgen wat het niet mogelijk maakt om te kiezen tussen beide alternatieven. Bij de nieuwe methode daarentegen kan de rangschikking onmiddellijk afgeleid worden.
Ten tweede is het nu ook mogelijk om prioriteiten te integreren in de methode, wat de keuze tussen de alternatieven realistischer maakt. In het dagelijkse leven zullen bijna alle keuzes afhangen van de verschillende preferenties die de persoon die de keuze maakt op een bepaald moment heeft, dus het zou onlogisch zijn om deze preferenties niet te integreren bij de evaluatie van alternatieven.
Jammer genoeg zijn er ook minpunten aan de nieuwe evaluatiemethode. Zo is het moeilijker geworden om labels toe te kennen aan de softgoals. We zouden de labels uit onderstaande tabel kunnen gebruiken om respectievelijk aan te geven in welke mate een softgoal vervuld is. Deze labels (vervuld, gedeeltelijk vervuld, geen invloed, gedeeltelijk niet vervuld, niet vervuld) kunnen telkens afgeleid worden uit de numerieke waarden door te kijken in welk interval deze numerieke waarden zich bevinden (Tabel 14). Hierbij moet wel de opmerking gemaakt worden dat de numerieke waarden vrij vlug lage waarden representeren doordat er in de meeste softgoal modellen veel “Help” en “Hurt” links aanwezig zijn die slechts de helft van de waarde propageren. Indien in een softgoal model enkel “Make” of “Break” links terug te vinden zijn is het mogelijk om een softgoal als “vervuld” te labellen.
83
Label
Interval
Vervuld
[100]
Gedeeltelijk vervuld
]0,100[
Geen invloed
[0]
Gedeeltelijk niet-vervuld
]-100,0[
Niet-vervuld
[-100] Tabel 14: Toekenning label aan softgoals
Een tweede minpunt is dat er momenteel slechts vier verschillende contributielinks zijn waarmee gewerkt wordt. Het is immers vanzelfsprekend dat wanneer twee alternatieven beiden een “Help” contributielink hebben ten opzichte van een softgoal, de bijdrage voor deze alternatieven niet per se even groot zal zijn. Indien men dus over meer gegevens beschikt bij het opstellen van deze modellen, zou deze methode het mogelijk maken om de “Help” (en “Hurt”) contributielink verder op te splitsen. Via de numerieke bijdragen uit onderstaande tabel (Tabel 15) zou dus onderscheid kunnen gemaakt worden tussen verschillende “Help” (en “Hurt”) contributielinks wat de evaluatie opnieuw realistischer zou kunnen maken.
Kwalitatieve contributielink
Kwantitatieve bijdrage 0,9 0,8
Help
… 0,2 0,1 - 0,1 - 0,2
Hurt
… - 0,8 - 0,9 Tabel 15: Van kwalitatieve naar kwanitatieve bijdrages
84
Indien nog meer informatie beschikbaar is over de verschillende bijdrages die alternatieven leveren ten opzichte van softgoals, kan nog een stap verder gegaan worden. Stel bijvoorbeeld een softgoal die een zo laag mogelijke kost wenst voor de verschillende alternatieven. Indien dan voor elk alternatief de kost gekend is, kan de contributie van de alternatieven ten opzichte van deze softgoal gemakkelijk bepaald worden door de kosten onderling te vergelijken en aan de hand daarvan de bijdrages op te stellen. Dit wordt duidelijker met een voorbeeld. Stel 4 alternatieven (A, B, C en D) met elk een andere kostprijs. Aan het goedkoopste alternatief wordt de contributielink “1” (Make) gekoppeld en de andere alternatieven krijgen dan een link in functie van de ratio ten opzichte van het goedkoopste alternatief. In onderstaande tabel (Tabel 16) is alternatief B het goedkoopst en wordt hieraan de kwantitatieve bijdrage “1” gekoppeld.
Alternatief
Kost
Kwantitatieve bijdrage
A
8.000
0,5
B
4.000
1
C
5.000
0,8
D
10.000
0,4
Tabel 16: Mogelijke uitwerking kwantitatieve bijdragen
Wanneer er dus voldoende informatie beschikbaar is, zou voor elk alternatief de kwantitatieve bijdrage tot verschillende softgoals bepaald kunnen worden. In veel gevallen is de bijdrage tot de softgoals vooraf moeilijk te bepalen en kan dit pas achteraf via testen gebeuren. Maar indien hiervan een accurate schatting gemaakt kan worden, kan dit de evaluatiemethode verder verbeteren.
Dit kan opnieuw toegepast worden op ons voorbeeld van online counseling. Zoals al een paar keer vermeld, is het hiervoor enorm belangrijk om voor elke softgoal te bepalen welke KPI eraan gekoppeld wordt.
Stel nu bijvoorbeeld de softgoal ‘Immediacy’. Hier kan als KPI genomen worden hoe lang het duurt vooraleer iemand een antwoord krijgt op zijn vraag. We kunnen deze KPI opsplitsen in twee delen. In de eerste plaats de wachttijd, dit is de tijd dat het duurt voordat er een raadgever beschikbaar is. Een tweede deel is dan de tijd dat het duurt voor de raadgever om een antwoord te geven.
85
Tijd vooraleer raad gegeven wordt = wachttijd + antwoordtijd
Laten we in eerste instantie ervan uitgaan dat er voldoende raadgevers beschikbaar zijn en dat de wachttijd dus verwaarloosd wordt. Dan moet alleen de antwoordtijd geëvalueerd worden.
Alternatief
KPI “Immediacy” (in seconden)
Kwantitatieve bijdrage
SMS-Dienst
110 seconden
0,27
Chat Room
30 seconden
1
Tabel 17: Kwantitatieve bijdragen toegepast op voorbeeld
Indien het bij de SMS-dienst 110 seconden duurt (tijd voor sms te typen + verzendtijd) en bij de Chat Room slechts 30 seconden, dan kunnen de kwantitatieve bijdragen uit Tabel 17 afgeleid worden. Deze kwantitatieve bijdragen geven indien correct bepaald veel meer informatie dan de huidige “Hurt” en “Make” links voor deze alternatieven ten opzichte van de softgoal ‘Immediacy’. Dit zal op zijn beurt de keuze tussen de alternatieven verder beïnvloeden. De beste manier om dit toe te passen is door goede KPI’s te linken aan de softgoals waardoor een nauwkeurigere evaluatie mogelijk is. Het grote probleem hierbij is dat het voor veel bedrijven niet evident is om op voorhand te achterhalen hoe bepaalde alternatieven zullen scoren op de KPI’s die bepaald werden voor de softgoals.
In deze berekeningen werd ervan uitgegaan dat de wachttijd verwaarloosd kan worden. In sommige gevallen, bijvoorbeeld tijdens spitsuren, is het echter wel mogelijk dat er onvoldoende raadgevers zijn waardoor deze kwantitatieve bijdragen moeten herzien worden. Dit wordt besproken in de Sensitiviteitsanalyse.
86
9 Sensitiviteitsanalyse Zoals kort vermeld in het vorige hoofdstuk, kunnen externe gebeurtenissen de evaluatie van het model beïnvloeden. In het algemeen kunnen we twee situaties onderscheiden.
9.1 Veranderingen in prioriteiten tussen softgoals In een eerste situatie kunnen de gewichten die aan de softgoals toegekend zijn veranderen. Indien bijvoorbeeld andere stakeholders in het proces aan belang winnen of indien de bestaande stakeholders hun prioriteiten aanpassen. Zo kan het zijn dat het bedrijf besluit om een andere strategie te volgen vanaf de toekomst. Of het kan zijn dat de klanten andere verwachtingen krijgen. In sommige gevallen kan deze verandering ook komen doordat de overheid bepaalde subsidies toekent indien processen milieuvriendelijker worden. Deze verandering in prioriteiten tussen de softgoals zal natuurlijk een invloed uitoefenen op de evaluatie van het model en de keuze van het alternatief (Ma, Liu, Xie, Zhang, & Yin, 2009).
Het is dus belangrijk dat bij de keuze tussen de alternatieven gekeken wordt hoe een verandering in prioriteiten de keuze zou beïnvloeden. Indien er in een bepaalde sector de laatste jaren een bepaalde trend is, zoals een stijgend belang van de kwaliteit, dan moet daarmee rekening gehouden worden tijdens de evaluatie. Zo kan men kijken of de keuze van alternatief al dan niet zou veranderen indien een bepaalde softgoal 20% aan belang zou winnen. Indien zou blijken dat de keuze van alternatief zou veranderen indien een bepaalde softgoal belangrijker wordt, moet men schatten wat de toekomstverwachtingen zijn van de stakeholders. Indien een verandering in prioriteiten geen directe invloed uitoefent op de keuze dan zou men dit alternatief als robuust kunnen omschrijven.
9.2 Veranderingen van bijdragen tot softgoals In een tweede situatie zou het ook kunnen dat de bijdrage die een alternatief levert tot een bepaalde softgoal verandert naargelang de situatie (Lapouchnian, 2011). Neem nu het voorbeeld van online counseling. Indien op een bepaald moment enorm veel jongeren op hetzelfde moment raad nodig hebben, dan zou het kunnen gebeuren dat er niet genoeg raadgevers zijn om al de vragen onmiddellijk te kunnen beantwoorden. Dit kan sommige bijdrages negatief beïnvloeden. Door deze plotse drukte zal de softgoal ‘Immediacy’ negatief beïnvloed worden, maar de drukte zal normaal gezien echter geen invloed uitoefenen op de softgoal “Anonimity”. Indien een bepaalde softgoal negatief beïnvloed wordt door een externe situatie, moet in de eerste plaats achterhaald worden of
87
deze negatieve impact dezelfde is voor al de alternatieven omdat dit in sommige gevallen natuurlijk niet het geval zal zijn. In veel gevallen zal deze externe situatie te maken hebben met de capaciteit van een bepaald proces. De beste manier om dit te integreren in het goal model is om voor elke softgoal op te stellen bij welke capaciteit de bijdrage tot de softgoal optimaal (100%) is en in welke mate de bijdrage van het alternatief afneemt. Een mogelijk voorbeeld is weergegeven in onderstaande tabel (Tabel 18).
# oproepen per uur
Performance Chat Room tot softgoal ‘Immediacy’
0 - 49
100%
50 - 99
80%
100 - 149
60%
150 - 199
40%
200 +
20% Tabel 18: Sensitiviteitsanalyse
We weten uit vorige berekeningen dat de bijdrage van de Chat Room tot de softgoal ‘Immediacy’ 1 is als het aantal oproepen beperkt blijft tot maximaal 49 oproepen per uur. Indien er op een spitsuur uitzonderlijk 120 oproepen zijn, dan zal deze bijdrage slechts 0,6 zijn. Hetzelfde kan berekend worden voor de SMS-dienst en in het geval van de SMS-dienst zal de performance evenredig afnemen, maar bij andere toepassingen zal dit waarschijnlijk niet altijd het geval zijn.
Zoals we zelf al aangaven zal het misschien uitzonderlijk zijn dat een bepaalde situatie zich voordoet. Het bedrijf in kwestie zal zich dan moeten afvragen of de keuze tussen de alternatieven zal afhangen van zulke uitzonderlijke situaties. Maar indien een bedrijf een bepaalde service garandeert, dan zullen ze dit toch ergens in rekening moeten brengen.
Een laatste opmerking in dit hoofdstuk is het feit dat in sommige gevallen het niet meer voldoende is om zo goed mogelijk te voldoen aan een kwaliteitsattribuut en dus ook aan een softgoal. Dit zijn gevallen waarin bijvoorbeeld de overheid een kwaliteitsvereiste oplegt waardoor een kwaliteitsattribuut een hardgoal wordt. In deze gevallen zal een bepaald alternatief ofwel voldoen aan deze vereiste ofwel niet voldoen.
88
De eenvoudigste manier om deze sensitiviteitsanalyse uit te voeren, vooral voor de eerste en de tweede situatie, is door de evaluatie uit te voeren in een rekenprogramma zoals Excel. Bij deze sensitiviteitsanalyse kunnen enkele beginwaarden worden aangepast om de impact hiervan op het uiteindelijke resultaat na te gaan. Verder is het in Excel ook mogelijk om via de functie “Oplosser” enkele waarden variabel te laten en om op die manier te vergelijken wat de ideale waarden zouden zijn voor een optimaal resultaat.
10 Overzicht methode De voorgestelde methode bestaat dus uit vier belangrijke stappen, namelijk het opstellen van het goal model, het opstellen van het softgoal model, het bepalen van de prioriteiten en de evaluatie van de alternatieven.
Onderstaande figuur (Figuur 32) toont de schematische opbouw van het model. In de eerste plaats is het nodig om het goal model op te stellen waaruit de verschillende alternatieven geïdentificeerd kunnen worden. Deze alternatieven leveren verschillende bijdragen tot de softgoals uit de opgestelde softgoal modellen. Afhankelijk van de prioriteiten die werden toegekend aan deze softgoals door de stakeholders en afhankelijk van de contributie van de alternatieven tot deze softgoals, worden de alternatieven anders gerangschikt. In een laatste fase wordt een sensitiviteitsanalyse gebruikt om de invloed van veranderingen in zowel de contributies als de prioriteiten te bepalen. Dit zijn ook de stappen die we overlopen hebben doorheen deze masterproef.
Figuur 32: Schematische voorstelling methode
89
11 Groepsbesluitvorming 11.1 Groepsbesluitvorming binnen één softgoal model In dit geval is er één voornaam probleem: hoe worden individuele beoordelingen samengebracht tot één algemene beoordeling die representatief is voor de totale groep? Hoe kunnen we dus individuele voorkeuren en keuzen samenbrengen tot één groepsbeslissing? De wederzijdse eigenschap speelt hierbij een belangrijke rol. Beoordelingen moeten op dergelijke manier samengevoegd worden dat de gesynthetiseerde beoordeling de synthese van de individuele beoordelingen weerspiegelt (Saaty, 2008).
Deze groepsbesluitvorming is dus belangrijk bij het opstellen van de verschillende prioriteiten tussen de softgoals. Indien we de prioriteiten van een bepaalde groep stakeholders willen bepalen, bijvoorbeeld van de klanten, dan maken we nog steeds gebruik van AHP, maar op dit moment is het noodzakelijk om de beoordeling van meerdere klanten in rekening te nemen bij het bepalen van deze prioriteiten.
Om via AHP deze beoordelingen samen te brengen tot één beoordeling werd aangetoond dat het geometrisch gemiddelde en niet het veel gebruikte rekenkundig gemiddelde, de enige correcte manier is (Saaty, 2008). Het geometrisch of meetkundig gemiddelde van n beoordelingen wordt verkregen door deze n beoordelingen met elkaar te vermenigvuldigen en vervolgens van dit product de n-de-machtswortel te nemen. Het rekenkundig gemiddelde wordt eenvoudigweg bepaald door de som te nemen van n beoordelingen en deze som te delen door n. Het geometrisch gemiddelde is betekenisvoller dan het rekenkundig gemiddelde omdat de beoordelingen die gebruikt worden voor AHP zich op een schaal van 1-9 bevinden (Tabel 7) en deze schaal niet lineair is aangezien een beoordeling van “4” niet twee keer beter is als een beoordeling van “2”.
11.2 Groepsbesluitvorming tussen meerdere softgoal modellen Het kan in veel gevallen ook belangrijk zijn om te bepalen welke stakeholders voor een bedrijf het belangrijkst zijn en welke stakeholders dus ook het meeste aandacht verdienen. Indien voor een bepaald bedrijf de werknemers van cruciaal belang zijn en dit bedrijf hoog wil scoren op werknemertevredenheid, dan kan het bedrijf bij de evaluatie van alternatieven overwegen om het softgoal model van de werknemers zwaarder te laten doorwegen. Indien bepaalde stakeholders voor een bedrijf niet belangrijk zijn, dan kan het zelfs mogelijk zijn dat het niet de moeite loont om een softgoal model op te stellen voor deze stakeholders en kan een bedrijf beslissen om deze stakeholders achterwege te laten bij de evaluatie. 90
12 Besluit In deze masterproef werd een oplossing gezocht voor het vereenvoudigen van de vele keuzes die dagelijks genomen moeten worden in het bedrijfsleven. Hiervoor werd een methode ontwikkeld die door veel bedrijven gebruikt kan worden als vertrekpunt bij het maken van beslissingen. Aangezien de methode ontworpen werd binnen GORE, werd bij de ontwikkeling ervan vertrokken van de al bestaande methodes uit de literatuur. Hierbij werd gezocht naar gebreken van de bestaande methodes en manieren om deze methodes te verbeteren. Verder werden ook aspecten van besluitvorming toegevoegd om tot onze uiteindelijke methode te komen.
De methode die wordt voorgesteld in deze masterproef, kan opgesplitst worden in meerdere stappen. In eerste instantie is het noodzakelijk om een goal model op te stellen waaruit de verschillende alternatieven bepaald kunnen worden. Een volgende stap is het identificeren van de softgoals en het opstellen van het softgoal model. Eenmaal het goal model en het softgoal model opgesteld zijn, is het noodzakelijk om in de eerste plaats de bijdragen van de verschillende alternatieven tot de softgoals te bepalen en om in de tweede plaats de prioriteiten tussen de softgoals te bepalen. Nadat deze informatie verzameld is, kan de evaluatie van de verschillende alternatieven gebeuren.
Natuurlijk is het in onze huidige economie met een constant veranderende bedrijfsomgeving belangrijk om de impact van deze onzekerheden mee in rekening te brengen bij het maken van bepaalde keuzes. Dit is ook de reden waarom een sensitiviteitsanalyse wordt voorgesteld.
13 Conclusie In deze masterproef werd er gezocht naar een manier om het goal model en het softgoal model te evalueren. Hierbij werd er getracht om zoveel mogelijk over te schakelen naar een kwantitatieve oplossing omdat dergelijke oplossing nauwkeuriger is en meer informatie biedt dan de veel gebruikte kwalitatieve oplossingen. De huidige kwantitatieve oplossingen uit (Hui & Liaskos, 2003; Liaskos et al., 2010, 2011) schoten zoals vermeld op verschillende vlakken tekort en in deze masterproef werd hiervoor een oplossing gezocht.
Een ander aspect dat in deze masterproef binnen GORE geïntegreerd werd is het beslissingsproces. Er werd voorgesteld om binnen GORE manieren te vinden om elke stap van dit beslissingsproces te 91
koppelen aan een aspect van GORE. Belangrijk hierbij is de integratie van AHP en ANP. AHP werd in detail uitgewerkt en ook gebruikt voor de uitwerking van het voorbeeld. De werking van ANP verloopt grotendeels op een identieke manier maar toch zijn er enkele struikelblokken bij een eventuele integratie van ANP. Zo zou het volgens ons bij ANP nodig zijn om de bijdragen en de prioriteiten te integreren in één waarde en zou het eveneens moeilijker zijn om negatieve bijdrages mee in rekening te brengen. Omdat we deze opsplitsing belangrijk vinden tijdens de evaluatie, hebben we ervoor gekozen om alleen AHP in detail uit te werken. In de toekomst is het misschien wel interessant om ANP ook verder uit te werken omdat ANP ook toegepast kan worden op softgoal models die behoren tot de vermelde netwerkstructuur.
Als laatste element wouden we de aandacht vestigen op de sensitiviteitsanalyse en de groepsbesluitvorming. Dit zijn twee elementen die we toch belangrijk vinden binnen het beslissingsproces en we hebben deze daarom ook kort toegelicht. In toekomstige werken zouden deze elementen eveneens meer in detail uitgewerkt kunnen worden en zouden deze elementen, vooral de laatste, concreet toegepast kunnen worden op een voorbeeld of een casestudie.
92
14 Lijst met referenties Akao, Y. (1990). Quality Function Deployment QFD: Integrating Customer Requirements into Product DesignNo Title. 1990. Alencar, F., Castro, J., Cysneiros, G., & Mylopoulos, J. (2000). From Early Requirements Modeled by i* Technique to Later Requirements Modeled in Precise UML, 92-109. Retrieved from http://www.inf.puc-rio.br/~wer/WERpapers/artigos/artigos_WER00/alencar.pdf Amyot, D., Ghanavati, S., Horkoff, J., Mussbacher, G., Peyton, L., & Yu, E. (2010). Evaluating goal models within the goal-oriented requirement language. International Journal of Intelligent Systems, 25(8), 841–877. Wiley Online Library. Retrieved from http://onlinelibrary.wiley.com/doi/10.1002/int.20433/full BPMSG. (2011a). AHP/ANP Practical Application with Pros and Cons. Retrieved a from http://www.youtube.com/watch?v=ydKGNb4bgYY&feature=relmfu BPMSG. (2011b). Analytic Network Process ANP - Introduction. http://www.youtube.com/watch?v=ow-BUs7ojaQ&feature=relmfu
Retrieved
b
from
Bernaert Maxime, P. G. (2011). The Quest for Know-How, Know-Why, Know-What and Know-Who: Using KAOS for Enterprise Modelling. Boehm, B. (1981). Software Engineering Economics. Bresciani, P., Perini, A., & Giorgini, P. (2004). Tropos: An agent-oriented software development methodology. Agents and Multi-Agent, 203-236. Retrieved from http://www.springerlink.com/index/G757056736223U65.pdf Call Center Magazine. (2007). The Essential Call Center KPIs ICMI. Retrieved from http://www.icmi.com/Resources/Articles/2007/April/The-Essential-Call-Center-KPIs Chung, L., & Leite, J. S. do P. (1996). Non-functional requirements in the software development process. Software Quality Journal, 5(4), 285-294. doi:10.1007/BF00209186 Chung, L., Nixon, B. a., & Yu, E. (1996). Dealing with change: An approach using non-functional requirements. Requirements Engineering, 1(4), 238-260. doi:10.1007/BF01587102 Chung, L., Yu, E., & Mylopoulos, J. (2000). Non-Functional Requirements in Software Engineering. Kluwer. Dardenne, a. (1993, April). Goal-directed requirements acquisition. Science of Computer Programming. doi:10.1016/0167-6423(93)90021-G David R. Shaffer. (1999). No TitleSocial and Personality Development. Fickas, S., Ehlhardt, L., Sohlberg, M., & Todis, B. (2000). of Oregon Personal Requirements Engineering. Most, 1-11.
93
Gerevini, A. (2005). Plan constraints and preferences in PDDL3. of Electronics for Automation, University of, 1-12. Retrieved from http://zeus.ing.unibs.it/ia/PDDL2-151003/pddl3-0.ps Giorgini, P., Kolp, M., Mylopoulos, J., & Pistore, M. (2004). The Tropos Methodology : An Overview. Information Systems Research. Giorgini, P., Mylopoulos, J., & Nicchiarelli, E. (2003). Reasoning with goal models. Retrieved from http://www.springerlink.com/index/QHQMUNBL100Y6UPM.pdf Hansson, S. O. (2005). Decision Theory, 1-94. Haumer, P., Pohl, K., Weidenhaupt, K., & V, L. I. (1998). Requirements Elicitation and Validation with Real World Scenes by Requirements Elicitation and Validation with Real World Scenes. Scenario, 24(12), 1-29. Horkoff, J. . (2006). An Evaluation Algorithm for the i* Framework. University of Toronto. Horkoff, J., & Yu, E. (2009). Evaluating Goal Achievement in Enterprise Modeling – An Interactive Procedure and Experiences. Ifip International Federation For Information Processing, 145-160. Horkoff, J., & Yu, E. (2011). Analyzing Goal Models – Different Approaches and How to Choose Among Them. Simulation. Hui, B., & Liaskos, S. (2003). Requirements analysis for customizable software: A goals-skillspreferences framework. Requirements Engineering, 117–126. IEEE. Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1232743 ISO/IEC 9126. (2001). Software engineering -- Product quality -- Part 1: Quality model, 2001. Kavakli, E. (2002). Goal-oriented requirements engineering: A unifying framework. Requirements Engineering, 0-34. Retrieved from http://www.springerlink.com/index/ddgjljmdq6ed4t02.pdf Kiker, G. a, Bridges, T. S., Varghese, A., Seager, P. T. P., & Linkov, I. (2005). Application of multicriteria decision analysis in environmental decision making. Integrated environmental assessment and management, 1(2), 95-108. Retrieved from http://www.ncbi.nlm.nih.gov/pubmed/16639891 Labib, A. I. and A. (2009). Analytic Hierarchy Process and Expert Choice: Benefits and Limitations, 22(4). Lamsweerde, A. V. (2000). Requirements engineering in the year 00: A research perspective. international conference on Software engineering, 5-19. Acm. doi:10.1109/ICSE.2000.870392 Lamsweerde, A. V. (2001). Goal-oriented requirements engineering: A guided tour. Requirements Engineering, 2001., 249-262. IEEE Comput. Soc. doi:10.1109/ISRE.2001.948567 Lamsweerde, A. V. (2003). From System Goals to Software Architecture. Methods. Lamsweerde, V., Darimont, R., & Letier, E. (1998). Managing conflicts in goal-driven requirements engineering. IEEE Transactions on Software Engineering, 24(11), 908-926. doi:10.1109/32.730542
94
Lamsweerde, V., & Letier, E. (2004). From object orientation to goal orientation: A paradigm shift for requirements engineering. Radical Innovations of Software and Systems Engineering in the Future, (I), 153–166. Springer. Retrieved from http://www.springerlink.com/index/6UY8D9WKWBMVRJC1.pdf Lamsweerde, V., & Willemet, L. (1998). Inferring declarative requirements specifications from operational scenarios. IEEE Transactions on Software Engineering, 24(12), 1089-1114. doi:10.1109/32.738341 Lapouchnian, A. (2005). Goal-Oriented Requirements Engineering : An Overview of the Current Research by. Requirements Engineering. Lapouchnian, A. (2011). Exploiting Requirements Variability for Software Customization and Adaptation by. Science. Letier, E., & van Lamsweerde, A. (2004). Reasoning about partial goal satisfaction for requirements and design engineering. ACM SIGSOFT Software Engineering Notes, 29(6), 53. doi:10.1145/1041685.1029905 Liaskos, S., Mcilraith, S. A., Sohrabi, S., & Mylopoulos, J. (2010). Integrating Preferences into Goal Models for Requirements Engineering. Secretary. Liaskos, S., Mcilraith, S. A., Sohrabi, S., & Mylopoulos, J. (2011). Representing and reasoning about preferences in requirements engineering. Requirements Engineering, 227-249. doi:10.1007/s00766-011-0129-9 Loucopoulos, P., & Karakostas, V. (1995). System Requirements Engineering (p. 160). McGraw-Hill, Inc. New York, NY, USA ©1995. Ma, W., Liu, L., Xie, H., Zhang, H., & Yin, J. (2009). Preference Model Driven Services Selection, 216230. Moody James. (2004). Categorizing Non-Functional Requirements Using a Hierarchy in UML. Chemistry & Retrieved from http://onlinelibrary.wiley.com/doi/10.1002/cbdv.200490137/abstract Mylopoulos, J. (1992). Conceptual Modelling and Telos 1. Information Systems Journal, 49–68. Citeseer. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.3647&rep=rep1&type =pdf Mylopoulos, J., Chung, L., & Nixon, B. (1992). Representing and Using Non-Functional Requirements : A Process-Oriented Approach Abstract 1 Introduction, 1-23. Nilsson, N. J. (1971). Problem-solving methods in artificial intelligence (p. 255). Nuseibeh, B. (2000). Requirements engineering: a roadmap. on the Future of Software Engineering. Retrieved from http://dl.acm.org/citation.cfm?id=336523 Objectiver. (2007). A KAOS tutorial. Retrieved http://www.objectiver.com/fileadmin/download/documents/KaosTutorial.pdf
from
95
Penumbra. (n.d.). The stakeholder Ecosystem. Retrieved http://www.penumbraconsulting.com/services/research-and-insight/understandingstakeholders.asp
from
Reed, S. (2000). Cognition: Theory and applications. Robinson, W. N. (1990). Negotiation Behavior During Requirement Specification. on Software Engineering, IEEE Computer Society (pp. 268-276). SMART Goal Setting. (2010). Retrieved from http://www.goal-setting-guide.com/goal-settingtutorials/smart-goal-setting Saaty, T. L. (1990). How to make a decision : The Analytic Hierarchy Process. European Journal Of Operational Research, 48. Saaty, T. L. (2008). Decision making with the analytic hierarchy process. International Journal of Services Sciences, 1(1). Retrieved from http://inderscience.metapress.com/index/02t637305v6g65n8.pdf Schreyer, M., & Bögl, M. (2009). A MODEL-BASED DESIGN APPROACH WITH THE FOCUS ON ENERGY Jutta Schade, Thomas Olofsson (Luleå University of Technology) and Marcus Schreyer (Max Bögl), (June), 10-12. Schreyer, M., Bögl, M., Benning, P., Ryd, N., & Forum, C. (2010). A Smart Decision Making Framework for Building Information Models, (January). Sebastiani, R., Giorgini, P., & Mylopoulos, J. (2004). Simple and Minimum-Cost Satisfiability for Goal ModelsWe thank Maddalena Garzetti for sharing with us a version of her goal model for the Trentino Public Transportation Service, and Paolo Liberatore for helping us with the Minweight solver. The first. Advanced Information Systems Engineering (pp. 675–693). Springer. Retrieved from http://www.springerlink.com/index/KLLXAMYQBW61NPXQ.pdf Shahin, A., & Mahbod, M. A. (2007). Prioritization of key performance indicators: An integration of analytical hierarchy process and goal setting. International Journal of Productivity and Performance Management, 56(3), 226-240. doi:10.1108/17410400710731437 Ssebuggwawo Denis, Hoppenbrouwers Stijn, P. E. (2009). Evaluating Modeling Sessions using the analytical Hierarchy Process (AHP). Vliet, H. V., & Brinkkemper, S. (2002). Requirements Engineering. Requirements Engineering. Yu, E. (1995). MODELLING STRATEGIC RELATIONSHIPS FOR PROCESS REENGINEERING. Computer. Yu, E. (1997). Towards modelling and reasoning support for early-phase requirements engineering. Requirements Engineering, 1997., Proceedings of, 226-235. IEEE Comput. Soc. Press. doi:10.1109/ISRE.1997.566873 Yu, E. (2011). Modeling strategic relationships for process reengineering. Social Modeling for Requirements Engineering, 11. Mit Pr. Retrieved from http://books.google.com/books?hl=en&lr=&id=ceNA3l1jOeAC&oi=fnd&pg
96
=PA11&dq=Modeling+Strategic+relationships+for+process+engineering&ots=gFhCMv 10W8&sig=7ot6LWPLJCUDq9By6g8qNNKr24w Yue, K. (1987). What Does It Mean to Say that a Specification is Complete? Fourth International Workshop on Software Specification and Design. Monterey. Zave, P. (1997). Classification of research efforts in requirements engineering. ACM Computing Surveys, 29(4), 315-321. doi:10.1145/267580.267581
97
15 Appendix
15. 1. AHP voor “Comfortable to Use”, “Anonimity” en “Immediacy” t.o.v. “ Get Effective Help”
15.1.1. Vergelijkingsmatrix:
Get effective help Comfortable to use Anonimity Immediacy Comfortable to use 1 2 0,33 Anonimity 0,5 1 0,25 Immediacy 3 4 1
15.1.2. Uitwerking:
1ste iteratie (Get eff help)² C A I
2de iteratie: ((Get eff help)²)² C A I
C
A 2,99 1,75 8
C
I 5,32 3 14
A 27,5301 15,8025 72,34
I 48,1068 27,62 126,42
Som 1,16 0,67 2,99
9,47 5,415 24,99 39,875
Prioriteiten 0,24 0,14 0,63 1,00
Som Prioriteiten 10,47 86,1115 0,24 6,01 49,43585 0,14 27,5301 226,2901 0,63 361,8375 1,00
3de iteratie (((Get eff help)²)²)² C A I Som Prioriteiten C 2275,847 3977,293763 866,0166 7119,157 0,24 A 1306,515 2.283 497,1617 4086,957 0,14 I 5980,807 10452,12155 2275,847 18708,78 0,63 29914,89 1,00
15.1.3. Bekomen Prioriteiten:
Softgoal Prioriteiten Comfortable to use Anonimity Immediacy
0,24 0,14 0,62
98