Irland Nr 5 FÖRBÄTTRINGAR AV MJUKVARUPROCESSEN FALLSTUDIE



Relevanta dokument
FÖRBÄTTRING AV MJUKVARUPROCESSEN

ORGANISATIONEN OCH DESS OMGIVNING FÖRBÄTTRING AV MJUKVARUPROCESSEN FALLSTUDIE. Irland Nr.006 ÖVERSIKT

FÖRELÄSNING 8 DSV2PVT

Irland nr Progressive Systems Enterprise Limited

Platina och kvalité. Rasmus Staberg, Teknisk direktör,

RUT - utvecklingshandbok 10.7 Användning av CMM v 1.2

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Skapa kreativa och innovativa testorganisationer. Staffan Iverstam, QualityMinds

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

Dropbox resa mot GDPRefterlevnad

EAs krav vid ackreditering av flexibel omfattning

Produktstöd - Vägledning till dokumentationskraven i SS-EN ISO 9001:2000

BESKRIVNING AV PROCESSMETODEN SCRUM

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

BLI VÄN MED DIN BUGG. Frukostseminarium. Göteborg

Facility Management Workshop

Säkert teamarbete. Crew Resource Management. Gunilla Henricsson Kiku Pukk Härenstam. Utbildning i Säkert teamarbete

Steget efter CAD Data Management. Per Ekholm

Varje rätt svar ger 0.5 poäng. (max 3p)

Att arbeta tillsammans Grupparbete, projekt och allt sånt

Curriculum Vitae - Anders Persson. Anders Persson

FÖRBÄTTRINGAR AV MJUKVARUPROCESSEN

Inlämning 2 - Tentamensfrågor

Wasa Kredit ökar kompetensen kring processer genom tt performance suite

L U N D S U N I V E R S I T E T. Kvalitets- och miljöledning

Programvara i säkerhetskritiska tillämpningar

Fö rä ndringsärbete pä Sö dersjukhusets ö gönmöttägning En pöpulä rvetenskäplig sämmänfättning

1) Kravhantering varför? (1.5p)

Linköpings universitet 1

Måste alla på skolan/förskolan börja arbeta med StegVis samtidigt?

AvI-index. Ett instrument för att mäta IT-systems användbarhet

Mönster. Ulf Cederling Växjö University Slide 1

Alla rättigheter till materialet reserverade Easec

LUNDS UNIVERSITET. Kvalitets- och miljöledning

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

openbim Stockholm 22 april 2013 Kraven på BIM är här

Studentguide vid grupparbete

Att klassificera mätningar. Produktinterna attribut. 3 Ramverk för mätning. 4. Empiriska undersökningar 5. Insamling av mätdata 6.

Den nya standarden för analys av risker i försörjningskedjan för fordonsindustrin. Failure Mode och Effects Analys

Rätt information till rätt person vid rätt tillfälle

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

Idag. EDAA35: Utvärdering av programvarusystem. Mål. Innehåll. Kursmoment. Lärare

Preliminära resultat samt uppföljning och utvärdering av modell

Agil programutveckling

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

Kund: Kunden är organisationen, och dess företrädare, som betalar för coachingen eller på andra sätt ser till att coaching kan genomföras.

TDP025. Entreprenöriell programmering. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Kod och kvalitet. Mjukvarukvalitet. Mjukvarukvalitet. Effektkartan. -ilities. TNM021 Programvaruutveckling

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Processer och värdegrund

Linz GmbH Austria nr. 008 Organisatorisk och teknologisk infrastruktur för återanvänbara komponenter

Min syn på kvalitetssäkring av Produktutvecklingsprocessen En essä om kvalitetssäkring

Italy nr. 001 PRIOR Processförbättring av Mjukvarukrav

Rätt svar och poängsättning: 0,5p per rätt svar, max 2,5p A. 2 B. 5 C. 3 D. 6 E. 4

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

Met/Track Software Ver 8.X 1 dagskurs

Att välja verktyg för portföljhantering. - Vad vet en leverantör om det?

ARBETSDOKUMENT FRÅN KOMMISSIONENS AVDELNINGAR SAMMANFATTNING AV KONSEKVENSANALYSEN. Följedokument till

Hur kan man uppnå tillståndet där Lean/Verksamhetsutveckling är en naturlig del av tillvaron?

