Presentation laddar. Vänta.

Presentation laddar. Vänta.

Analys av Agile metoder inom felhantering av programvara Magnus Sippel 25.11.2010.

Liknande presentationer


En presentation över ämnet: "Analys av Agile metoder inom felhantering av programvara Magnus Sippel 25.11.2010."— Presentationens avskrift:

1 Analys av Agile metoder inom felhantering av programvara Magnus Sippel

2 Innehåll  Inledning  Presentation av det studerade problemet.  Bakgrundsfakta om problemområdet och arbetet.  Begränsningar  Metod  Teorin bakom Agile & Scrum  Teorin bakom Felhantering  Analys  Vad har förändrats  Sammanfattning

3 Inledning  Kan felhantering av programvara kan dra nytta av Agile & Scrum för att försnabba sin felhanterings process och förbättra produktkvaliteten.  Agile metoderna har blivit populära under 2000-talet bland företag i hopp om att kunna öka effektiviteten och samtidigt minska sina kostnader.  Fallstudien studerar tre projekt i ett stort telekommunikations bolag mellan tiden 2008 – Det första året (2008) användes en traditionell vattenfalls metod som arbetssätt, medan det andra året (2009) utnyttjade Agile metoden Scrum.

4 Inledning  Undersökningen består av två huvud metoder:  En studie av medeltalet av fel i programvaran inom varje projekt både före och efter att den valda Agile metoden Scrum introducerats.  Intervjuer av personer involverade i förändringen, med mål att uppdaga ytterligare för- och nackdelar som statistiken ej kunnat avslöja.  Studien omfattar ej:  Hur olika bakgrundsfaktorer möjligtvis påverkar varandra (t.ex. kombination av olika Agile metoder)  Agile & traditionell vattenfalls process i samverkan.  Om den valda Agile metoden är den rätta eller mest effektiva metoden för företaget.

5 Metod  Arbetet är gjort som en fallstudie.  Fallstudie metoden valdes för att det är effektiv och väl lämpad för situationer där det är svårt att kontrollera alla omgivande faktorer.  Data källor som använts:  Skriftliga dokument  Arkiverat material (t.ex. statistik)  Intervjuer  Direkta observationer (t.ex. forskarens egna observationer)  Deltagande observation (t.ex. forskaren är själv en del av studiegruppen)

6 Metod  Fördelar med fallstudier:  Möjlighet att samla in detaljerad information samt olika synsätt på ett problem.  Vara tvingad att använda flera olika typer av data källor.  Inte vara tvungen att fullständigt kunna kontrollera forskningsobjektet.  Möjligheten att kunna forma en teori utgående från forskningsresultatet.  Nackdelar med fallstudier:  För vidlyftiga och generella antaganden kan lätt leda till lågt forskningsvärde  Svårt att veta vad och hur mycket data som bör studeras samt begränsa arbetet.  Forskaren bör ha full tillgång till forsknings objektet.  Forskningen kan i sig själv påverka situationen som studeras.

7 Teorin bakom Agile & Scrum  Agile är en benämning på olika arbetsmetoder som strävar till effektiv och dynamisk produktutveckling, inte en metod i sig själv.  Agile ideologierna härstammar från början av 2000-talet.  Agile strävar efter att skapa funktionerande produkter utan för planerade komplicerade processer.  Projekt gruppen kan därmed snabbt reagera och vidta nödvändiga åtgärder ifall förutsättningarna för projektet förändras.  God kommunikation och grupparbete är de viktigaste delarna i ideologin.  Dessa understöds av kontinuerligt uppdaterade specifikationer, kontinuerlig testning & integration samt snabb leverans av projektet i mindre delar.

