De senaste åren har outsourcing blivit allt populärare i jakten på lägre kostnader och större vinster. Vi ser outsourcingen i olika former och skepnader och den form som berör oss testare är när de separerar utvecklingen och testningen från varandra. Oavsett om de lägger testning och utveckling i samma stad eller i olika länder så finns det tio orsaker till att inte outsourca testning men behålla utvecklingen. Med det här inlägget vill jag ge några argument till att inte outsourca testningen.
Nära samarbete ger synergieffekter
Ett nära samarbete ger ett kontinuerligt lärande mellan test och utveckling och därmed stora synergieffekter i form av testkunskap till utvecklarna. Detta kan leda till att de börjar tänka mer på testning i sitt sätt att programmera, vilket skulle leda till färre defekter i testfasen.
Stora insatser för kunskapsöverföring
Något som det inte tänks på är de kostnader för överlämningen mellan utveckling och test som är dyra och helt onödiga. Det skulle också behövas en större kunskapsöverföring än om utveckling och test tillsammans lär sig produkten på ett sätt som inte är tillämpbart med outsourcing.
Vem känner ansvaret?
Det som jag tycker är viktigt är att organisationen som levererar produkten känner ett kollektivt ansvar för kvalitén på produkten. Via outsourcing är den stora frågan vem som känner detta åtagandet. Jag tror inte att testorganisationen känner något sådant ansvar eftersom de bara skall testa produkten.
Turn-around tiden är lång
Den turn-around tid som uppstår när en defekt hittas och tills den blir fixad kan bli längre vid outsourcing än om testning och utveckling jobbade tillsammans. Om vi tänker oss att testningen är outsourcat till ett land i Asien så har vi tidszoner, vilket ibland kan vara till en fördel, att ta hänsyn till samt även de språkliga förväxlingar som kan uppstå.
Produktkunskap är viktig
Med outsourcing kommer ett mödosamt arbete som krävs för att utreda om en eventuell defekt är en defekt eller om det är testaren okunskap om produkten som har genererat defekten. Produktkunskap är A och O för både testare och utvecklare, vilket kan vara svårt att upprätthålla för testare om testningen outsourcas. När produkten ändrar riktning och ny komplex funktionalitet tillkommer måste den testande organisationen än en gång få kunskapsöverföring (se tidigare rubriker).
Ett samarbete mellan testare och utvecklare ger effektivare tester
Att outsourca testningen till ett annat företag oavsett om företaget finns i samma stad, samma land eller någon annanstans på jorden blir resultatet detsamma. Vi har ju alla erfarenheter utav dåliga kravspecifikationer, dåligt dokumenterat system etc. Resultatet blir att testorganisationen blir mindre effektiv om kommunikation mellan test och utveckling måste gå via e-post med eventuella tidszoner och språkförväxlingar. Detta kommer att leda till att testorganisationen kommer att halka efter utvecklarorganisationen ännu mer.
Enligt egen erfarenhet tycker jag att det är bäst att prata med utvecklaren, hängandes över produkten som körs där både jag och utvecklaren kan diskutera olika saker.
En större arbetsbörda, totalt sett
Den totala arbetsbördan blir större, sett till helheten, om man räknar in några av de ovanstående argumenten, som tex att utvecklarorganisationen måste lära testorganisationen, verifiering om en defekt är en defekt eller inte. Vi kan lägga på den arbetsbörda som blir med kommunikationssvårigheter mellan olika kontinenter och även den ”övertid” som kan bli om videomöte skall hållas.
Byte av testare
När väl kunskapsöverföringen har skett till den testandeorganisationen finns det inga garantier att testpersonalen är densamma från gång till gång. Skulle outsourcingen ske till ett bolag med hög personalomsättning har kunskapsöverföringen blivit ogjord. Som vi alla vet så är en stabil testgrupp med avseende på bemanning en viktig del till en produkt med hög kvalité.
Hur mäter man framgång i outsourcing?
Hur vet man att outsourcingen är lönsamt. Det är ganska enkelt att se hur kostnaden för testningen sjunker. Görs kontroller på att kostnaden för utvecklingen inte skenar i väg, eller att supporten inte får mer att göra. Har man inga klara tydliga mätverktyg för ett lyckat outsourcing kan det skapa incitament som inte agerar i enlighet med projektets mål att leverera en produkt med god kvalité
Extra testning krävs
För att minska olika ledtider som uppstår vid outsourning bör den utvecklandeorganisationen lägga ner lite extra tid för att testa produkten innan den levereras till test teamet. Bara för att vara på den säkra sidan att inga onödiga defekter uppstår eftersom turn-around tiden, enligt ovanstående stycke, är lång och dyrköpt.
Bra, vi på Klarna vill gärna bygga upp internt – problemet är ju att hitta tillräckligt erfarna folk till våra lediga tjänster!
En fråga: Hur vanligt är det att man enbart outsourcar test och inte utveckling? Och i så fall inom vilka brancher/företag är det mera förekommande?
I de brancher jag har jobbat (Försvar, telekom och konsumentelektronik) har man hållit test och utveckling under samma tak, dvs om man har outsourcat testning så har man även outsourcat den delen av utvecklingen.
Pierre: Vissa typer av testning (såsom delar av acceptanstestning, prestandatestning och konfigurationstestning) är idag outsourcade med lyckade resultat i s.k. software-as-a-service testtjänster. Outsourcing är inte lika med Indien som verkar vara det stora misstaget många tänker, det kan likaväl vara en tjänst från samma land eller världsdel.
Vilka sektorer: Logistikföretag, banker etc som inte vill bygga upp egna testavdelningar utan anser sig bli bättre betjänade av att köpa en tjänst och inrikta sig på att bli bra beställare istället. Några av de företagen köper också utvecklingen som vilken vara som helst.
Jag har jobbat med alla tre varianterna. Dels den som man outsourcar utvecklingen men har kvar testningen, dels den som när man outsourcar testningen men har kvar utvecklingen och till sist den när man outsourcar utvecklingen till en leverantör och testningen till en leverantör.
Jag tror att outsourcing av vissa typer av test blir vanligare framöver, då många företag försöker syssla med det som de är duktiga på och köper IT som vilken vara som helst.
Jag tror också att detta kommer leda till mycket tandagnissel och nya typer av problem när man inte riktigt har tänkt igenom varför man tar ett sådant steg.
Bengt: Tack för svaret. Jag antog att det fanns brancher där det förekom och var nyfiken på vilka de var eftersom jag inte har jobbat någonstans där test är outsourcat, än.
Men visst, jag förstår problematiken och kan bara instämma. Jag har alltid uppskattat att ha utvecklare alt testare (beroende på vilken roll jag själv har haft) nära till hands när det har dykt upp ett problem.