Innehåll (3) Innehåll (2) Innehåll (5) Innehåll (4) Innehåll (6) Innehåll (7) Dokumenthistorik. beställare, Översiktlig beskrivning av projektet

Operatörer och användargränssnitt vid processtyrning

6. Att få mer gjort under en dag - Time Management

Så avancerad att vi blev tvungna att skapa en ny kategori

TPK Teknisk Polymerkemi QMS. Några erfarenheter från att arbeta inom kvalitetssäkringssystem. 11-Jan-2007 N.Kullberg 1

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

Kurser och seminarier från AddQ Consulting

Identifiera kundbehov En sammanfattning och analys av kapitel 4 i boken Product Design and Development

Projektplanering. Projektplanen. Om inte projektet planeras noga, kommer det garanterat att misslyckas

ATLANTIC SECURITY AB

Syfte och organisation. Hör gärna av dig till oss om du har fler frågor När trader avtalet om samgåendet i kraft?

MED ISO KAN TEAMENGINE MÖTA ÖKADE KUNDKRAV OCH EFTERLEVA GDPR

effekt nu Kunskapsinitiativet

Användningstest i praktiken

Testning som beslutsstöd

Föreläsning 11, Planera utvärdering. Att planera utvärdering. Vetenskapliga experiment. Kapitel i kursboken

ENHETENS NAMN OCH ANSVARIG CHEF:

Pass 4: Metadatastandarder

Inspel till dagens diskussioner

Styr och utveckla ditt IT-stöd utifrån internationella standarder

SMÅ IDÉER STORA RESULTAT. En bok om kreativitet, motivation och konkurrenskraft LOUISE ÖSTBERG. DEAN M. SCHROEDER. ALLAN G.

Kontinuitetshantering IT-avbrott - hur beroende är ditt företag?

Toyotas produktdesign- och utvecklingsprocess

Mälardalens högskola

KUNDANALYS. Koncept 1. Varför byter man leverantör? Inget intresse från leverantören

Lyckade projekt - finns det?

men borde vi inte också testa kraven?

De t Mobil Tim gl as e t

Design för användbarhet Användarcentrerad utvecklingsprocess

ISO/IEC 20000, marknaden och framtiden

Resultatrapport. Exempel IOL TOOL. Framtagen till: Framtagen av: Sammanställd den 12 oktober, 2014

Användarcentrerad systemdesign

Förslag till standard för skrivet material. Wojciech Gilewski. Föreslagen standard för skrivet ÖFL-material Standardelement i skrift

Tråkmånsarnas comeback

ÄR DINA MEDARBETARE MOTIVERADE?

SÄKERHETSKULTUR. Transportstyrelsens definition och beskrivning av viktiga aspekter för god säkerhetskultur

Energi att leva livet

Rapport mätning av kvalitetsindikatorer inom arbetsterapi och fysioterapi 2014 i Göteborg jämförd med stadsdelen Örgryte- Härlanda.

Transkript:

Irland Nr 5 FÖRBÄTTRINGAR AV MJUKVARUPROCESSEN FALLSTUDIE ÖVERSIKT Advent är en är en organisation som arbetar med utveckling av mjukvaruprocessen. Man är involverad i utvecklingen och support av system använda inom förlagsverksamhet baserad kring dess 3B2 förlagsmjukvara. Adventgruppen har vuxit snabbt de senaste fem åren och inkluderar nu Advent Publishing Systems Ltd och Advent Software Ltd i sin aktieportfölj. I mars 1998 introducerade Advent på pilotbasis personalmjukvaruprocessen (PSP) på sitt kontor i Dublin. PSP är en nedbantad version av Capability Maturity Model (CMM) som skall användas av individuella användare eller små team. Advent har kommit fram till att PSP tränade utvecklare har förbättrat exakthet i sin planering och uppskattning. de producerar också mjukvara med signifikant färre defekter. Det är planerat att ontroducera PSP genom hela organisationen inom den närmaste framtiden. ORGANISATIONEN OCH DESS OMGIVNING Advent Software bildades som resultat av en sammanslagning av Advent Publishing Systems of Swindon baserat i Storbritannien och LaserType i Dublin. Advent Publishing Systems hade som viktigaste produkt ett mjukvarupaket för typsättning och pagination (3B2) med ett antal tilläggsmöjligheter för användning inom andra områden t. ex vetenskaplig/teknisk förlagsverksamhet, juridisk, ekonomisk etc. Advent Software etablerades i Dublin för att utföra modifikationerna på kärnprodukten 3B2. man skulle ta itu med behoven på andra marknader, t. ex arbetsgrupp/arbetsflöde lösningar för tidnigsomgivningar, ett ODBC interface till 3B2 för att användas i databasförlagssystem mm. Utvecklingsarbetet på huvudprodukten fortsätter i Swindon. Advent anställer direkt tre personer som skall arbeta med utveckling av mjukvara på sitt Dublinkontor., dessutom är ytterligare fem baserad i Swindon. Man har planerat att expandera personal som arbetar med mjukvaruutveckling på Dublinkontoret de kommande tre åren.

