Conways lov

Conways lov

Det at software kommer til å ligne de sosiale hierarkiene som lagde dem. Dersom team A og B lager hvert sitt produkt, og disse skal snakke sammen så kommer den mest skjøre biten til å være kommunikasjone mellom de to produktene.

Programvare vil alltid speile den kommunikasjonsstrukturen som selve organisasjonen har.

I Embracing Conways Law -- Wingolog argumenteres det for at en naturlig konsekvens av dette er at å "finne opp hjulet på nytt" kan i visse tilfeller være en god løsning. Om man bruker noe noen andre har laget, kan det fort ende opp at man etter noen uker trenger noe nytt fra programvaren eller tjenesten. Tjenesten ble kanskje bygget med et helt annet grunnlag enn det du har brukt det til, og det kan være vanskelig å støtte det du trenger uten å introdusere en hack eller masse unødvendig kompleksitet.
Kan man i det hele tatt få det fikset? Vil utviklerne bruke tid på å fikse det? Om man lager sin egen greie, så vet man hvordan det fungerer inn og ut, og kan enkelt modifisere det slik man ønsker.

Dette relaterer til Not Invented here bias. En tendens til å velge bort produkter og tjenester fra en ekstern leverandør. Det kan føre til en høy oppstartskost, men i det lange løp vil det gi en fordel til å enkelt kunne tilpasse seg nye krav.