mandag den 23. marts 2009

hjælp jeg er selvorganiserende

Vi har en flad selvorganiserende organisation var der en dag en der sagde til mig. Og jo, de lavede software. Man kan smage lidt på ordet selvorganisation. Hvad betyder det egentlig? – Ja det betyder at et system kan stige i kompleksitet uden at nogen eller noget har fortalt hvad retning det skal tage.
Sådan en organisation havde de altså – en organisation som ændrer sig til mere komplekse former uden grund, eller uden at nogen havde forlangt det. Scrum bruger tit ordet til at beskrive Scrum teams, og det er måske nok lidt overdrevet, at 5 til 6 individer skulle kunne blive til en mere kompleks organisation uden at nogen havde forlangt det. Som tidligere skrevet er organisation et spejl af din arkitektur. Så konsekvensen af en selvorganiserende software organisation må være en selv organiserende arkitektur. Hverken mere eller mindre – og det er spændene. For det betyder jo, at software arkitekter i den forbindelse, hvis de får lov, er en slags gud der giver tingene et design inden de udvikler sig, hvorimod den selvorganiserende software udvikler sig af sig selv. I naturen har det så vist sig at det når taget temmelig lang tid med sådanne selvorganiserende strukturer, også længere tid end kunden vil vente på et stykke software uanset hvor genialt det så måtte ende med at blive. Men faktisk tror jeg at vi i mange år i software udviklingens kunst, har lagt op til at de strukturer vi byggede skulle være selvorganiserende i et vist opfang. De fleste af de mønstre vi anvender, går jo netop på at afkoble de enkelte dele så de kan udvikle sig frit, under så lidt hensyn tagen til resten af projektet. Den service orienterede arkitektur er vel det sidste skud på sammen, hvor alle kan bidrage med services, som kobles på, kan findes, bruges og anvendes af andre. Men det betyder jo ikke at den enkelte service er lavet af en selvorganiserende projekt gruppe.
Selvorganisering virker nemlig ikke så godt når mennesker er blandet ind i det - vi tænker for meget – ligger for mange planer, og vil til enhver tid udnytte de svagheder et system har til vores egen fordel. Derfor tager Scrum og selvorganiserende teams ikke højde for den menneskelige psykologi, og da slet ikke at vi har forskellige evner. Prøv at stil dig selv spørgsmålet, hvilke rolle er der brug for i et Scrum team? – er det ligegyldigt fordi det finder de selv ud af, fordi de netop er selvorganiserende? Jeg tror ikke på det, for hvis et team skal være effektivt er det nødvendigt at der er lidt af hvert på det team, en med de gode ideer, nogle der kan kode, nogle der kan teste, en build manager der kan styre den side af sagen osv. Det er så rigtigt nok, at hvis man bare tager tilfældige folk uden at have en ide om hvad deres stærke og svage sider er, så er selvorganisering nok det bedste bud på den højst opnåelige effektivitet. Men vi ansætter jo ikke tilfældige mennesker (endnu), og vi ved godt at et effektivt team har medlemmer med forskellige roller, for vi vil gerne have at vores team har en performance der er bedre end hvad tilfældigheden kommer med. Jeg er træt af ordet selvorganisation og synes vi skal bruge ordet selvstyrende i stedet. Selvstyrende betyder jo at en lille organisation selv kan tilrettelægge arbejdet på den måde den finder bedst for at nå de mål organisationen står overfor. Det kan man desværre ikke i Scrum, der er regler der skal følges og en product backlog der definere målene med hvert eneste sprint. Så et team får et lille råderum på 3 – 4 uger, med tasks der maximalt er et vist antal timer. Det er ikke selvstyrende – og om det er selvorganiserende er også ligegyldigt, for det hjælper ikke.

Ingen kommentarer:

Send en kommentar