UTGÅNGSPUNKT När Advent påbörjade sitt Process Förbättrings Experiment (PIE) i mars 1998 gjordes ingen formell spårning av aktiviteter inom mjukvaruutveckling. I de flesta fall utfördes utveckling på kontrakt innehållande ett bestämt pris. Eftersom ingen mätning gjordes på spenderad på projekt var det inte möjligt att ordentligt fastställa vinsten på individuella jobb. Följden av detta blir att det fanns ingen metrik på plats för att dokumentera utvecklarens aktivitet eller felaktiga priser. Emellertid gjordes i Dublin ett experiment med att spåra tidsanvändandet hos tre utvecklare över en tiodagars period, detta indikerade att att åtminstone 20% av deras tid spenderades på icke vinst generande omarbetningar. Dessutom uppgick kostnaden att distribuera fix till Advents världsomfattande klientel till många tusentals pund varje detta behövdes göras. Under dessa omständigheter kände Advent att ett tvåuddigt tillvägagångssätt gentemot processutveckling behövdes. För det första var det nödvändigt att göra en samlad ansträngning för att reducera förekomsten av fel och de kostnader som följde detta. För det andra inrättades ett system av processmetrik för att förvärva en adekvat förståelse av den existerande utvecklingsprocessen. Som Watts S. Humphrey, utvecklare av PS, säger; Om du inte vet var du är, så hjälper inte en karta. De huvudsakliga målen för Advents PIE var, genom pilotanvändning av PSP på Dublinkontoret: Att implementera ett system som spårar tidsanvändning samt produktivitet hos de tre Dublinutvecklarna. Att analysera insamlad data för att adekavt bestämma hur och var utvecklarna spenderade sina ansträngningar. Att använda denna analys för att förbättra korrektheten i uppskattning samt planering. Att implementera ett formellt system dör felaktig spårning och kontroll. Att analysera insamlad defekt data, kategorisera defekta tyoer och orsaker och föreslå framtida processförbättringar. Våra erfarenheter från pilotprojektet skulle hjälpa oss att göra en plan för införandet på Swindonkontoret. FÖRBÄTTRINGSPROJEKTET Vad är PSP? mjukvaruprocessen utvecklades av Software Engineering Institute (SEI) vid Carnegie- Mallon University i USA. PSP består av en grupp med sju väldefinierade processer som successivt introducerar datainsamlande analys av tekniker. Den utvecklades av SEI speciellt för att möta behoven processförbättring hos små organisationer och projektgrupper och den är baserad på nyckelprocessområden såsom deras välkända Capability Maturity Model (CMM). PSP är en självförbättrande process gjord för att hjälpa mjukvaruingenjörer att kontrollera,leda och förbättra sitt arbetssätt. Den ger ett strukturerat ramverk bestående av formulär, riktlinjer och procedurer för att utveckla mjukvara. Rätt använd ger PSP mjukvaruingenjören

