B: Buggar och avvikelser
- när är det egentligen ett fel?
Av Charlotta Carlsson 2020-08-20
En ganska jobbig och tidsslukande del av acceptanstestarbete är när det uppstår oenigheter mellan beställare och systemleverantör om vad som ska betraktas som fel och inte. Jag säger "när" och inte "om", för sådana situationer uppstår i stort sett alltid.
Kort och gott: det ligger i beställarens intresse att de problem man hittar i testerna betraktas som fel som leverantören ska åtgärda inom överenskommen tids- och kostnadsram, medan leverantören i oklara lägen gärna vill hävda att problemet inte är ett fel utan ett nytt önskemål som de behöver extra tid och pengar för att åtgärda. Hur tacklar man det? En del tips finns vid bokstaven A: Avvikelsehantering - en gemensam process. I resten av det här inlägget tänkte jag ägna mig åt problematiken med själva felen som gör att tvisterna uppstår.
En del vänner av ordning brukar hävda att om det inte är solklart i acceptanstesterna vad som är ett fel (avvikelse) och inte så har man gjort ett dåligt kravarbete eller så har man ett otydligt avtal. När denna tes kommer upp så tänker jag (men vågar oftast inte säga rent ut) att vederbörande behöver nyansera och verklighetsförankra sin bild. Krav måste vara tydliga sägs det - men kan de vara kompletta in i minsta detalj? Enligt min erfarenhet är det näst intill en omöjlighet och inte heller önskvärt. För många decennier sedan trodde många att det var möjligt men det har motbevisats tillräckligt många gånger i IT-historien som havererade projekt. Framgångsfaktorn för att träffa rätt med leveransen, och därmed undvika att hitta problem sent i ett projekt, är istället att inom ett visst övergipande scope (högnivåkrav) som avtalats, bedriva utvecklingsarbetet iterativt, med användarmedverkan, där den detaljerade utformningen av produkten kommer successivt. (Läs gärna mer i detta inlägg.)
Andra ytterligheten av vänner av ordning är de som nu hävdar att genom ett väl genomfört utvecklingsarbete med moderna metoder där Kommunikationen ständigt står i centrum så kommer man inte att hamna i några tvister om rätt eller fel. Allt hanteras gemensamt på vägen genom ett agilt förhållningssätt. Behovet av acceptanstest som en särskild aktivitet kan till och med helt falla bort. Dessa åsikter tycker jag ligger närmare sanningen än de kravtydlighetsförespråkande. Ju mer kompetent krav- och utvecklingsarbete, desto färre negativa överraskningar uppstår i acceptanstester och därmed färre felrapporter som man behöver bråka om. MEN: de perfekta solskenshistorierna finns nästan aldrig i verkligheten, inte ens med den bästa av ambition och aldrig så kompetenta medarbetare hos alla parter. Tidspress, underskattade tidsuppskattningar, ändringar i förutsättningarna av olika slag kan ligga bakom, men man får också vara ödmjuk för att det man håller på med kanske faktiskt är komplicerat och ingen kan tänka på precis precis allt, inte ens tillsammans.
Dessa typer av problem kan bli föremål för oenigheter:
Däremot den här sortens avvikelser ger sällan upphov till oenigheter:
Jag tycker mig ha sett att de flesta felrapporter i vanliga acceptanstester gäller punkt 1-5. Tänk då vilken outnyttjad potential det finns hos acceptanstestarna som kan användas tidigare i projekten istället för att upptäcka problemen i acceptanstesten! Genom att vara medveten om risken att dessa problem kan uppstå kan man motverka dem i utvecklingsarbetet. Här vilar ansvaret tungt på systemleverantörer att driva utvecklingsarbetet med metoder som främjar acceptans under hela resan. Men även beställare har ett ansvar att arbeta kontinuerligt med kraven och att ta fram acceptanskriterier. Om hur det går till får jag skriva en annan gång...
Slutsats för bokstaven B: Undvik tolkningstvister genom att arbeta med acceptans på andra sätt långt före acceptantesten.
© Copyright 2022. All Rights Reserved.