Morotsmaskinen Àr en tankemodell som anvÀnds för att pÄ ett enkelt men kraftfullt sÀtt beskriva grunderna i effektiv kravstÀllning. För att lÀsa mer om bakgrunden till morotsmaskinen, lÀs gÀrna "Morotsmaskinen - ett mÄste för alla typer av verksamhet".
Ett vanligt misstag i kravstÀllning som sker i samband med verksamhetsutveckling Àr att kravstÀllningen utgÄr frÄn en lösning istÀllet för att beskriva behovet. Artikeln "FramgÄngsrikt kravarbete i fem punkter" ger ett bra exempel pÄ hur man i samband med definiering av krav pekar pÄ en lösning istÀllet för pÄ problemet.
Ett vanligt annat misstag Àr att "fastna i nulÀget". I detta fall blir kraven alltför specifika dÄ de bygger pÄ hur arbetet sker i nulÀget. KravstÀllningen riskerar att baseras pÄ processen, och för att undvika detta problem bör fokus riktas mot funktionen.
Som framgÄr av bilden ovan handlar processer om att beskriva hur verksamheten bedrivs utifrÄn olika perspektiv:
- VAD Àr det som görs?
- VEM Àr det som gör det?
- HUR görs det? (i vilken ordning och med vilken metod)
- NĂR görs det?
- VAR görs det?
- VILKET verktyg anvÀnds?
Verksamhetsfunktionen (F32), som tillhör förmÄgedimensionen, Àr en enklare konstruktion som fokuserar pÄ VAD. Den definieras i Prime Arch som en "gruppering av logiskt relaterade uppgifter som krÀvs för att producera ett resultat".
Genom att utgÄ frÄn verksamhetsfunktionen ska tre frÄgor besvaras:
- VAD Àr det som ska produceras?
- VAD behöver vi kunna göra för att producera resultatet?
- VAD Àr det för input som krÀvs?
I exemplet med morotsmaskinen sÄ kan frÄgestÀllningen formuleras sÄ hÀr:
VAD Àr det vi behöver kunna göra för att förvandla en morot till en morotstallrik.
I Prime Arch anvÀnds ett förmÄgeflöde för att beskriva denna kravstÀllning i en enkel men kraftfull modell:
Input i form av morot och output i form av morotstallrik representeras av informationsobjektet (I31) och morotsmaskinen representeras av verksamhetsfunktionen (F32) samt fyra stycken funktionsförmÄgor (F41) som kan ses som de knappar man behöver kunna trycka pÄ för att förvandla moroten till en morotstallrik.
VÀrt att notera Àr valet av metaobjekt: Morot och morotstallrik Àr ju verkliga ting och borde dÀrmed kunna representeras av verksamhetsobjekt (I32) men det förutsÀtter att sjÀlva maskinen beskrivs som en process (P31) vilket var just det som skulle undvikas. Genom valet av information och funktion/förmÄga fokuserar vi pÄ det som ofta Àr viktigare i verksamhetsutveckling, nÀmligen att kunna besvara frÄgan "vilken information och funktionalitet behövs". För en fördjupad analys pÄ detta tema, lÀs artikeln: "Verksamhetsobjekt, Informationsobjekt och Dataobjekt".
SÄ vad Àr det dÄ som behöver kunna göras för att förvandla en morot till en morotstallrik?
- Skala morot
- Skölja morot
- SkÀra morot
- LÀgga upp pÄ tallrik
Dessa fyra funktionsförmÄgor utgör grunden för den funktionella kravstÀllningen. Vid en första anblick Àr det lÀtt att uppfatta dessa som processer dÄ de innehÄller aktiva verb och substantiv. Men processer handlar om att göra nÄgot, medan funktionen istÀllet handlar om möjligheten att göra nÄgot.
I modellen ovan Àr "knapparna" (funktionsförmÄgorna) placerade i ett 2x2-mönster. Förutom att det ger en geometriskt mer proportionelig form har detta mönster en viktig fördel: det finns ingen uppenbar ordningsföljd frÄn vÀnster till höger eller uppifrÄn och ner.
FrÄn ett processperspektiv inses lÀtt att det Àr smartare att skala moroten innan den skÀrs upp, men ur ett funktionellt perspektiv Àr det mindre intressant och rentav oönskat att alltför tidigt hamna i frÄgor som "HUR" (i vilken ordning) saker bör ske. Fokusera pÄ VAD som ska kunna göras.
Mönstret med 2x2-knappar minskar Àven risken att bli alltför detaljerad. Genom att börja bakifrÄn, att producera morotstallriken, blir det tydligt att nÄgon form av funktion för att "lÀgga upp pÄ tallrik" behövs. Genom att studera innehÄllet pÄ tallriken ser man att moroten Àr skuren och det Àr rimligt att anta att den Àven Àr sköljd och skalad.
NÀr nu funktionsförmÄgor samt input och output identifierats Àr det dags att verifiera att maskinen kommer att fungera (Ätminstone i teorin).
Morötter stoppas in i maskinen och knapparna "Skala", "SkÀra" och "Skölja" trycks pÄ i lÀmplig ordning. SÄ lÄngt fungerar det. Men nÀr vi ska trycka pÄ knappen "LÀgga upp pÄ tallrik" tar det stopp. I flödet ingÄr inte tallrik som input, och modellen mÄste dÀrmed kompletteras:
Nu fungerar flödet i teorin. Nu har vi formulerat den övergripande kravstÀllningen pÄ information och funktionalitet. DÀrefter kan arbetet med att detaljera kraven pÄbörjas. En lÀmplig inledning pÄ detta kan vara att lÀsa artikeln "Den röda knappen".
Slutligen ÄterstÄr att utforma en lÀmplig lösning i form av processer, applikation och data; men det Àr en helt annan sak!
LĂ€nkar
Externa lÀnkar
Interna lÀnkar
Artiklar
- FramgÄngsrikt kravarbete i fem punkter
- Verksamhetsobjekt, Informationsobjekt och Dataobjekt
- Den röda knappen