Örgütsel modeller - Organizational patterns

Örgütsel modeller büyük ölçüde yazılım kalıp topluluğunun ilkelerinden esinlenmiştir, bu da onu sırayla Christopher Alexander inşa edilmiş dünyanın kalıpları üzerinde çalışması.[1]Örgütsel kalıpların da kökleri vardır Kroeber kültürün ve toplumun altında yatan örüntüler üzerine klasik antropolojik metinleri.[2]Sırasıyla, Çevik yazılım geliştirme hareketi ve yazılımın parçalarının oluşturulması için ilham kaynağı oldular. Scrum ve Aşırı Programlama özellikle.

Tarih

Antropolojik literatürde sosyal yapı modellerine erken bir açık atıf bulunabilir.

Modeller, herhangi bir kültüre tutarlılığını veya planını veren ve onu yalnızca rastgele bitlerin birikimi olmaktan alıkoyan iç ilişki düzenlemeleri veya sistemleridir ve bu nedenle birincil öneme sahiptirler.[3]

Kroeber hakkında konuşuyor evrensel desenler tüm insan kültüründe ortak olan bazı genel şemaları tanımlayan; nın-nin sistemik modeller inançlar, davranışlar, işaretler ve ekonomi ile ilgili geniş ancak normatif biçimlerdir; ve toplam kültür örüntüleri yerel olan. Kroeber sistemik kalıpların kültürden kültüre geçebileceğini belirtir:

İkinci tür bir model, bir sistem olarak yararlılığını kanıtlamış olan ve bu nedenle bir bütün olarak uyum ve kalıcı olma eğiliminde olan bir sistem veya kültürel malzeme kompleksinden oluşur; temel planına göre sadece zorlukla değiştirilebilir. Bu tür herhangi bir sistemik model, aslen geçim, din veya ekonomi gibi kültürün bir yönü ile sınırlıdır; ancak bölgesel olarak veya belirli bir kültürle sınırlı değildir; bir insandan diğerine kültürler arası yayılabilir. . . . Bu sistemik kültür kalıplarını - ya da aynı zamanda adlandırılabilecekleri gibi iyi biçimlendirilmiş sistemleri - ayıran şey, bileşen parçalarının belirli bir karşılıklı ilişkisi, onları güçlü bir şekilde bir arada tutan ve temel planı koruma eğiliminde olan bir bağlantı noktasıdır ... bu sistemik kalıpların kalıcılığının bir sonucu olarak, bunların önemi en çok tarihsel bir bakış açısında ortaya çıkar.[4]

Desen yönü Kroeber görüşünün sistem-düşünme modeli görüşüne çok iyi uyuyor Christopher Alexander mimarlık alanında.Alexander'ın kitapları yazılım dünyası için bir ilham kaynağı oldu ve özellikle nesne yönelimli programlama Dünya, yaklaşık 1993'te. Yazılım camiasında tanınmaları anlamında örgütsel kalıplar, bugün ilk olarak orijinal Hillside Group kalıp topluluğuna yol açacak atölye çalışması ve PLoP konferanslar.[5]

Hillside Grubu kalıp kağıtları için bir çağrı gönderdi ve 1994'te Amerika Birleşik Devletleri'nin merkezi Illinois'deki Allerton Park'ta ilk model konferansını yaptı. ikinci konferans, yine Allerton'da, bir yıl sonra takip edecekti. PLoP konferanslar bir avuç organizasyon modeline tanık oldu:

  • RaPPEL model dili (1995) Bruce Whitenack tarafından gereksinimlerin edinilmesine uygun organizasyon yapılarını tanımlamaktadır;[6]
  • Caterpillar'ın, analizden tasarıma evrimi destekleyen organizasyonel yapıları tanımlayan Norm Kerth tarafından yazılan Fate pattern dili (1995);[7]
  • Bir eser James Coplien (1995) Bell Laboratuvarlarında birkaç yıllık organizasyonel araştırmayı anlatıyor;[8]
  • Ward Cunningham (1996) tarafından bugün Çevik yazılım geliştirme olarak adlandıracağımız şeyin kilit noktalarını açıklayan bir kalıp dili olan Episodes;[9]
  • Takımların oluşumu ve işlevi üzerine Neil Harrison (1996) tarafından bir kalıp dili.[10]

Bell Labs Technical Journal'daki organizasyonel modeller yaklaşımının dışlanması da dahil olmak üzere, bundan sonra hızla takip edilen ilgili yayınlar ve takip makalelerinin telaşı,[11]ASE'de davetli bir makale,[12]Alistair Cockburn tarafından hazırlanan bir CACM makalesi[13]ve kısa bir süre sonra Alistair'in kalıp yüklü bir kitabı,[14]yanı sıra Benualdi tarafından bölümler[15]ve Janoff[16]içinde Desenler El Kitabı.Aynı zamanda bu sefer Michael A. Beedle et al. Scrum adı verilen beş yıllık bir yazılım geliştirme çerçevesini kullanan projelerde uygulama için mevcut organizasyonel kalıplara açık uzantıları tanımlayan yayınlanmış kalıplar.[17]Brash ve ark. Tarafından yazılan gibi birkaç makale daha.[18]da görünmeye başladı.

