Informasjonsflyt og maktfordeling i systemutvikling

“Programming is a social activity.” – Robert C. Martin

Systemutviklingsmetoder som brukes innen programvareutvikling kan deles inn i to hovedkategorier, tradisjonelle og agile metoder. Når en snakker om forskjellene mellom disse metodene er ikke vanlig å sette fokus på de sosiale nettverkene som formes. kan det sosiale nettverket som formes brukes til å forklare noe av forskjellene mellom metodene?

For å modellere det sosiale nettverket som formes når en bruker en slik metode for å organisere et prosjekt skal jeg bruke “social network analysis”(Mead, S. P, 2001, s.32). SNA modellerer nettverket som skapes av ut ifra rollene som individene oppfyller i prosjektet. Dette gjør det meget godt egnet til å modellere nettverkene som formes ved bruk av systemutviklingsmetoder, ettersom de har fokus på roller og fordeling av ansvar. Rollene som er brukt i SNA er “group member”, “liaison”, “isolate” og “star”. Disse rollene kan beskrives ved in og ut gradene til hver enkel node i nettverket, sammen med den lokale strukuren.

Begrepene kan beskrives på følgene måte,

  • group member
    • en node som tar del et kluster
  • liaison
    • en node som kobler sammen forskjellige klusters
  • isolate
    • en node som har lav in og ut grad, hvor kantene går til en kluster
  • star
    • en node som har høy in og ut grad innenfor en kluster og er koblet til en eller flere liaison noder

Tradisjonell metode

Fossefallsmodellen er en tradisjonell modell som deler arbeidet inn i flere separate stadier. Prosjektet beveger seg gjennom disse stadiene fra kravspesifikasjon til vedlikehold. Hver av disse stadiene bruker produktet av det forrige stadiet som utgangspunkt for det de gjør. Siden gruppene er såpass isolerte kan de gå videre på et nytt prosjekt når deres del er ferdige.

Det sosiale nettverket som formes, av alle som deltar i prosjektet, vil skape egne grupper for hvert av stadiene som blir gjennomført. Dette medfører at flertallet av noder vil være av typen “isolate” med “star” noder som kobler de sammen, ettersom de kun samarbeider med noen medlemmer av sin egen gruppe som har samme ekspertise. Separeringen av gruppen vil lage et behov for “liaison” noder, for å støtte produktet / resultatet fra hvert av stadiene i senere stadier.

 

Agile metode

Scrum er en agile metode som kontinuerlig forbedrer et produkt, med samme kjernegruppe gjennom hele prosjektet. Prosjektet som helhet vil gjerne deles inn i økter. Prosjektets deler løses gjerne ved at to medlemmer samarbeider om hver oppgave, slik at individuelle personers fravær ikke har stor risiko for prosjektet. Eksterne personer, produktets kjøpere eller eksperter blir ofte inkludert i perioder eller gjennom hele prosjektet, for å hjelpe med krav eller spesifikke problem. Agile prosjekt vil generelt ikke inneholde flere en 10-15 gruppemedlemmer, oftest mindre enn 10 personer. Prosjekt som utføres med agile metode vil ofte bli tilknyttet ett kontor for å redusere avstanden mellom deltagerne.

Det sosiale nettverket som formes, av alle som deltar i prosjektet, vil skape en gruppe. Denne gruppen vil være bestående av nesten utelukkende “group member” noder for alle som deltar på hele prosessen. Andre deltagere som eksperter og kunder som er midlertidig innom kan være “isolate” eller “liaison” om de knytter eksterne nettverk inn i prosjektet. Størrelsen på gruppen kan lede til at noen noder har sterkere bånd til nodene de samarbeider med, men alle deltagerne i prosjektet vil vanligvis forme en relasjon. Dette leder til en kort sosial distanse mellom medlemmer, og effektiv kommunikasjon direkte mellom personer.

Strukturen på de to nettverkene sin påvirkning på kommunikasjon / informasjonsflyt og maktfordeling mellom gruppemedlem er stor.

Fossefallsmodellen passer svært godt inn bland hierarkiske modeller, ofte brukt for å vise hvordan et selskap er organisert. Maktfordelingen i tradisjonelle metoder ligner maktfordeling i bedrifter, hvor alle har sjefer og beslutninger tas ovenfra og nedover, slik som de flyer igjennom fossefallet. Scrum nettverket vil gjerne ha en leder, men denne egenskapen er ikke synlig ut ifra strukturen på nettverket som dannes. Kantene i nettverket vil koble sammen alle deltagerne, lederen vil antageligvis ha en høyere gjennomsnitt styrke på båndene sine.

Fossefallsmodellen sin hierarkiske oppbygning vil lede til at nettverket inneholder flere broer som ikke er lokale. Dette er grunnen for det store behovet for at prosjektet må være grundig dokumentert. Kommunikasjon mellom deltagere vil antageligvis gå gjennom “liaison” noder eller via digitale kommunikasjons kanaler som epost eller telefon. Scrum nettverket slipper unna denne kostnaden for kommunikasjon mellom deltagere, spesielt på grunn av vanen å plassere alle deltagere i samme lokaler.

Konklusjon

De sosiale nettverkene som dannes av fossefallsmodellen og scrum metoden er forskjellige. Disse forskjellene påvirker kommunikasjon og maktfordeling. Disse forskjellene stammer fra forskjellene i struktur på nettverkene, hvor tradisjonell metode gir et nettverk sammenlignbart med store organisasjoner.

Kilder
Mead, S. P. (2001). Using social network analysis to visualize project teams. Project Management Journal, 32(4), 32–38.