2023-08-29

Felfri produktutveckling













Skojade bara. När vi konstruerar och tillverkar produkter är det alltid möjligt att göra misstag.
  • Konstruktionen fungerar inte som det var tänkt på grund av oförutsedda beroenden.
  • Ett krav är feltolkat.
  • Fel version av underlaget används vid tillverkning.
... och så vidare i all oändlighet. För att minimera effekten av våra misstag kan vi kontinuerligt utvärdera det vi gör. Diskussioner, tester och granskningar är några vanliga aktiviteter. Eftersom vi även gör misstag när vi väljer utvärderingsmetod och när vi gör utvärderingen skulle vi även behöva utvärdera våra utvärderingar.

Tänker man en stund på denna snurra inser man att risken är stor att vi kommer att lägga all tid på utvärderingar i vår strävan att göra helt felfria produkter. Vi behöver alltså göra en avvägning mellan hur stor del av tiden som används för konstruktion och tillverkning och hur stor del som läggs på utvärdering. Den fördelning vi väljer är inte heller felfri och måste även den kontinuerligt utvärderas.


Utöver de fysiska artefakter vi skapar och utvärderar har vi också en inre målbild för aktiviteterna och deras resultat som styr våra handlingar. Även denna målbild utvärderas och modifieras kontinuerligt under arbetets gång. All inlärning och förståelse bygger på ett samspel mellan antaganden och utvärderingar. Det är så vi erhåller kunskap. Vi bör hela tiden leta efter motsägelser bland det vi tror oss veta, inte bara direkt motsägelse mellan olika antaganden utan även genom utforskandet av vad som logiskt kan härledas från dem. När vi hittar en motsägelse måste något av våra antaganden vara fel. När det sker behöver nya, bättre antaganden göras som efter utvärdering kan ersätta felaktiga antaganden och på så sätt eliminera motsägelsen.

När vi har byggt en produkt vill vi säkerställa att den fungerar som vi tänkt. Vi använder vår målbild för att härleda ett antal konsekvenser av produktens funktion. Vi utför sedan tester vars syfte är att observera dessa konsekvenser. Om observationen inte stämmer med målbildens förutsägelse är något fel. Det kan vara målbilden som behöver justeras, produkten som behöver ändras eller observationen som behöver göras på ett annat sätt. Nya antaganden inom vart och ett av dessa områden behöver föreslås och utvärderas för att motsägelsen ska kunna elimineras.


Felsökning handlar till stor del om att göra antaganden om vad som kan ha gått fel, härleda konsekvenser från antagandet och sedan undersöka om det går att observera dessa konsekvenser. Om så är fallet rättas felet och felets konsekvenser ska då inte längre kunna observeras.


Om vi avfärdat alla antaganden om felets beskaffenhet som vi har kunnat komma på måste vi börja med att slumpmässigt göra observationer i största allmänhet för att få tillräckligt många samverkande motsägelser för att rikta vår uppmärksamhet mot felkällan. Ofta finns det något vi tror oss veta, men som egentligen är felaktigt, som får oss att alltför snabbt förkasta ett korrekt antagande om vad som är fel. Fler observationer kan hjälpa oss att eliminera sådana hinder för att möjliggöra att vi kan göra ett korrekt antagande om det ursprungliga felet. I kniviga fall är ofta många oförklarade observationer samlade innan rätt antagande om felet och dess konsekvenser har gjorts. Det är då, när man till slut gör rätt antagande, som man får känslan av att alla bitar faller på plats.

Granskning av dokument, källkod och underlag fungerar på samma sätt. När vi läser ett dokument konstruerar vi en mental modell av produkten och dess funktion som vi sedan jämför med vår målbild av produkten. När vi hittar en motsägelse är något fel. Det kan vara fel i dokumentet, fel i vår mentala modell eller fel i vår målbild. En felsökning lik den som bekrivs ovan behöver utföras. Vi kan också ha anmärkningar på att det saknas information för att vi ska kunna göra en tillräcklig bra modell som kan användas för att hitta fel.

Fri konkurrens på en marknad gör att de företag som hittar rätt balans mellan felaktiga produkter och mängden utvärdering kommer att lyckas bäst. Ännu ett exempel på evolution genom variation och selektion. Därmed också helt oförutsägbart. Det är framför allt inte upp till ett enskilt företag att bestämma vilken nivå på utvärdering som är bäst utan detta bestäms i samspelet mellan övriga företag, kunder och samhällets lagar och regler.

Återkoppling från marknaden tar tid och det kan vara för sent att korrigera mängden utvärdering när informationen väl kommer. Det kan också vara svårt att se vilka åtgärder man ska vidta för att förändra balansen. Det kan vara lättare att motivera mer utvärdering om antalet fel upplevs vara för högt, men svårare att inse när utvärdering behöver reduceras för att man tar för lång tid på sig. Utvärdering pågår också hela tiden på ett informellt plan när en konstruktör tar fram underlag. Att ändra sitt arbetssätt när önskemålet om ökad produktivitet och minskad petighet kommer är svårt. De flesta vill göra ett bra jobb och inte få backning på fel hela tiden, även om det totalt sett kan vara mer tidseffektivt på grund av lagen om avtagande avkastning.

Utvärdering får anses vara ett återkopplat system. Det går också att försöka styra produktutvecklingen med föreskrifter, mallar och rutiner som ett öppet system. För att kunna vara produktiv över lång tid behövs även dokumentation och kunskapsöverföring till framtida konstruktörer av produkten. För att bli bäst behövs en bra balans mellan samtliga parametrar, inklusive kreativa lösningar, konstruktion, rutiner, dokumentation, tillverkning och utvärdering för att nå en hög produktivitet över tid.


Debugging with Popper