måndag 25 februari 2013

Dreyfus - vad datorer inte kan

I ett samtal med min mentor kom vi in på ämnet lärande och hur man arbetar som coach utifrån den erfarenhetsnivå som adepten har. Min mentor tog upp Dreyfus ”What computers can’t do” som en bra modell att utgå ifrån. Dreyfus skrev sitt arbete början av 70-talet i en tid då AI var på frammarsch och många trodde att datorer snart skulle kunna ersätta det mänskliga medvetandet. Idag vet vi att vår hjärna är betydligt mer komplex än att kunna simuleras med datorkraft (trots att vi nu har tillgång till datorkraft som man på 70-talet bara kunde drömma). Det mänskliga lärandet är helt enkelt av en helt annan art än vad vi med datorer kan konstruera och efterlikna.

När jag läste in mig på Dreyfus arbete kunde jag inte undgå att dra paralleller till test. De tidiga erfarenhetsnivåerna, där man gärna följer regler, kan liknas vid att upprepa fördefinierade testfall. Senare nivåer kan liknas vid riskbaserad eller utforskande testning, där man instinktivt känner vad som är rätt och hur systemet borde agera. Eftersom datorer inte kan utrustas med intellekt, instinkt och systemtänkande så kan man ej heller med automatiserad testning hitta lika många fel som en skicklig manuell testare, även om datorer spöar en oerfaren testare blott genom mängden testfall som utförs med högre hastighet.
Jag vill tacka Lotta på Arbetsförmedlingen IT för beskrivningen av Dreyfus arbete nedan (som jag stulit och fritt översatt från hennes bok)…

Inom epistemologin (d.v.s. den del inom filosofin som handlar om mänskligt vetande) har boken ”What computers can’t do”, av Hubert L. Dreyfus 1972, spelat en stor roll. Dreyfus presenterar fem kunskapsnivåer som vanligtvis passeras när vi lär oss nya saker. Dessa fem nivåer är novis, nybörjare, kompetent, erfaren och expert.
Novisen känner bara till enkla förhållanden eller fakta och behöver tydliga regler för att avgöra vilka åtgärder och steg som bör tas. Dreyfus ger exemplet om någon som övningskör och avgör fordonets hastighet genom att titta på hastighetsmätaren. Övningsföraren använder sig sen av regler och kanske bedömer när det är dags att växla genom att hastighetsmätaren passerar 10 km/h. Att bara följa enkla regler kan ha sina nackdelar. Övningsföraren kommer förmodligen att få motorstopp om hen växlar för snabbt i ett motlut eller med tung last.

Förutom enkla fakta börjar nybörjaren att ha bättre förståelse om kontexten. Efter att ha upplevt tillräckligt många exempel så börjar nybörjaren att förstå sammanhang. Dreyfus liknar detta med bilföraren som lyssnar på motorljudet för att avgöra när det är dags att växla. Nybörjaren följer fortfarande givna regler men lär sig genom återkommande händelser och ökar sin erfarenhet. Eftersom både novisen och nybörjaren bara blint följer regler, känner de liten egen skuld vid ett misslyckande och upplever ofta att det är reglerna som är felaktigt utformade.
En kompetent person tar fram en plan och väljer en utgångspunkt för att kunna hantera den oftast överväldigande informationen som hen har lärt sig att identifiera. Planen, som härstammar ur egen erfarenhet eller instruktioner, hjälper den kompetente att skilja mellan viktiga och mindre viktiga aspekter och underlättar beslutsfattandet. Dreyfus menar att vid den här nivån följer bilföraren inte enbart regler. Bilföraren har ett mål i sikte och ifall den kompetente råkar i en nödsituation kanske hen bara fokuserar på att nå fram utan att bry sig om passagerarnas komfort eller trafiklagen. Dreyfus poängterar att det i de allra flesta fall är omöjligt att enbart förlita sig på regler. Inom varje område kan det uppstå flera olika situationer och det är omöjligt att täcka in dem alla. Den kompetente personen inser det och måste därför själv sin utgångspunkt. Man kan inte veta vad som är det rätta valet i förväg och det kan uppfattas som skrämmande. Den kompetende känner ett stort eget ansvar eftersom resultatet verkligen beror på deras val. Det finns en emotionell investering i varje val och människor blir naturligtvis skrämda, upplyfta, besvikna eller håglösa beroende på resultatet.

En erfaren person kan ofta känna sig uppfylld av sin egen skicklighet, d.v.s. befinner sig ”in the flow”. Hen ser vad som borde göras men behöver kanske lite tid för att bestämma sig hur det ska genomföras. Minnen av liknande erfarenheter i det förflutna leder till planer baserat på vad som har fungerat förut.
Experten ser inte enbart vad som borde göras utan vet intuitivt hur det ska genomföras. Experten har en utvecklad och genomarbetad förståelse och kan omedelbart genomföra vad som krävs. I normalfallet är det ofta tillräckligt och expertens arbete leder därför allra oftast till ett gott resultat.

fredag 8 februari 2013

Pratar på NFI Testforum

Jag har blivit inbjuden att prata på NFI Testforum den 16 april. Ni som deltar kommer att få lyssna på min presentation "från backlog till produktion på två veckor". Presentationen handlar om agil testning i ett Scrumteam med integrationstester och produktionssättning inom sprinten.

>>Väl mött!