historisk data som behövs för att göra och möta åtaganden, göra rutiner inom software emgineering mer förutsägbara och därför mer effektiva. PSP har ett moget ramverk som liknar CMM. Det introducerades på sju nivåer, varje successiv nivå bygger på grunden som är kagd av den tidigare. Nivåerna och deras associerade aktiviteter visas i figur 1 nedan: Cycle Process PSP3 Cycle development Quality Management PSP2 Code reviews Design reviews PSP2.1 Design templates Planning Process PSP1 Size estimation Test report PSP1.1 Task planning Schedule planning Baseline Proces PSP0 Current process Time recording Defect recording Defect type standard PSP0.1 Coding standard Size measurment Process improvement proposal (PIP) figur 1. PSPs ramverk PSP litar inte till något speciellt verktyg eller hjälp. Standardapplikationer såsom spreadsheets och ordbehandlare används för att samla in data och analysera. IMPLEMENTATION AV PSP Två analysprogrammerare, Fintan Swanton och Kirill Chernyuk, deltog i en PSP-kurs för mjukvaruprofessionella vid Centre for Software Engineering. Detta för att utrusta sig själva med nödvändig kunskap för att kunna utföra experimentet med processförbättring. Kursen gick under mars samt april 1998 i två block bestående av en vecka med en tre veckors paus emellan. Tiden på kursen delades lika mellan föreläsningar och praktiska programmeringsövningar, för att gradvis introducera deltagarna i PSPs koncept och teknik. För att försäkra sig om en smidig och effektiv implementationa av PSP, bad man Gerry Coleman på CSE att stå till tjänst för konsultation när det gäller utbildning under implementationsfasen. Dessutom fick man assistans av Advents SPIRE mentor, Patrick O Beirne på Systems Modelling. Han är en kvalificerad PSP utbildare som också undervisade på kursen på CSE. Hans kunskap och erfarenhet visade sig vara ovärderlig på detta område.

Efter att mjukvaruutvecklarna hade tränats på PSP började man att anpassa processen till företagets speciella behov. PSP erkänner uttryckligen att en storlek passar inte alla och för att vara fullt effektiv måste den skräddarsys för att passa den som använder den. PSP ger oss konceptet Processförbättringsförslag som tillåter den indivuduelle utvecklaren att dokumentera föreslagna anpassningar till processen och att införliva dem i dears personliga processdefinition. De huvudsakliga förändringarna gjordes för att förändra standardtiden samt felaktiga dokumentationsformulär, dvs att utöka formulären till att inkludera extra information som berör kunderna mm. En av PSPs nyckelprocesser är en granskning av programdesign och kod utformad som en checklista, genom att analysera defekt data från de tre första månaderna av användningen av PSP, var det möjligt att revidera checklistan för att förbättra dess användbarhet i sökandet efter defekter. PSP används nu i all mjukvaruutveckling på Advents Dublinkontor. Dessutom användes element av PSP såsom tidsspårning och ledningselement för att planera och schemalägga icke utvecklingsrelaterade aktiviteter. RESULTAT I skrivande stund har PSP bara använts till fullo på Advent under tre månaders tid, så tillgänglig data är begränsad. Icke desto mindre kan några intressanta slutsatser dras utav det som finns tillgängligt. (1) Figur 2 visar trenderna i exakthet i uppskattning gjorda av utvecklarna då man gjorde kursen i PSP och under tiden för de första verkliga programmeringsprojekten. 0% indikerar fullständig exakthet. Då det finns märkbara fluktuationer på program 7 eller 8, verkar det som alla tre utvecklarna strävar mot en exakthetsnivå kring 50%. Det är fortfarande inte perfekt, men mycket bättre än vad industrin uppnår, inkluderande oss själva fram till nu. (2) Figur 3 och 4 kontrasterar trenderna för samma omgång program när det gäller testansträngning och planering samt kravansträngning som procentandel av total utvecklingstid. För två utvecklare visar testansträngningen en stadig nedgång från omkring 40% till omkring 15%, utvecklingsansträngningen hos den tredje utvecklaren var hela tiden på denna nivå. Å andra sidan visar alla tre en stadig ökning i ansträngningen gjordpå projektplanering och kravvalidation. Med andra ord PSP uppmuntrar utvecklaren att spendera tid på att få saker att bli korrekt från början, hellre än att försöka testa in kvaliteter i produkter sent i utvecklingscykeln. Information om 151 defekter loggades, inkluderande utvecklingsfasen i vilken de introducerades och upptäcktes samt tiden som gick åt för att åtgärda dem. Medeltid för att åtgärda fel visas i figur 5 - det gick i genomsnitt 3,4 gånger snabbare att åtgärda fel i granskningen om man jämför med tidsåtgången i test. Fel funna i kompilationen gick det snabbast att åtgärda - 4,2 gånger fortare än i test - emellertid är typ av fel i kompikationen