Berczuk ve all tarafından konfigürasyon yönetimi kalıpları üzerine kitabın yayınlanmasına kadar organizasyonel cephede çok az şey oldu;[19]bu, başlangıçta Bell Laboratuvarları'nda odaklanan çabadan kopma çabasıydı.

Bu arada, Jim Coplien ve Neil Harrison örgütsel kalıpları topluyor ve bunları dört kalıp dilinden oluşan bir koleksiyonda birleştiriyordu.Bu kalıpların çoğu, on yıllık bir süre boyunca 120'den fazla kuruluş üzerinde çalışan Bell Laboratories'in orijinal araştırmasına dayanıyordu. yazılım geliştirme organizasyonlarında konu üzerinde rol yapma, sosyodramalarını hatırlatan Moreno orjinal sosyal ağ yaklaşmak.[20]Bununla birlikte, kalıp dili diğer kaynaklardan ve özellikle Cockburn, Berczuk ve Cunningham'ın eserlerinden de önemli girdilere sahipti. Çevik Yazılım Geliştirmenin Örgütsel Kalıpları 2004 yılında.[21]

En yeni örgütsel model makalelerinden biri, erken bir kalıp katkısı ve savunucusu olan nesne tasarımının öncüsü Grady Booch'tan geliyor.[22]

Keşif ve kullanım ilkeleri

Diğer modeller gibi, organizasyonel modeller de yaratılmaz veya icat edilmez: bunlar deneysel gözlem yoluyla keşfedilir (veya "çıkarılır"). Bell Laboratuvarlarında organizasyonel modeller üzerine yapılan ilk çalışmalar, sosyal ağ Bu araştırma, söz konusu organizasyondaki ilişkilerin yapısı hakkında bilgi toplamak için deneysel rol yapma tekniklerini kullandı.Bu yapılar, organizasyon genelinde tekrar eden kalıplar ve organizasyonel hedeflere ulaşmaya katkıları açısından analiz edildi. desen formu ödünleşimlerini ve ayrıntılı tasarım kararlarını (kuvvetleri), uygulandıkları bağlamı ve çözümün genel bir tanımını tanımlamak.

Modeller, organizasyonel gelişime giden aşamalı bir yol sağlar. Bir şeyi inşa etmenin kalıp stili (bu durumda, bir organizasyon):

  1. Kuruluşunuzun en zayıf bölümünü bulun
  2. Güçlendirmesi muhtemel bir model bulun
  3. Deseni uygulayın
  4. İyileşmeyi veya bozulmayı ölçün
  5. Kalıp bazı şeyleri iyileştirdiyse, 1. adıma gidin ve bir sonraki iyileştirmeyi bulun; aksi takdirde, kalıbı geri alın ve bir alternatif deneyin.

Alexander tarzı yazılım mimarisi modellerinde olduğu gibi, organizasyonel modeller desen dilleri: birbiri üzerine inşa edilen desen koleksiyonları.

Bir kalıp dili, mevcut olan bilinen bir dizi çalışma modeli için uygulanacak modelleri önerebilir.

Örgütsel modeller, çevik ve diğer işler

Tarihi Çevik Yazılım Geliştirme ve örgütsel kalıplar başından beri iç içe geçmiş durumda. 1995 yılında Coplien gazetesinin çobanı (etkileşimli örüntü incelemesi) Kent Beck idi. PLoP ve bu çalışmanın etkisinden bahsediyor aşırı programlama 2003 yayınında.[23]Günlük Scrum toplantıları fikri aslında Dr. Dobb's Journal için bir makale taslağından geldi.[24]Borland QPW projesindeki örgütsel kalıp araştırmasını tanımladı.[25]Beedle'ın Sutherland ile ilk çalışması, model perspektifini Scrum tarihine daha sağlam bir şekilde getirdi. Daha yakın zamanlarda, Scrum topluluğu organizasyon modellerine yeni bir ilgi gösterdi[26]ve iki topluluk arasında ileriye dönük ortak araştırmalar var. Bu bağlamda, ilk ScrumPLoP konferans Mayıs 2010'da İsveç'te yapıldı ve her iki ülke tarafından onaylandı. Scrum Alliance ve Hillside Group.

