Generalister och specialister

En av många aspekter vi måste tänka på när vi ska sätta ihop högpresterande, agila utvecklingsteam är om vi vill ha generalister eller specialister i dem.

Spontant tror jag att många säger: specialister! Fördelar med specialister är förstås att de har specialistkunskaper, till exempel på ett ramverk eller en metodik, som gör att teamet snabbare kan komma fram till en stilig och adekvat lösning. Problemet är att systemutvecklingsprojekt idag är så komplexa att du skulle behöva 20-30 personer med specialistkompetens för en webbapplikation av standardkomplexitet. Tror du mig inte? Ok, här en snabb lista (det finns säkert fler):

  • politiker (för att hantera särintressen inom organisationen)
  • marknadsförare (för systemet, produkten, projektet)
  • domänexperter
  • användare i olika roller (sällananvändare, läsare, administratör, rapportläsare, redaktör, …)
  • marknadsexpert (produktägare)
  • kravanalytiker
  • systemtestare (storytestning, prestandatestning m m)
  • säkerhetsexpert
  • användbarhetsexpert (från behov till nytta)
  • interaktionsdesigner
  • webbprogrammerare
  • grafisk designer
  • tillgänglighetsexpert
  • systemarkitekt (dvs minst en erfaren utvecklare)
  • programmerare
  • databasdesigner
  • databasadministratör
  • driftsansvarig
  • processcoach
  • verktygsexpert
  • byggchef (CM)
  • ramverksexperter (på valda ramverk, t.ex. Spring, Hibernate, Rails, Seam)

Att detta skulle vara olika personer har man givetvis inte råd med. Följden blir att vissa kompetensområden gapar tomma i team med utpräglade experter.

En annan nackdel med utpräglade specialister är att de har en tendens att inte vilja gå utanför sitt område – och inte heller släppa in någon annan på sitt område. Det blir lätt “inte mitt bord”-mentalitet. Enbart en specialist kan säga: “Ok, teamet hann inte med alla sina uppgifter, men jag blev i alla fall klar i förrgår”. Specialister är sällan lagspelare och kan vara svåra att leda och arbeta med.

Men generalister då? En generalist kännetecknas av ett stort intresse för många olika områden, men som sällan förkovrar sig inom samma ämne en längre tid. Fördelar med generalister är förstås att de är breda. De kan det mesta. Generalister har ofta en härligt attityd av “hur svårt kan det vara” som gör dem relativt enkla att leda och samarbete med. Vad du än slänger åt dem så har de ett hum om hur de kan lösa problemet. Och de är vanligen inte rädda för att försöka! Den stora nackdelen är att de inte är utsökt bra på något. Utan specialister blir team långsamma och designen ofta allt annat än vacker (eller förvaltningsbar).

Men nästan ingen människa är total generalist eller specialist. De flesta är en blandning av båda, med läggning åt endera håll. Men det finns också två specialformer som jag vill ta upp: Specialiserade generalister och generaliserade specialister. Och båda dessa typer passar utmärkt i utvecklingsteam!

En specialiserad generalist är en generalist som har specialstuderat ett ämne att bli specialist inom. De är ovanliga men förekommer. Det kan till exempel röra sig om en projektledare som tvingats bli duktig på kravanalys i ett projekt och som sedan hittat en ovanlig niche som hon vill bevara. De måste ständigt arbeta vidare med sitt ämne för att behålla spetsen, vilket egentligen inte ligger i deras natur. Dock kompenseras detta av att de ofta mycket ambitiösa.

En generaliserad specialist är en specialist som även lärt sig att tänka som en lagmedlem och är öppen för att lära sig nya saker. Kan en testexpert lära sig grunderna i programmering? Kan en interaktionsdesigner bidra vid testningen? Kan en pythonprogrammerare hjälpa till med att analysera krav? Självklart!

Möjligheterna att bygga högpresterande team är stora med denna typ, då de både kan bidra med specialistkompetensen, men samtidigt kan se helheten och stötta varandra. Agila projekt strävar efter att ha merparten av teamen befolkade med dessa guldkorn. Och du som individuell specialist gör gott i att sträva efter att även kunna grunderna i områden utanför ditt eget.

