[TILT] Conway’s Law i zašto ga ne bi trebali ignorirati

Conway’s Law

Conway’s Law kaže da organizacije dizajniraju sustave prema strukturi timova. Konkretnije, prema postojećoj komunikacijskoj strukturi timova. Pojam je definirao Melwin Conway 1967 godine [1]. Praktičnije definirano: organizacije grade arhitekturu softverskog rješenja bazirano na postojećim kompetencijama te hijerarhijskoj i komunikacijskoj strukturi.

Rezultat je “ukalupljivanje” tehničkog rješenja organizacijskim ograničenjima. Dodatno, tehnička struktura rješenja interakcijski je ograničena zbog organizacijskih komunikacijskih restrikcija. U konačnici: tehničko rješenja “fita” organizaciji umjesto zahtjevima korisnika i tržišta.

Conway's Law

Da li je to nužno loše? Ovisi koga pitate. Prema nekima to je apsolutno poželjno. Drugi kažu sasvim suprotno. Treći kažu da je to kompromis između želja i stvarnosti, generalno nepoželjno ali potrebno zbog ograničenja ljudskih kapaciteta [2].

Kako god gledali na taj fenomen, brojna istraživanja potvrđuju hipotezu Conway’s Law [3, 4, 5].

Inverse Conway Maneuver

Posljednjih godina sve češće se upotrebljava pojam “Inverse Conway Maneuver”. Prevedeno na hrvatski – inverzni Conway manevar. Kao da je ispao iz neke vojne literature o borbenoj taktici i manevrima. Inverse Conway Maneuver kaže da prvo definiramo arhitekturu željenog rješenja te interakciju tog rješenja s ostatkom ekosustava pri tome ignorirajući trenutnu organizacijsku strukturu (organigram). Na temelju tog znanja tek tada gradimo timove koji mogu podržati izradu željene arhitekture. Detaljnije je moguće pročitati u [6] i [7].

Sada kad znate za Conway’s Law, što dalje? U biti imate tri mogućnosti:

  • praviti se da taj fenomen nije stvaran (to-se-ne-događa-meni-već-susjedu)
  • svjesno prihvatiti ograničenja i prednosti tog fenomena – pronaći način kako ga iskoristiti u svoju korist
  • odigrati Inverse Conway Maneuver:
    • za sva postojeća rješenja neće biti lako. Zahtijevat će jako puno truda da se monoliti “razbiju” na logičke cjeline (fracture planes) – vidi za detalje [7]
    • za sve novo – svjesno prvo gradite željenu arhitekturu rješenja (target condition [8]) te potom gradite timove i interakcije timova prema definiranom ciljanom stanju
  • sve navedeno – rekao sam tri, od kuda sad ovo. Realno, ovo nije realno…

Za one koji žele znati više

1. Mel Conway hompage, http://www.melconway.com/Home/Conways_Law.html

2. The Visible Hand: The Managerial Revolution in American Business, ALFRED D. CHANDLER, 1977, Harvard University Press, Belknap Press, https://www.jstor.org/stable/j.ctvjghwrj

3. Usability issues in website design, Nigel Bevan, 1999, https://experiencelab.typepad.com/files/usability-issues-in-website-design-1.pdf

4. MacCormack, Alan, Carliss Baldwin, and John Rusnak. 2012. “Exploring the Duality Between
Product and Organizational Architectures: A Test of the ‘mirroring’ Hypothesis.” Research Policy
41 (8) (October): 1309–1324. doi:10.1016/j.respol.2012.04.011., https://dash.harvard.edu/bitstream/handle/1/34403525/maccormack%2Cbaldwin%2Crusnak_exploring-the-duality.pdf

5. The influence of organizational structure on software quality: an empirical case study, Nachiappan Nagappan, Brendan Murphy , Victor Basili, ICSE ’08: Proceedings of the 30th international conference on Software engineering, May 2008, Pages 521–530, https://dl.acm.org/doi/10.1145/1368088.1368160

6. Contending with Creaky Platforms CIO, Matthew Simons, Jonny Leroy, Cutter IT, November 30, 2010 https://www.cutter.com/article/contending-creaky-platforms-cio-416286

7. Team Topologies: Organizing Business and Technology Teams for Fast Flow, Matthew Skelton, Manuel Pais, It Revolution Press, 2019, https://itrevolution.com/product/team-topologies/

8. Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results, Mike Rother, McGraw-Hill Companies, 2009, https://www.mheducation.co.uk/toyota-kata-managing-people-for-improvement-adaptiveness-and-superior-results-9780071635233-emea

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.