Referanslar

  1. ^ Alexander, Christopher. Bir Desen Dili. Oxford University Press, © 1979.
  2. ^ Kroeber, Alfred L. Antropoloji: Kültür, Modeller ve Süreç. New York: Harcourt, Brace ve Dünya, 1948.
  3. ^ Kroeber, Alfred L. Antropoloji: Kültür, Modeller ve Süreç. New York: Harcourt, Brace ve Dünya, 1948, s. 119
  4. ^ Kroeber, Alfred L. Antropoloji: Kültür, Modeller ve Süreç. New York: Harcourt, Brace and World, 1948, s.120 - 121.
  5. ^ Coplien, James. Kalıp Kültürü. Branislav Lazarevic, ed., Computer Science and Information Systems Journal 1, 2, Belgrad, Sırbistan ve Karadağ, 15 Kasım 2004, ss. 1-26.
  6. ^ Whitenack, Bruce. RAPPeL: nesne yönelimli geliştirme için bir gereksinim analizi-süreç model dili. James Coplien ve Doug Schmidt, editörler, Pattern Languages ​​of Program Design. Addison-Wesley, 1995, s. 259 - 291.
  7. ^ Kerth, Norm. Caterpillar's Fate: analizden tasarıma dönüşüm için bir model dili. James Coplien ve Doug Schmidt, editörler, Pattern Languages ​​of Program Design. Addison-Wesley, 1995, s. 293 - 320.
  8. ^ Coplien, James. Örgütsel Modeller. James Coplien ve Doug Schmidt, editörler, Pattern Languages ​​of Program Design. Addison-Wesley, 1995, s. 183 - 237.
  9. ^ Cunningham, Ward. Bölümler: Rekabetçi gelişimin örüntü dili. Vlissides ve diğerleri, eds., Pattern Languages ​​of Program Design - 2. Addison-Wesley, 1996, s. 371 - 388.
  10. ^ Harrison, Neil. Takımlar için Örgütsel Modeller. Vlissides ve diğerleri, eds., Pattern Languages ​​of Program Design - 2. Addison-Wesley, 1996, s. 345 - 352.
  11. ^ Harrison, Neil B. ve James O. Coplien. Üretken yazılım organizasyonlarının kalıpları. Bell Labs Teknik Dergisi, 1 (1): 138-145, Yaz (Eylül) 1996.
  12. ^ Cain, Brendan G., James O. Coplien ve Neil B. Harrison. Üretken Yazılım Örgütlerinde Sosyal Kalıplar. John T. McGregor, editör, Annals of Software Engineering, 259-286. Baltzer Science Publishers, Amsterdam, Aralık 1996.
  13. ^ Cockburn, Alistair. Sosyal sorunlar ve yazılım mimarisinin etkileşimi. CACM 39 (10), Ekim 1996.
  14. ^ Cockburn, Alistair. Hayatta Kalan Nesne Tabanlı Projeler. Addison-Wesley, 1997.
  15. ^ Genualdi, Patricia. Süreç ve organizasyon modelleriyle yazılım geliştirmeyi iyileştirme. Linda Rising, ed. Desenler El Kitabı. Cambridge University Press, 1998, s. 121 - 129.
  16. ^ Janoff, Norm. AG iletişim sistemlerinde organizasyon modelleri. Linda Rising, ed. Desenler El Kitabı. Cambridge University Press, 1998, s. 131 - 138.
  17. ^ Michael A. Beedle, Martine Devos, Yonat Sharon, Ken Schwaber ve Jeff Sutherland. SCRUM: Hiper-üretken yazılım geliştirme için bir uzantı kalıp dili. Washington Üniversitesi Teknik Raporu TR # WUCS-98-25, 1998.
  18. ^ Brash, Danny, vd. İşletme bilgi yönetimini desteklemek için örgütsel kalıpların değerlendirilmesi. 2000 bilgi kaynakları yönetimi derneği uluslararası konferansının 21. yüzyılda bilgi teknolojisi yönetiminin zorlukları üzerine işlemleri. IGI Publishing, Mayıs 2000.
  19. ^ Berczuk, Steve, Brad Appleton ve Kyle Brown. Yazılım Konfigürasyonu Yönetim Modelleri: Etkili Takım Çalışması, Pratik Entegrasyon. Addison-Wesley, 2003.
  20. ^ Moreno, J. L. Kim hayatta kalacak ?: sosyometri, grup psikoterapisi ve sosyodramanın temelleri. Washington, D.C .: Nervous and Mental Disease Publishing Co., 1934.
  21. ^ Coplien, James ve Neil Harrison. Çevik Yazılım Geliştirme Kalıpları. Addison-Wesley, © 2004.
  22. ^ Booch, Grady. Mimari Örgütsel Modeller. IEEE Yazılımı 25 (3), Mayıs 2008, s. 18 - 19.
  23. ^ Fraser, Steven, Kent Beck, Bill Caputo, Tim Mackinnon, James Newkirk ve Charlie Pool. "Test Güdümlü Geliştirme (TDD)." M. Marchesi ve G. Succi, eds., XP 2003, LNCS 2675, s. 459 - 462, 2003. © Springer-Verlag, Berlin ve Heidelberg, 2003.
  24. ^ Coplien, James O. ve Jon Erickson. Yazılım Geliştirme Sürecinin İncelenmesi. Dr. Dobb's Journal of Software Tools, 19 (11): 88-95, Ekim 1994.
  25. ^ Sutherland, Jeff. Scrum'ın Kökenleri. web sayfası [1], 22 Eylül 2008'de erişildi. 5 Temmuz 2007.
  26. ^ Sutherland, Jeff. Scrum ve Örgütsel Modeller. web sayfası [2], 14 Haziran 2013'te erişildi. 20 Mayıs 2013.