Modele organizatorice - Organizational patterns

Tiparele organizaționale sunt inspirate în mare parte de principiile comunității de tipare software, care la rândul său o iau în considerare din activitatea lui Christopher Alexander asupra modelelor din lumea construită. Modelele organizaționale au rădăcini și în textele antropologice clasice ale lui Kroeber despre modelele care stau la baza culturii și societății. La rândul lor, au oferit inspirație pentru mișcarea de dezvoltare software Agile și pentru crearea unor părți din Scrum și în special a programării extreme .

Istorie

O citare timpurie explicită la tiparele structurii sociale poate fi găsită în literatura antropologică.

Modelele sunt acele aranjamente sau sisteme de relații interne care conferă oricărei culturi coerența sau planul său și îl împiedică să fie o simplă acumulare de biți aleatori. Prin urmare, acestea sunt de o importanță primară.

Kroeber vorbește despre tipare universale care descriu unele scheme de ansamblu comune tuturor culturii umane; de modele sistemice sunt forme largi , dar normative referitoare la credințe, comportamente, semne, și economie; și modele de cultură totală care sunt locale. Kroeber observă că tiparele sistemice pot trece de la cultură la cultură:

Un al doilea tip de model constă într-un sistem sau complex de material cultural care și-a dovedit utilitatea ca sistem și, prin urmare, tinde să coereze și să persiste ca unitate; acesta poate fi modificat doar cu dificultate în ceea ce privește planul de bază. Orice astfel de model sistemic este limitat în primul rând la un aspect al culturii, cum ar fi subzistența, religia sau economia; dar nu se limitează în mod limitativ sau la o singură cultură; acesta poate fi difuzat intercultural, de la un popor la altul. . . . Ceea ce distinge aceste tipare sistemice de cultură - sau sisteme bine modelate, cum ar putea fi numite și ele - este o interrelație specifică a părților lor componente, un nexus care le ține puternic și tinde să păstreze planul de bază ... Ca rezultat al persistenței acestor tipare sistemice, semnificația lor devine cea mai evidentă din punct de vedere istoric.

Aspectul tipar al concepției lui Kroeber se potrivește foarte bine cu privire la modelul de gândire a sistemelor lui Christopher Alexander în domeniul arhitecturii. Cărțile lui Alexander au devenit o inspirație pentru lumea software-ului și, în special, pentru lumea programării orientate pe obiecte , în aproximativ 1993. Tiparele organizatorice în sensul în care sunt recunoscute în comunitatea software astăzi au apărut pentru prima dată la atelierul original Hillside Group. duce la comunitatea tipar și la conferințele sale PLoP .

Grupul Hillside a trimis un apel pentru lucrări de model și, în 1994, a organizat prima conferință de modele la Allerton Park, în centrul Illinois din Statele Unite. A doua conferință, tot la Allerton, ar urma un an mai târziu. Aceste primele două conferințe PLoP au fost martorii unei mână de modele organizaționale:

  • Limbajul modelului RaPPEL (1995) de Bruce Whitenack care a descris structurile organizaționale adecvate pentru achiziția de cerințe;
  • Limbajul modelului Caterpillar's Fate (1995) de Norm Kerth care a descris structurile organizaționale care susțin evoluția de la analiză la proiectare;
  • O lucrare a lui James Coplien (1995) care descrie câțiva ani de cercetare organizațională la Bell Laboratories;
  • Episoduri, un limbaj tipograf de Ward Cunningham (1996) care descrie puncte cheie a ceea ce astăzi am numi software de dezvoltare Agile;
  • Un limbaj tipograf de Neil Harrison (1996) privind formarea și funcția echipelor.

O serie de publicații asociate și articole de urmat au urmat rapid după aceea, inclusiv o extemporizare a abordării tiparelor organizaționale în Jurnalul Tehnic Bell Labs, o piesă invitată în ASE, un articol CACM de Alistair Cockburn și, la scurt timp după aceea, un model încărcat de model. carte de Alistair, precum și capitole de Benualdi și Janoff în Manualul de modele. Tot în această perioadă Michael A. Beedle și colab. a publicat modele care descriau extensii explicite la tiparele organizatorice existente, pentru aplicarea în proiecte folosind un cadru de dezvoltare software vechi de cinci ani, numit Scrum. Alte câteva articole, precum cel de la Brash et al. de asemenea, a început să apară.

