ProcIT-P-013 Processbeskrivning Systemutveckling Lednings- och kvalitetssystem Fastställt av Sven Arvidson 2012-06-20
Innehållsförteckning 1 Inledning 3 1.1 Symboler i processbeskrivningarna 3 2 Systemutvecklingsprocessen 4 2.1 Aktiviteter i Systemutvecklingsprocessen 6 3 Koppling mellan uppdragsprocessen, projektstyrningsprocessen och systemutvecklingsprocessen 8 4 Kopplingen mellan systemutvecklingsprocessen och systemförvaltningsprocessen9 5 Kopplingen mellan systemutvecklingsprocessen och införandeprocessen 10 6 Koppling mellan systemutvecklingsprocessen och testprocessen 10 7 Koppling mellan systemutvecklingsprocessen och driftsättningsprocessen 11 8 Intressenter 11 9 Roller 12 10 Mallar/Checklistor/Verktyg 12 11 Ordlistor och definitioner 12 11.1 Ordlista för processbegrepp 12 11.2 Ordlista för Systemutveckling 14 12 Förvaltning av processen 15 13 Referenser 15 Systemutveckling, processbeskrivning 2(15)
1 Inledning Detta dokument beskriver den systemutvecklingsprocess som används vid. Processen skall ses som ett stöd vid systemutveckling. Rutiner och mallar för systemutveckling dokumenteras separat. För ordlistor och definitioner, se avsnitt 8. Syfte med processdokumentet Dokumentets syfte är att beskriva systemutvecklingsprocessen. Målgrupper för processdokumentet Dokumentets målgrupper är de personer som arbetar med systemutveckling. Omfattning för processdokumentet Dokumentet gäller för. 1.1 Symboler i processbeskrivningarna Nedanstående symboler används i processbeskrivningarna. Start Slut Markerar start resp slut i flöde s Logiskt avgränsad del av processen, omfattar en eller flera aktiviteter inflöde/ utflöde Inflöde, information, dokument, material som startar eller används i aktivitet/process Utflöde, dvs resultatet av aktivitet/process Aktivitet Beskriver vad som utförs Flödets riktning Parallella vägar i flöde Vägval Här tar flödet olika väg beroende på situationen Funktion/roll Systemutveckling, processbeskrivning 3(15)
2 Systemutvecklingsprocessen Systemutvecklingsprocessen har sin grund i agil 1 utvecklingsmetodik och ger ett övergripande stöd i hur system bör utvecklas. Inom ramen för processen väljs lämpligen en specifik metod för att stödja projektet i det dagliga arbetet. Metoder som kan vara aktuella är Scrum 2, DSDM 3 och andra lättrörliga metoder. Viktiga grundläggande tankar för det lättrörliga arbetssättet är Kravarbete pågår under hela processen och det är naturligt att kraven ändras under arbetets gång. Genom en dynamisk hantering av kraven så kommer resultatet att kunna anpassas till det kunden verkligen vill ha. Detaljerade krav är sällan möjliga att ta fram innan start. Verksamhetskunniga och utvecklare arbetar tillsammans, helst dagligen, under hela projektet. Genom att ha en tät och nära dialog så sker anpassningarna av systemet snabbt och effektivt. Kommunikation ansikte mot ansikte är det bästa och effektivaste sättet att förmedla information både till och inom projektet. Det är viktigt att rätt teknik väljs och att en bra design görs. Bäst arkitektur och design växer fram med motiverade grupper och individer som har frihet att organisera sig själva. Ansvariga ser till att gruppen får den miljö och det stöd de behöver för att kunna utföra sitt jobb. Det lättrörliga arbetssättet prioriterar enkelhet samt att maximerar det jobb som inte görs. Med jämna mellanrum reflekterar gruppen över hur det kan bli mer effektivt och justerar sitt arbete därefter. Aktiviteterna i systemutvecklingsprocessen har grupperats i tre faser/er och illustreras i figur nedan. En beskrivning av aktiviteterna och faserna finns i anslutning till bilden. 1 Lättrörliga, flexibla metoder, http://sv.wikipedia.org/wiki/agil_systemutveckling 2 Scrum, http://sv.wikipedia.org/wiki/scrum 3 DSDM, sv.wikipedia.org/wiki/dynamic_systems_development_method Systemutveckling, processbeskrivning 4(15)
Syfte Processens syfte är att möjliggöra effektivt framtagande av verksamhetsnyttiga och användbara system till god kvalitet som uppfyller kundens behov. Mål Processens mål är effektivisera utvecklingen av system. Omfattning Systemutvecklingsprocessen används oavsett om det är nyutveckling eller förvaltningsåtaganden. Starthändelse Den starthändelse som sätter igång processen är beslut om förstudie. Resultat Processen resulterar i: Utvecklat system Inflöden Beslut om förstudie Utflöden Utvecklat system Beslut om förstudie Systemutvecklingsprocessen Utvecklat system Systemutveckling, processbeskrivning 5(15)
2.1 Aktiviteter i Systemutvecklingsprocessen Att ta fram system innebär att en rad aktiviteter måste utföras. Aktiviteterna grupperas i tre faser/er: Systemutveckling Start Förstudie Gå vidare? Planering Gå vidare? Utförande Ny iteration? Slut Övergripande krav (Userstories) Prototyp delproc ess Konceptmodell Slut Ickefunktionela krav Systemarkitektur SAD delproc Systemets kravlista ess (Product backlog) Slut Iteration Välja krav till iterationen (Sprint backlog) Iterationens mål (Sprint goal) Skapa prototyp av leveransobjekt Utvärdering (checkpoint) Uppdatera iterationens kravlista Förfina leveransobjekt Utvärdering (checkpoint) Uppdatera iterationens kravlista Färdigställa leveransobjekt Utvärdera iterationen Uppdatera systemets kravlista Leverans av system Systemutvecklingsprocessen[3.0].docx 6(15)
Systemutvecklingsprocessens tre faser beskrivs nedan. Förstudie I förstudien samlas de övergripande kraven upp. Begrepp definieras och en enkel prototyp tas fram. Efter denna fas så beslutas som projektet är värt att driva vidare. Ansvarig: Projektledare Medverkande: Kravanalytiker, Systemarkitekt, Användbarhetsexpert Planering Projektet planeras och kraven bryts ner i levererbara delar. Kraven prioriteras och tidsuppskattas grovt. Arbete med systemarkitektur och icke funktionella krav påbörjas. Ansvarig: Projektledare Medverkande: Samtliga Utförande Utförande utgörs av en eller flera iterationer. En iteration pågår oftast mellan 2-6 veckor och i varje iteration tas en delmängd av lösningen fram och testas. Systemet växer fram successivt genom att resultatet från en iteration tillförs resultatet från den föregående. Utvecklingen är inkrementell vilket innebär att lösningen levereras i mindre delar som var för sig är användbara. På detta sätt levereras verksamhetsnytta tidigt innan hela lösningen är färdig. Detta cykliska arbetssätt illustreras i processens utformning. Under iterationen lämnas feedback på systemet kontinuerligt på informellt väg men även mer formaliserat vid utvärderingar och visningar. Ansvarig: Projektledare Medverkande: Samtliga Systemutvecklingsprocessen[3.0].docx
3 Koppling mellan uppdragsprocessen, projektstyrningsprocessen och systemutvecklingsprocessen När en förfrågan inkommer från kund in i uppdragsprocessen kan detta generera arbete som utförs i systemutvecklingsprocessen. Beställningen är ett resultat av uppdragsprocessen. Beställningen kommer att styra projektets omfattning och inriktning. Råder det stor osäkerhet om uppdragets omfattning och inriktning kan det vara idé att i första steget avgränsa uppdraget till en förstudie. Det är i projektstyrningsprocessen det säkerställs att det finns en mottagande organisation till det utvecklade systemet Förfrågan Uppdrag Beställning Projektstyrning Slutfört dokumenterat projekt Fråga Svar Beslut Projektdirektiv/ Uppdragsbeskrivning Projektplan/ projektbeskrivning Systemutveckling Utvecklat system Systemutvecklingsprocessen[3.0].docx 8(15)
4 Kopplingen mellan systemutvecklingsprocessen och systemförvaltningsprocessen Förvaltningsärenden kommer in systemförvaltningsprocessen där man tar emot och bearbetar ärendet. Förändringen genomförs i systemutvecklingsprocessen och går tillbaka i systemförvaltningsprocessen. Förvaltnings ärenden Systemförvaltning Avslutat & stängt förvaltningsärende Beslut om förändring Genomförd förändring Underlag för godkännande av förändringen Systemutveckling Systemutvecklingsprocessen[3.0].docx 9(15)
5 Kopplingen mellan systemutvecklingsprocessen och införandeprocessen Vid införande av ett system eller delsystem kommer resultatet att skapa nya krav som påverkar systemutvecklingen. Ofta drivs införandet också som ett projekt, där olika aktiviteter kommer att påverka systemutvecklingen. Projektstyrning Systemutveckling Resultat Förändringar av driftmiljö Etablering av miljön Användarutbildning Införande Vid införande av ett system så finns en rad aktiviteter att beakta. Exempel är: - Användarutbildning - Etablering av miljö. - Support 6 Koppling mellan systemutvecklingsprocessen och testprocessen Test är en integrerad del i systemutveckling, därför genomförs arbetet i systemutvecklingsprocessen och testprocessen parallellt. Systemutveckling Test Systemutveckling, processbeskrivning 10(15)
7 Koppling mellan systemutvecklingsprocessen och driftsättningsprocessen I systemutvecklingsprocessen så sker leverans av systemet med jämna intervall. Vid driftsättning av leveranser utnyttjas driftsättningsprocessen. Systemutveckling Driftsättnings 8 Intressenter För definition av intressent, se ordlista för processbegrepp under avsnitt 8, Ordlistor och definitioner. Beställaren, den som betalar och godkänner resultatet Driftansvarig, de som vidmakthåller tillgängligheten till systemet. Systemägaren, den som äger och tar emot resultatet Systemförvaltaren, den som tar emot resultatet Avd. för IT & Inköp, leverantör av resurser Slutanvändaren, använder resultatet Verksamhetsföreträdare, kan vara studenter, forskare, anställda och extern personal inom högskolevärlden. Processansvariga för angränsande processer Angränsande processer o Systemförvaltning o Uppdragshantering o Change Management (förändringshantering) o Configuration Management (konfigurationshantering) o Projektstyrning o Driftsättning o Införande o Test Systemutveckling, processbeskrivning 11(15)
9 Roller För definition av roll, se ordlista för processbegrepp under avsnitt 8, Ordlistor och definitioner. För rollbeskrivningar, se 4 Kravanalytiker / Produktägare Gränssnittsdesigner/grafisk formgivare Systemarkitekt Systemutvecklare Teknisk koordinator Interaktionsdesigner/användbarhetsdesigner Användbarhetsexpert 10 Mallar/Checklistor/Verktyg Befintligt stöd Regelbeskrivning: Regler för systemutveckling 11 Ordlistor och definitioner 11.1 Ordlista för processbegrepp Begrepp Aktivitet Delprocess Huvudprocess Intressent Kärnprocess Process Definition Lägsta nivån i processhierarkin. En serie logiskt sammanhängande handlingar som en person eller roll utför, utförs på ett sätt. 5 En är en logiskt avgränsad del av en huvudprocess, kan finnas på flera nivåer. 2 Huvudprocesser är den högsta nivån av processer i en verksamhet. Kan vara både internt och externt värdeskapande. 2 Någon som tar emot något från processen eller levererar något till processen. 2 Externt värdeskapande process. Kärnprocesser uppfyller verksamhetens övergripande syfte att tillfredsställa kundernas verkliga behov - varför verksamheten existerar. 2 En process är ett flöde av sammanhängande aktiviteter som skapar ett förutbestämt resultat. Processen har alltid kunder - 4 Rollbeskrivningar inom 5 PVU (processorienterad verksamhetsutveckling) Systemutveckling, processbeskrivning 12(15)
interna eller externa. 2 Processparameter Processansvarig Roll Rollbeskrivning Starthändelse Styr- och stödprocess Processparameter är det mått som används för att mäta och styra processen. 2 En person utsedd av ledningen för att ansvara för att processen som helhet både är effektiv och ändamålsenlig. 2 En roll är knuten till en process. Varje roll har ansvar att leverera ett resultat i processen. En person kan inneha flera roller och samma roll kan innehas av flera personer. 2 En beskrivning av de roller som är knutna till processen. I rollbeskrivningen ingår att beskriva rollens ansvar och befogenhet. 2 Med starthändelser avses händelser som får processen att reagera på ett förutbestämt sätt. Det finns tre typer av starthändelser vilka är. Tidsstyrd starthändelse, händelsestyrd starthändelse och värde styrd starthändelse. Internt värdeskapande processer. Har till syfte att styra och stödja kärnprocesserna. 2 Värdeskapande, värdeadderande Aktiviteten tillför värde till slutkunden. 2 Systemutveckling, processbeskrivning 13(15)
11.2 Ordlista för Systemutveckling Begrepp Beställaren Driftansvarig Delleverans Inkrementell utveckling Iterativ utveckling Prototyp Slutanvändaren Systemförvaltaren Systemägaren Tjänstemodell Verksamhetsföreträdare Definition Är den som betalar och godkänner resultatet. Är de som vidmakthåller tillgängligheten till systemet. Modul av det färdiga systemet eller hela det färdiga systemet med begränsad funktionalitet. Det innebär att lösningen levereras i mindre delar som var för sig är användbara. På detta sätt levereras verksamhetsnytta tidigt innan hela lösningen är färdig. I en iterativ utvecklingsprocess går man igenom serien av aktiviteter flera gånger, till skillnad mot en vattenfallsmodell där varje steg utförs en gång. Varje serie av aktiviteter kallas för en iteration och har separata mål. I varje iteration tas en delmängd av lösningen fram och testas. Systemet växer fram successivt genom att resultatet från en iteration tillförs resultatet från den föregående. Skiss av en lösning. Använder resultatet. Tar emot resultatet (ombud för systemägaren). Är den som äger och tar emot resultatet. Visar relationen mellan tjänsterna inom det egna systemet och kopplingar till andra system. Kan vara studenter, forskare, anställda och extern personal inom högskolevärlden. Systemutveckling, processbeskrivning 14(15)
12 Förvaltning av processen För förvaltning och förbättring av processen och dess dokument se vidare 6. 13 Referenser s lednings- och kvalitetssystem, Rollbeskrivningar inom PVU (processorienterad verksamhetsutveckling) s lednings- och kvalitetssystem, Processbeskrivning - Kvalitetsstyrning 6 Processbeskrivning - Kvalitetsstyrning Systemutveckling, processbeskrivning 15(15)