Conway seadus

**Conway seadus** on nimetatud arvutiteadlase Melvin Conway järgi, kes tutvustas ideed 1967. aastal.

Seaduses märgitakse, et

Seadus põhineb tähelepanekul, et tarkvara mooduli loomiseks peavad mitu autorit omavahel tihedalt suhtlema. Seega, tarkvaraliideste struktuur peegeldab süsteemi ehitanud organisatsioonide sotsiaalset hierarhiat. Conway seadus oli mõeldud kui tähelepanek, kuigi mõnikord kasutatakse seda humoorikas kontekstis. See tähelepanek ristiti Conway seaduseks 1968. aastal toimunud sümpoosionil National Symposium on Modular Programming (eesti keeles 'modulaarse programmeerimise sümpoosion').

## Variatsioonid
Avatud lähtekoodi eestvedaja Eric S Raymond sõnastas Conway seaduse ümber tuntud teoses "The New Hacker's Dictionary" ('uus häkkeri sõnaraamat'). Ta ütles, et tarkvara organiseerimise viis ja tarkvarameeskonna struktuur on kongruentsed, ja võttis Conway kirjeldatud näite kokku sõnadega: "Kui sul on neli rühma, kes töötavad kompilaatori kallal, siis sa saad 4-*pass* kompilaatori."

Seda versiooni on kõige lihtsam mõista. See käsitleb mikroolukorda. Kui selle olukorra vältimiseks ei tehta teadlikuid jõupingutusi, siis see ka juhtub. Paljude arendajate ühine positsioon näib olevat probleemi jaotamine mitmeks komponendiks, mis on võrdne arendajate arvuga. Kuigi see võib tunduda lihtne viis, kuidas probleemi lahendama hakata, siis on üpris ebatõenäoline, et komponendid on võrdse suurusega ning selliselt tuletatud disain ei ole tõenäoliselt eriti hea.

Mõnikord saab probleemi lahendada oluliselt parema disainiga, kasutades vähem mooduleid ja vähem programmeerijaid.

James O. Coplien ja Neil B. Harrison ütlesid:
"Kui organisatsiooni osad (nt meeskonnad, osakonnad või allüksused) ei kajasta täpselt toote olulisi osi või kui organisatsioonide vaheline suhe ei kajasta suhteid toote osade vahel, siis on projekt hädas... Seega veenduge varakult, et organisatsioon sobib kokku toote arhitektuuriga."

See muster kehtib makrokeskkonna kohta ja lühidalt öeldes käsib „viia arhitektuuri organisatsiooniga kooskõlla". Süsteemi ülesehitust mõjutavad sotsiaalsed ja majanduslikud tegurid, millest organisatsiooni tõeline (mitte ametlik) suhtlusstruktuur on tugevaim. Mustrit kohaldades peab leidma vastuse paljudele küsimustele: kuidas seda rakendada, mida täpselt ehitada, kust alustada ja kuidas muuta organisatsiooni nii, et toetada toote arhitektuuri.

Conway seaduse mõju võib märgata näiteks suurettevõtete veebilehtede disainis. Kasutatavuse ekspert Nigel Bevan märkis 1998. aastal: "Organisatsioonid loovad sageli sellise sisu ja struktuuriga kodulehti, mis peegeldavad ettevõtte struktuuri ja ei arvesta kodulehe kasutaja vajadustega."

## Tõendid
MIT-i ja Harvardi ärikooli (inglise keeles *Harvard Business School*) teadlased on trükis avaldanud tõendeid, mis toetavad Conway seadust. Nad nimetasid Conway seaduse peegeldushüpoteesiks ja leidsid kindlaid tõendeid, mis kinnitavad seda hüpoteesi, samuti tõdesid nad, et suured erinevused tarkvaramoodulite ülesehituses on kooskõlas arvamusega, et jaotatud meeskonnad kalduvad arendama modulaarsemaid tooteid.

Conway seadust kinnitavaid uurimusi on teinud ka Nagappan, Murphy ja Basili Marylandi ülikoolis koostöös Microsoftiga ning Syeed ja Hammouda Tampere tehnoloogiaülikoolis Soomes.

## Viited

## Lisalugemist
* Alan MacCormack, John Rusnak & Carliss Baldwin, 06-06-2012, "Exploring the duality between product and organizational architectures: A test of the “mirroring” hypothesis" *organisatsioonikultuur* [Harvard Business School Research Policy 41 (2012) 1309–1324], http://www.hbs.edu/faculty/Publication%20Files/Research%20Policy%2041%20(2012)%201309–%201324_c5c2350e-013c-4065-a2f9-d95eb32177d5.pdf.
* Lise Hvatum & Allan Kelly,19-01-2006, "What do I think about Conway's Law now? Conclusions of a EuroPLoP 2005 Focus Group" http://www.allankelly.net/static/presentations/EuroPLoP2005/ConwaysLawFocusGroup.pdf.
* Lyra Colfer & Carliss Baldwin. "The Mirroring Hypothesis: Theory, Evidence and Exceptions" [Harvard Business School Working Paper 16-124], aprill 2016.http://www.hbs.edu/faculty/Publication%20Files/16-124_7ae90679-0ce6-4d72-9e9d-828872c7af49.pdf
*Parnas, D. L. 2001 On the Criteria to Be Used in Decomposing Systems into Modules In Software Fundamentals: Collected Papers of David L. Parnas(Eds, Hoffman, D., M. and Weiss David, M.) Addison-Wesley. http://www.gbv.de/dms/ilmenau/toc/322400422.PDF