8 Huvudiden bakom Scrum  Man fokuserar på projektledning samt de områden som omger och stöder själva produkt tillverkningen (tid, koordination och kommunikation)  Nytt material produceras i korta påbyggnadssteg (sprint)  Endast enkla, lätta och nödvändiga förändringar  Slutanvändaren tar del av utvecklingen och får sin röst hörd.  Frekvent testning och integration under projektets gång.  Kommunikationen mellan involverade parter skall flyta problemfritt.  Viktigaste rollerna inom Scrum:  Scrum Master: Ansvarar för att projektet följer Scrum modellen och leder de dagliga sprint diskussionerna.  Product Owner: Innehar den officiella projektchefs rollen och kontrollerar officiellt arbetslistan.

9 Generella problem inom Agile  Ej flexibla parametrar skapar problem  Agile förlitar sig på att kunden vet vad den vill ha  Utveckling, testning och produktunderstöd är ej koordinerade. Inblandade är flera olika projekt grupper och underleverantörer utspridda i världen.  Lojalitet inom projekt gruppen. Arbetar alla för gruppens bästa?  Stora projektgrupper utspridda över flera platser är svåra att få att kommunicera smidigt på daglig basis.  Icke tekniska krav: t.ex. användarvänlighet och sekretess

10 Felhantering  Färre fel i en produktion -> högre kvalitet  Kan man hitta alla fel?  Viktigare att koncentrera resurser på att kunna hantera fel än att förhindra att de uppkommer.  Viktigt att väga kostnaderna för att hitta fel mot produktens användningsområde och kundens förväntningar.  Sämre produktkvalitet än förväntad leder ohjälpligt till försäljnings bortfall och försämrade vinstmarginaler.

11 Felhantering  Två sätt att hantera fel:  Förhindrande av fel  Felhantering  Förhindrande av att fel:  De rätta verktygen och en finslipad process finner alla fel.  De fel som slinker igenom eller direkta användarfel hanteras så odramatiskt som möjligt av produkten.  Felhantering:  Strävar efter att identifiera konkreta felsituationer, klassa dem i prioriterings ordning, samt korrigera möjligast många inom en given tids och budget ram.  Koordination av korrigerings arbetet.

12 Varför uppstår fel  En specifik del i sig själv kan orsaka ett problem, men vanligare är att flera små problem samverkar till att utlösa ett mera alvarligt systemfel.  De svåraste och dyraste felen är s.k. latenta problem, som existerat länge, men inte aktiveras före en speciell sekvens av händelser inträffar.  Orsaken till fel:  Ofullständigt arbete  Ofullständiga specifikationer  Slarv  Stress  Människans hjärna är begränsad  Prestanda fel; dvs. en delkomponent uppfyller inte specifikationerna.

13 Hur förhindra att fel uppstår  Tillit  Sporra alla involverade i att hitta och rapportera fel. (Skapa både moraliska och värde mässiga incentiv)  Skapa och upprätthåll lättavläst statistik  Utbilda alla involverade parter (även kunden) i felhanterings processer och rätt handlande.  Felhantering handlar mest om kvalitetstänkande och risk uppskattning.  Utan nyproduktion skulle inga fel uppstå

14 Varför bytte företaget arbetsmodell  Orsaken till att Scrum togs i bruk:  Tung byråkrati  Forskningsdriven produktutveckling  Dålig överblick av framsteg  Ojämn arbetsfördelning  Oflexibel tillverkningskedja  Det visade sig snabbt att Scrum som metod fungerar, men att det var svårt att utnyttja dess fulla potential.  I mitten av 2009 hade så gott som hela forskning och utvecklings avdelningen övergått till Scrum. Men var det tillräckligt?

15 Scrum i bruk Avdelningen för forskning och utveckling är i behov av stöd från flera andra områden inom ett företag. Detta gäller speciellt felhanteringssidan. För att effektivt kunna utnyttja Scrum så borde alla delar omkring en enhet följa samma metod.

16 Analys  Studien finner inga direkta bevis för att Scrum skulle vara bättre än en traditionell vattenfalls metod när det gäller felhantering.  Både mängden fel samt svårighetsgraden förblev både före och efter Scrum på liknande nivåer  Medeltalet av antalet fel /projekt för år 2008 var:  Projekt A: 8,5 per vecka  Projekt B: 9,2 per vecka  Projekt C: 5,9 per vecka  Motsvarande var antalet fel under Scrum perioden (2009):  Projekt A: 9,1 per vecka  Projekt B: 9,9 per vecka  Projekt C: 7 per vecka