Puțin mai mult s-a întâmplat în fața tiparelor organizaționale până la publicarea cărții de către Berczuk și toate despre tiparele de gestionare a configurației; acesta a fost un efort de desprindere din efortul centrat inițial la Bell Labs.

Între timp, Jim Coplien și Neil Harrison culegeau tiparele organizaționale și le combinau într-o colecție de patru limbaje de tipar. Majoritatea acestor tipare s-au bazat pe cercetările originale ale Laboratoarelor Bell, care au studiat peste 120 de organizații în decursul unui deceniu. Aceste studii empirice s-au bazat pe jocul de rol în organizațiile de dezvoltare software, care amintesc de sociodramele abordării originale a rețelei sociale Moreno . Cu toate acestea, limbajul de tipar a avut și o contribuție substanțială din alte surse și, în special, din lucrările lui Cockburn, Berczuk și Cunningham. În 2004, această colecție a fost publicată sub formă de Organizational Patterns of Agile Software Development .

Unul dintre cele mai recente articole de model organizatoric provine de la un contribuabil și un avocat timpuriu, pionierul proiectării obiectelor Grady Booch.

Principii de descoperire și utilizare

Ca și alte tipare, tiparele organizaționale nu sunt create sau inventate: sunt descoperite (sau „minate”) din observația empirică. Lucrările timpurii pe tiparele organizaționale la Laboratoarele Bell s-au concentrat pe extragerea tiparelor din analiza rețelei sociale . Acea cercetare a folosit tehnici empirice de joc pentru roluri pentru a strânge informații despre structura relațiilor din organizația subiectului. Aceste structuri au fost analizate pentru a observa tiparele recurente în cadrul organizației și contribuția lor la atingerea obiectivelor organizaționale. Structurile de succes recurente au fost redactate sub formă de model pentru a descrie compromisurile și deciziile (forțele) de proiectare detaliate, contextul în care se aplică, împreună cu o descriere generică a soluției.

Tiparele oferă o cale incrementală către îmbunătățirea organizațională. Stilul tipar de a construi ceva (în acest caz, o organizație) este:

  1. Găsiți cea mai slabă parte a organizației voastre
  2. Găsiți un model care este probabil să-l consolideze
  3. Aplicați modelul
  4. Măsurați îmbunătățirea sau degradarea
  5. Dacă modelul a îmbunătățit lucrurile, mergeți la pasul 1 și găsiți următoarea îmbunătățire; altfel, anulați modelul și încercați o alternativă.

Ca și în cazul modelelor de arhitectură software în stil Alexander, modelele organizaționale pot fi organizate în limbaje de tipar : colecții de modele care se construiesc unul pe altul.

Un limbaj de tipar poate sugera modelele care trebuie aplicate pentru un set cunoscut de modele de lucru care sunt prezente.

Tipare organizatorice, agile și alte munci

Istoricul dezvoltării de software Agile și a modelelor organizaționale au fost conectate încă de la început. Kent Beck a fost păstorul (model recenzent interactiv) a hârtiei Coplien pentru 1995 plop , și el menționează influența acestei lucrări asupra programării extreme într - o publicație 2003. Ideea întâlnirilor zilnice Scrum a provenit, de fapt, dintr-un proiect de articol al Jurnalului Dr. Dobb care descrie structurile de cercetare ale proiectului QPW Borland. Lucrările timpurii ale lui Beedle cu Sutherland au adus mai bine perspectiva modelului în istoria Scrum. Mai recent, comunitatea Scrum a preluat interesul nou pentru modelele organizaționale și există o cercetare comună care merge înainte între cele două comunități. În acest sens, prima conferință Scrum PLoP a avut loc în Suedia în mai 2010, sancționată atât de Scrum Alliance, cât și de Hillside Group .