begränsade. I kompilationen kan man inte t. ex upptäcka att programkoden inte till fullo täcker designen. Fig. 2 - Time Estimating error 250% 200% 150% 100% 50% 0% -50% 1 2 3 4 5 6 7 8 9-100% Program Fig. 3 - Test as % Total time 60% 50% 40% 30% 20% 10% 0% 1 2 3 4 5 6 7 8 9 Program Fig. 4 - Plan & Reqts as % Total time 50% 40% 30% 20% 10% 0% 1 2 3 4 5 6 7 8 9 Program Fig. 5 - Average Defect Fix Time in Minutes by Phase 6 5 4 3 2 1 0 Review Compliation Test Phase

ERFARENHETER De tre utvecklarna som har använt PSP förblir positiva angående detta. I synnerhet tror de att en fokusering på större emfas på planering och kravanalys har visat sig vara fördelaktig när det gäller att förbättra både kvalitén på deras arbete och deras planerings- samt schemaläggningstekniker. Dessutom, som ett resultat av detta projekt, visade företaget en förbättring på SPICE värdering på 9 utav 19 bestämda processområden. Advent har för avsikt att introducera PSP i sitt utvecklingsteam i Storbritannien i en nära framtid. PSP involverar en ganska hög grad av pappersarbete, att fylla i formulär och följa processmanuskript. Vissa kan protestera mot en sådan detaljerad processdefinition och mena att den fungerar som en tvångströja och kväver kreativitet. I motsats till detta har vi funnit att det istället rutinen och repetetiva aspekter av uppgiften lättare,. Detta hjälper istället att försäkra om att ingenting är glömt och tillåter utvecklaren att koncentrera sig på de verkligt kreativa aspekterna. Andra fördelar inkluderar förbättrad planering och tracking of work, riktlinjer gällande utförandet av arbete ( i synnerhet när ny personal introduceras), och hjälp med att utvärdera och förbättra sättet som arbetet utförs på. Några problemområden blev tydliga då vi fick erarenhet av att arbeta med PSP: 1. PSP är designad kring en rigid livscykel enligt vattenfallsprincipen och det är inte lätt att låna den till utveckling i tillväxtstil. Det finns lite eller ingen verktygssupport tillgänglig för PSP. Verktyg kunde vara mycket användbara, i synnerhet inom områden såsom tids och feldokumentation. Tillgängligheten på utbildning och träning är fortfarande mycket begränsad. Advent var lyckosamma, då SPIREs tidsram sammanföll med PSP kursen som hölls på Centre for Software Engineering. Även om vi skulle hoppas att kunna ha kurser inom företaget för vårt utvecklingsteam i Storbritannien, skulle ändå problemet kvarstå när det gäller utbildning för nyanställda som skulle behövas på regelbunden basis, om PSP antas som standard process i företaget. Utbildningen kräver också en anselig ansträngning - ungefär 120 timmar för varje deltagare. Detta kan vara svårt att schemalägga.

PLANER FÖR FRAMTIDEN Det är planerat att fortsätta använda PSP i Dublin och att utöka dess användning på Swindonkontoret. Vi har blivit mycket uppmuntrade av resultaten av de formella granskningarna som bildar en av PSPs nyckelprocessområden. ( Se fig.5). Emellertid utförs dessa granskningar av författaren till själva arbetsprodukten. Vi tror det skulle vara värdefullt att introducera formella kamratgranskningar, både för att förse utvecklarna med alternativa synpunkter på deras arbete och för att förbättra den tekniska kommunikationen inom utvecklingsgrupperna. Den förbättrade processdefinitionen som kom med PSP kunde ge oss en mycket bra start om vi skulle söka ISO 9000 eller en liknande certifikation för vår utvecklingsprocess. I USA, där Advent utvecklar sitt företag, kräver många firmor nu certifikation inom Capability Maturity Model (CMM) från sina säljare. Då vi tror att CMM troligen är olämplig för ett företag av Advents storlek, så kunde användningen av PSP baserad på CMM, förbättra vår trovärdighet bra, när vi försöker slå oss in på denna marknaden. Slutligen arbetar nu Software Engineering Institute (SEI),som utvecklade både CMM och PSP, på en mellan processmodell, Team Software Process (TSP), som skall användas i små projektgrupper. Myvket lite har publicerats om TSP, men vi kommer att övervaka utvecklingen noggrant för att se hur relevant det är för oss.