17 Projekt A

18 Projekt B

19

20 Analys  Kom ihåg från tidigare: Idén med en sprint är att försäkra sig om att en projektgrupp kan arbeta ostört med överrenskomna projektmoduler  Felhantering är alltså projekt moduler i en sprint.  Mängden fel som kommer till kännedom är dock svårt att förutse.  Ett fel måste vänta till nästa sprint innan korrigeringsarbetet kan inledas. Speciellt kritiskt vid förflyttning mellan olika projektgrupper.  Teoretiskt sätt är alltså felhanterings processen långsammare i Scrum jämfört med traditionell vattenfalls process.  En längre felhanterings process skall motverkas av färre fel.  Problem: integration av många små moduler skapar ofta nya fel

21 Det negativa med Scrum  Många tror att Agile metoderna är magiska och löser alla problem.  Kultur förändringarna kan leda till starkt internt motstånd.  Många människor är inte vana att ta ansvara för sitt eget arbete / tidtabell.  Högre chefer har oftast svårt att förstå sig på dessa nya metoder och föredrar metoder de känner till (som vattenfall metoden).  Negativt på Bonusar och incentiv  Dokumentation och uppföljning intresserar; Inte hög prioritet inom Scrum.  Splittrade projektgrupper eller sådana beroende av underleverantörer känner att de inte kan utnyttja Scrum processens fulla potential.  Alla använder inte Scrum; hur kombinera olika arbetsmetoder?

22 Det positiva med Scrum  Ökad direkt kontakt mellan projekt gruppen, mellan chefer och kunder.  Utvecklingen av ny programvara är mera kund fokuserad.  Mera realistisk projekt planering & bättre intern disciplin, (minskad byråkrati).  Arbetet mera forskningsinriktat och jämnare distribuerat.  Klart förbättrad överblick på chefsnivå över vad som händer i ett projekt.  Självständiga projektgrupper kan dra nytta av Scrum och prestera mera.  Idén med att man skall få arbeta ostört under en hel sprint. (Svåraste idén att uppfylla inom Scrum)

23 Felhantering & Scrum  Ur felhanterings synvinkel verkar inte Scrum kunna bidra med högre kvalitet eller minska antalet fel inom produktionen.  Orsaken till att felhantering och kvalitetssidan inte ser ut at dra nytta av Scrum verkar vara att de områden som oftast är orsakar fel inom produktionskedjan sådana som påverkas minst av övergången till Scrum.  Vad orsakar mest fel:  Brist på testning (27%)  Oklara specifikationer (18%)  Specifikationerna förändras för ofta (11%)  Otillräcklig personlig kompetens (11%)  Situationen/Händelsen odokumenterad (9%)

24 Viktigaste orsakerna till fel

25 Sammanfattning  Kommande förändringar bör i tidigt skede informeras åt alla inblandade.  Utbildning om Agile och den valda metoden bör ges på bred front.  Företagets bonus system bör stöda den valda Agile metoden.  Samarbete mellan Agile och vattenfalls projektgrupper är inte en själklarhet  Viktigt att sporra individer att upptäcka fel inom produktionen.  Generellt förlänger Scrum felhanterings cykeln.  Felhanterings- och kvalitetsprocesserna har svårigheter att dra nytta av Scrum.  Ju större och mera utspritt ett företag blir, desto svårare har det att dra nytta av Scrum.

26 Agile skall inte automatiskt ses som en magisk metod som löser alla problem. Agile går mera ut på att förstå sin egen affärsverksamhet och sina kunders önskemål bättre.

27 Tack!


Ladda ner ppt "Analys av Agile metoder inom felhantering av programvara Magnus Sippel 25.11.2010."

Liknande presentationer


Google-annonser