7 thoughts on “Generalister och specialister

  1. Är specialist (någon som är specialiserad) synonymt med expert?

    Antag att man kan betygsätta teammedlemmarna efter förmåga att tillämpa, förstå och lära ut de 22 respektive kunskapsområdena som du nämner. Betyget fem betyder genomsnittlig på marknaden och nio betyder expert.

    Kenny har betyget ett inom samtliga 22 områden förutom databasdesigner där han har betyget fyra. Han har specialiserat sig, men är inte expert på något. Kenny kan dock allt (och då menar jag allt) om teveserien Battlestar Galactica.

    Jennica har betyget nio på alla 22 områden. Hon är per definition expert på allt, men inte specialiserad på något. Hon är utsökt bra på alla områden. Men hon har inte sett ett enda avsnitt av Battlestar Galactica. Faktum är att hon avskyr scifi-serier mer än sin egen svärmor.

    Hur kunde det bli så? Alla jobbar inte med något som de är intresserade av eller ens är villiga att investera i kunskap i.

  2. Tjena Staffan!

    Tack för din kluriga kommentar!

    >Är specialist (någon som är specialiserad) synonymt med expert?

    Hm, bra fråga! Nej, naturligtvis inte. Men det är i de flesta fall rimligt att tänka sig att om man specialiserar sig på någonting en längre tid så blir man också duktigare än genomsnittet på det.

    Ditt exempel med Jennica finner jag inte speciellt sannolikt. Jag har iaf inte träffat någon som är “en nia” i politik, grafisk design, databasadministration och 19 andra områden. Men låt gå, det skulle kunna inträffa.

    Egentligen är det dock lite irrelevant för diskussionen. Det är klart att genomsnittskompetens är en (viktig) faktor när man sätter ihop ett team, men det var inte den faktorn jag pratade om (vilket var generalist/specialist).

    Om man hittar en person med expertkompetens i alla 22 områden så klarar man sig också med denna person (om hon kan jobba snabbt nog). Fast man får nog leta länge efter henne. I annat fall tror jag att en bra strategi kan vara att försöka täcka upp de viktiga områdena med generaliserade specialister och någon specialiserad generalist och se till att övriga områden är “bra nog”.

    Hoppas jag förstod dig rätt!

  3. I sak är vi överrens: ett systemutvecklingsprojekt har sällan ekonomiskt råd med en-fråge-medlemmar och deras breddbegränsning gagnar heller inte samarbetet inom teamet.

    Kanske (eller nästan) tycker du också som jag att det istället behövs driftiga personer som lever efter hur-svårt-kan-det-vara. Just på grund av den attityden så är de ofta redan utsökt bra på ett gäng områden – om än inte alla som Jennica.

    > Men det är i de flesta fall rimligt att tänka sig att om man specialiserar sig på någonting en längre tid så blir man också duktigare än genomsnittet på det.

    Kunskap får man genom att spendera tid på att lära sig saker – inte genom att begränsa sitt stimuliområde. Om du lägger ner tio timmar på att lära dig tio saker och jag lägger ner tio minuter på att lära mig en sak, så bräcker du mig även i mitt specialområde. Att jag har specialiserat mig är ortogonalt mot att jag är utsökt bra på det området.

    Inom sjukvården kallas experter ofta för specialister, till skillnad från t ex naturvetenskap där experter kallas för experter.

    Har du läst Peter Bichsels “Ett bord är ett bord”?

  4. Absolut, du har en poäng. Hur mycket expert man är säger egentligen inte så mycket om huruvida man är generalist eller specialist. Generalist/Specialist är kanske mer en läggning än ett uttalande om hur duktig man är på något. Mitt inlägg är något förvirrat på den punkten.

    Dock måste jag vidhålla att en person som ägnar en stor del av sin tid på att specialisera sig på något //i de flesta fall// blir duktigare än genomsnittet på det området. Det går alltid att hitta undantag.

    Har du något bättre förslag på vad vi bör kalla en generaliserad specialist?

  5. > Har du något bättre förslag på vad vi bör kalla en generaliserad specialist?

    För att kondensera från texten ovan vad en “generaliserad specialist” är:

    En specialist:
    1) har specialistkunskaper, till exempel på ett ramverk eller en metodik, som gör att teamet snabbare kan komma fram till en stilig och adekvat lösning
    2) har en tendens att inte vilja gå utanför sitt område – och inte heller släppa in någon annan på sitt område
    3) är sällan lagspelare och kan vara svåra att leda och arbeta med

    En generaliserad specialist:
    a) en specialist som även lärt sig att tänka som en lagmedlem och är öppen för att lära sig nya saker

    För en generaliserad specialist så eliminerar punkten (a) alltså punkterna (2) och (3). Han har fortfarande (1) med tillägget att han ännu inte lärt sig andra saker – han är bara öppen för det. Om jag fattar det rätt så är det en driftig och samarbetsvillig person med en begränsad, men stark repertoar. Tyvärr så har jag inget mer snärtigt och slagfärdigt epitet… 🙂

    Uttrycket “generaliserad specialist” är annars retoriskt väldigt spännande. Vid första anblicken så låter det som oxymoron, men av din förklaring så förstår man att tempus är viktigt. Först var han en specialist, sedan blev han generaliserad. Ta-dam-ta-dam: En synoeciosis. En av mina favoritfigurer, faktiskt.

  6. Tja,

    Läste igenom din artikel – letade egentligen på nätet efter en artikel som påstod att man krävde erfarna utvecklare i ett agile lag om man ska lyckas… Men det här var ju intressant också.

    Men jag blev lite kritisk när du skrev att en testare “kan lära sig grunderna i programmering” — uppenbarligen måste väl en testare vara både expert på programmering och på testning??! Hur ska testaren annars kunna titta på koden och exponera de kodvägar som leder till problem? Personligen hade jag aldrig anställt en testare utan programmeringskunskaper i alla fall.

  7. Den teknik du tillskriver testare skulle jag normalt säga behöver ligga hos den som skriver koden, helst så att de kan testdriva den, dvs en programmerare. Det är effektivare.

    Men jag håller med om att programmering är en bra kunskap för en testare. Jag kan dock tänka mig att jag rankar känsla för kvalitet, ansvar, noggrannhet och ett analytiskt sinne högre.

Comments are closed.