Referințe

  1. ^ Alexandru, Christopher. Un limbaj model. Oxford University Press, © 1979.
  2. ^ Kroeber, Alfred L. Antropologie: cultură, tipare și proces. New York: Harcourt, Brace and World, 1948.
  3. ^ Kroeber, Alfred L. Antropologie: cultură, tipare și proces. New York: Harcourt, Brace and World, 1948, p. 119
  4. ^ Kroeber, Alfred L. Antropologie: cultură, tipare și proces. New York: Harcourt, Brace and World, 1948, p. 120 - 121.
  5. ^ Coplien, James. Cultura modelelor. In Branislav Lazarevic, ed., Computer Science and Information Systems Journal 1, 2, Belgrad, Serbia și Muntenegru, 15 noiembrie 2004, p. 1-26.
  6. ^ Whitenack, Bruce. RAPPeL: un limbaj de tipar de cerințe-analiză-proces pentru dezvoltarea orientată pe obiect. În James Coplien și Doug Schmidt, eds., Pattern Language of Program Design. Addison-Wesley, 1995, p. 259 - 291.
  7. ^ Kerth, Norm. Destinul lui Caterpillar: un limbaj de tipar pentru transformarea de la analiză la proiectare. În James Coplien și Doug Schmidt, eds., Pattern Language of Program Design. Addison-Wesley, 1995, p. 293 - 320.
  8. ^ Coplien, James. Modele de organizare. În James Coplien și Doug Schmidt, eds., Pattern Language of Program Design. Addison-Wesley, 1995, p. 183 - 237.
  9. ^ Cunningham, Ward. Episoade: un limbaj tipar de dezvoltare competitiva. În Vlissides și colab., Eds., Pattern Language of Program Design - 2. Addison-Wesley, 1996, p. 371 - 388.
  10. ^ Harrison, Neil. Modele organizatorice pentru echipe. În Vlissides și colab., Eds., Pattern Language of Program Design - 2. Addison-Wesley, 1996, p. 345 - 352.
  11. ^ Harrison, Neil B. și James O. Coplien. Tiparele organizațiilor software productive. Bell Labs Technical Journal, 1 (1): 138-145, vară (septembrie) 1996.
  12. ^ Cain, Brendan G., James O. Coplien și Neil B. Harrison. Tipare sociale în organizații software productiv. În John T. McGregor, editor, Annals of Software Engineering, 259-286. Baltzer Science Publishers, Amsterdam, decembrie 1996.
  13. ^ Cockburn, Alistair. Interacțiunea problemelor sociale și arhitectura software. CACM 39 (10), octombrie 1996.
  14. ^ Cockburn, Alistair. Proiecte orientate spre supraviețuire. Addison-Wesley, 1997.
  15. ^ Genualdi, Patricia. Îmbunătățirea dezvoltării software cu modele de proces și organizaționale. În Linda Rising, ed. Manual de modele. Cambridge University Press, 1998, p. 121 - 129.
  16. ^ Janoff, Norm. Modele organizatorice la sistemele de comunicare AG. În Linda Rising, ed. Manual de modele. Cambridge University Press, 1998, p. 131 - 138.
  17. ^ Michael A. Beedle, Martine Devos, Yonat Sharon, Ken Schwaber și Jeff Sutherland. SCRUM: limbaj de extensie pentru dezvoltarea de software hiperproductiv. Raportul tehnic al Universității Washington TR # WUCS-98-25, 1998.
  18. ^ Brash, Danny și colab. Evaluarea tiparelor organizaționale pentru susținerea managementului cunoștințelor de afaceri. Procesul conferinței internaționale de asociere a resurselor informaționale din 2000 privind provocările managementului tehnologiei informației în secolul XXI. Editura IGI, mai 2000.
  19. ^ Berczuk, Steve, Brad Appleton și Kyle Brown. Tiparele de gestionare a configurației software: lucru eficient în echipă, integrare practică. Addison-Wesley, 2003.
  20. ^ Moreno, JL Cine va supraviețui ?: fundamentele sociometriei, psihoterapiei de grup și sociodramei. Washington, DC: Nervous and Mental Disease Publishing Co., 1934.
  21. ^ Coplien, James și Neil Harrison. Modele de dezvoltare software Agile. Addison-Wesley, © 2004.
  22. ^ Booch, Grady. Modele de organizare arhitecturală. Software IEEE 25 (3), mai 2008, p. 18 - 19.
  23. ^ Fraser, Steven, Kent Beck, Bill Caputo, Tim Mackinnon, James Newkirk și Charlie Pool. "Dezvoltare condusă de test (TDD)." În M. Marchesi și G. Succi, eds., XP 2003, LNCS 2675, p. 459 - 462, 2003. © Springer-Verlag, Berlin și Heidelberg, 2003.
  24. ^ Coplien, James O. și Jon Erickson. Examinarea procesului de dezvoltare software. Revista dr. Dobb de instrumente software, 19 (11): 88-95, octombrie 1994.
  25. ^ Sutherland, Jeff. Origini ale Scrum. Pagina web [1] , accesată 22 septembrie 2008. 5 iulie 2007.
  26. ^ Sutherland, Jeff. Scrum și modele de organizare. Pagina web [2] , accesată la 14 iunie 2013. 20 mai 2013.