الأنماط التنظيمية

الأنماط التنظيمية مستوحاة إلى حد كبير من مبادئ مجتمع أنماط البرمجيات، والتي بدورها تأخذ دلالاتها من أعمال عمل كريستوفر الكسندر في أنماط العالم المبني. وللأنماط التنظيمية أيضًا جذور في النصوص الأنثروبولوجية الكلاسيكية لكروبر حول الأنماط التي تكمن وراء الثقافة والمجتمع. وقد قدموا بدورهم الإلهام لحركة تطوير البرمجيات السريعة، والبرمجة القصوى.

التاريخ
يمكن العثور على اقتباس صريح مبكر لأنماط البنية الاجتماعية في الأدبيات الأنثروبولوجية. الأنماط هي تلك الترتيبات أو الأنظمة للعلاقة الداخلية التي تعطي لأي ثقافة تماسكها أو خطتها، وتمنعها من أن تكون مجرد تراكم للبتات العشوائية. لذلك فهي ذات أهمية قصوى.

يتحدث كروبر عن الأنماط العالمية التي تصف المخطط العام المشترك لجميع الثقافات البشرية؛ أنماط منهجية واسعة ولكنها أشكال معيارية تتعلق بالمعتقدات والسلوكيات والعلامات والاقتصاد؛ وأنماط الثقافة الكلية المحلية. يلاحظ كروبر أن الأنماط النظامية يمكن أن تنتقل من ثقافة إلى أخرى.

يتكون النوع الثاني من النمط من نظام أو معقد من المواد الثقافية التي أثبتت فائدتها كنظام وبالتالي تميل إلى التماسك والاستمرار كوحدة واحدة؛ يمكن تعديله فقط بصعوبة من حيث خطته الأساسية. أي نمط منهجي واحد من هذا القبيل يقتصر في المقام الأول على جانب واحد من الثقافة، مثل الكفاف أو الدين أو الاقتصاد؛ لكنها لا تقتصر على المساحة أو على ثقافة معينة؛ يمكن نشرها عبر الثقافات، من شعب إلى آخر. . . . ما يميز هذه الأنماط المنهجية للثقافة - أو الأنظمة جيدة التنميط، كما يمكن تسميتها أيضًا - العلاقة المتبادلة المحددة لأجزاءها المكونة، وهي الرابطة التي تربطها ببعضها البعض بقوة، وتميل إلى الحفاظ على الخطة الأساسية... نتيجة لاستمرار هذه الأنماط النظامية، تصبح أهميتها أكثر وضوحًا من وجهة نظر تاريخية.

يتناسب جانب النمط في وجهة نظر كروبر بشكل جيد مع عرض نمط تفكير النظم لكريستوفر ألكسندر في مجال الهندسة المعمارية. أصبحت كتب ألكسندر مصدر إلهام لعالم البرمجيات، وعلى وجه الخصوص لعالم البرمجة الموجهة للكائنات، في حوالي عام 1993. ظهرت الأنماط التنظيمية بشكل معترف به في مجتمع البرمجيات اليوم، لأول مرة في ورشة العمل الأصلية لمجموعة هيل سايد الخاصة   التي من شأنها المجتمع الحالي للانماط والمؤتمرات المتعلقة به. 

لقد اطلقت هيل سايد دعوة لعمل أوراق بحثيه للانماط وفي عام 1994 عقدت أول مؤتمر للانماط في الترون بارك في وسط الينوي. وبعد عام عقد المؤتمر الثاني في الترن أيضا شهد هذان المؤتمران الاولان عدد لا بأس به من الأنماط التنظيمية.

  لغة نمط RaPPEL (1995) بواسطة Bruce Whitenack التي وصفت الهياكل التنظيمية المناسبة لاكتساب المتطلبات

  لغة نمط مصير كاتربيلر (1995) بواسطة نورم كيرث التي وصفت الهياكل التنظيمية التي تدعم التطور من التحليل إلى التصميم؛ 

 أعمال لجيمس كوبلين (1995) يصف عدة سنوات من البحث التنظيمي في مختبرات بيل؛

 الحلقات، وهي لغة نمطية كتبها وارد كننغهام (1996) تصف النقاط الرئيسية لما نسميه اليوم تطوير البرمجيات الرشيقة

 لغة نمطية لنيل هاريسون (1996) حول تشكيل ووظيفة المصطلحات 

تلا ذلك سلسلة من المنشورات ذات الصلة ومقالات بسرعة بعد ذلك، بما في ذلك الارتجال لنهج الأنماط التنظيمية في مجلة Bell Labs Technical Journal ، مقال مدعو في ASE ، مقال CACM بقلم أليستير كوكبيرن  وبعد ذلك بوقت قصير، كتاب مليء بالنمط من تأليف أليستير، بالإضافة إلى فصول لبينوالدي وجانوف في دليل الأنماط. وفي هذا الوقت أيضًا، قام مايكل أ. بيدل وآخرون. الأنماط المنشورة التي تصف الامتدادات الواضحة للأنماط التنظيمية الحالية، للتطبيق في المشاريع باستخدام إطار تطوير برمجيات عمره خمس سنوات يسمى Scrum. عدد قليل من المقالات، مثل مقال براش وآخرون. بدأ أيضًا في الظهور.

لقد ظهر المزيد عن الأنماط التنظيمية حتى نشر كتاب Berczuk وآخرون عن أنماط إدارة التكوين؛ [19] كان هذا جهدًا قطعًا عن الجهد الذي تركز في الأصل في مختبرات بيل.

في غضون ذلك، كان جيم كوبلين ونيل هاريسون يجمعان الأنماط التنظيمية ويجمعانها في مجموعة من أربع لغات نمطية. استندت معظم هذه الأنماط إلى البحث الأصلي من مختبرات بيل، والتي درست أكثر من 120 منظمة على مدار عقد من الزمان. استندت هذه الدراسات التجريبية على لعب الأدوار الموضوعية في منظمات تطوير البرمجيات، تذكرنا بالدراما الاجتماعية لنهج الشبكة الاجتماعية الأصلي لمورينو. ومع ذلك، فإن لغة النمط كان لها أيضًا مدخلات كبيرة من مصادر أخرى وخاصة أعمال كوكبيرن، بيركزوك، وكانينغهام. تم نشر هذه المجموعة باسم الأنماط التنظيمية لتطوير البرمجيات الرشيقة في عام 2004

تأتي واحدة من أحدث مقالات النمط التنظيمي من أحد المساهمين الأوائل في الأنماط والداعية، رائد تصميم الكائنات Grady Booch.

مبادئ الاكتشاف والاستخدام

مثل الأنماط الأخرى، لا يتم إنشاء أو اختراع الأنماط التنظيمية: يتم اكتشافها (أو "تنقيبها") من الملاحظة التجريبية. ركز العمل المبكر على الأنماط التنظيمية في مختبرات بيل على استخراج الأنماط من تحليل الشبكات الاجتماعية. استخدم هذا البحث تقنيات لعب الأدوار التجريبية لجمع معلومات حول بنية العلاقات في المنظمة المعنية. تم تحليل هذه الهياكل للأنماط المتكررة عبر المنظمة ومساهمتها في تحقيق الأهداف التنظيمية. تمت كتابة الهياكل الناجحة المتكررة على شكل نموذج لوصف المقايضات وقرارات التصميم التفصيلية (القوى)، والسياق الذي تنطبق فيه، إلى جانب وصف عام للحل.

توفر الأنماط مسارًا تدريجيًا متزايدا للتحسين التنظيمي. نمط بناء شيء ما (في هذه الحالة، منظمة) هو:

 ابحث عن أضعف جزء في مؤسستك
 ابحث عن نمط من المرجح أن يقويها
 تطبيق النمط
 قياس التحسن أو التدهور
 إذا أدى النمط إلى تحسين الأشياء، فانتقل إلى الخطوة 1 وابحث عن التحسين التالي؛ خلاف ذلك، التراجع عن النمط وتجربة نمطا بديلًا.

كما هو الحال مع أنماط هندسة البرمجيات بأسلوب الإسكندر، يمكن تنظيم الأنماط التنظيمية في لغات نمطية: مجموعات من الأنماط التي تعتمد على بعضها البعض.

يمكن أن تقترح لغة النمط الأنماط التي سيتم تطبيقها على مجموعة معروفة من أنماط العمل الموجودة.

الأنماط التنظيمية، السرعة في الاداء، وأعمال أخرى

لقد كان تاريخ تطوير البرمجيات السريعه والأنماط التنظيمية متشابكين منذ البداية. كان كينت بيك الراعي (مراجع النمط التفاعلي) لورقة كوبلين لعام 1995 PLoP ، وقد ذكر تأثير هذا العمل على البرمجة المتطرفة في منشور عام 2003. جاءت فكرة اجتماعات سكرم اليومية في الواقع من مسودة مقالة لمجلة دكتور دوب  والتي وصفت الأنماط التنظيمية لأبحاث مشروع بورلاند QPW. عمل Beedle المبكر مع Sutherland جعل منظور النمط أكثررسوخا في تاريخ Scrum. في الآونة الأخيرة، أخذ مجتمع سكرم اهتمامًا جديدًا في الأنماط التنظيمية وهناك بحث مشترك يمضي قدمًا بين المجتمعين. في هذا السياق، انعقد أول مؤتمر لـ ScrumPLoP في السويد في مايو 2010، بموافقة كل من Scrum Alliance و Hillside Group

المراجع

 ^ Kroeber, Alfred L. Anthropology: Culture, Patterns, and Process. New York: Harcourt, Brace and World, 1948, p. 119
 ^ Kroeber, Alfred L. Anthropology: Culture, Patterns, and Process. New York: Harcourt, Brace and World, 1948, pp. 120 - 121.
 ^ Coplien, James. The Culture of Patterns. In Branislav Lazarevic, ed., Computer Science and Information Systems Journal 1, 2, Belgrade, Serbia and Montenegro, November 15, 2004, pp. 1-26.
 ^ Whitenack, Bruce. RAPPeL: a requirements-analysis-process pattern language for object-oriented development. In James Coplien and Doug Schmidt, eds., Pattern Languages of Program Design. Addison-Wesley, 1995, pp. 259 - 291.
 ^ Kerth, Norm. Caterpillar's Fate: a pattern language for the transformation from analysis to design. In James Coplien and Doug Schmidt, eds., Pattern Languages of Program Design. Addison-Wesley, 1995, pp. 293 - 320.
 ^ Coplien, James. Organizational Patterns. In James Coplien and Doug Schmidt, eds., Pattern Languages of Program Design. Addison-Wesley, 1995, pp. 183 - 237.
 ^ Cunningham, Ward. Episodes: a pattern language of competitive development. In Vlissides et al., eds., Pattern Languages of Program Design - 2. Addison-Wesley, 1996, pp. 371 - 388.
 ^ Harrison, Neil. Organizational Patterns for Teams. In Vlissides et al., eds., Pattern Languages of Program Design - 2. Addison-Wesley, 1996, pp. 345 - 352.
 ^ Harrison, Neil B. and James O. Coplien. Patterns of productive software organizations. Bell Labs Technical Journal, 1(1):138-145, Summer (September) 1996.
 ^ Cain, Brendan G., James O. Coplien, and Neil B. Harrison. Social Patterns in Productive Software Organizations. In John T. McGregor, editor, Annals of Software Engineering, 259-286. Baltzer Science Publishers, Amsterdam, December 1996.
 ^ Cockburn, Alistair. The interaction of social issues and software architecture. CACM 39(10), October 1996.
 ^ Cockburn, Alistair. Surviving Object-Oriented Projects. Addison-Wesley, 1997.
 ^ Genualdi, Patricia. Improving software development with process and organizational patterns. In Linda Rising, ed. The Patterns Handbook. Cambridge University Press, 1998, pp. 121 - 129.
 ^ Janoff, Norm. Organizational patterns at AG communication systems. In Linda Rising, ed. The Patterns Handbook. Cambridge University Press, 1998, pp. 131 - 138.
 ^ Michael A. Beedle, Martine Devos, Yonat Sharon, Ken Schwaber, and Jeff Sutherland. SCRUM: An extension pattern language for hyperproductive software development. Washington University Technical Report TR #WUCS-98-25, 1998.
 ^ Brash, Danny, et al. Evaluating organizational patterns for supporting business knowledge management. Proceedings of the 2000 information resources management association international conference on Challenges of information technology management in the 21st century. IGI Publishing, May 2000.
 ^ Berczuk, Steve, Brad Appleton and Kyle Brown. Software Configuration Management Patterns: Effective Teamwork, Practical Integration. Addison-Wesley, 2003.
 ^ Moreno, J. L. Who shall survive?: foundations of sociometry, group psychotherapy and sociodrama. Washington, D.C.: Nervous and Mental Disease Publishing Co., 1934.
 ^ Coplien, James and Neil Harrison. Patterns of Agile Software Development. Addison-Wesley, ©2004.
 ^ Booch, Grady. Architectural Organizational Patterns. IEEE Software 25(3), May 2008, pp. 18 - 19.
 ^ Fraser, Steven, Kent Beck, Bill Caputo, Tim Mackinnon, James Newkirk and Charlie Pool. "Test Driven Development (TDD)." In M. Marchesi and G. Succi, eds., XP 2003, LNCS 2675, pp. 459 — 462, 2003. © Springer-Verlag, Berlin and Heidelberg, 2003.
 ^ Coplien, James O., and Jon Erickson. Examining the Software Development Process. Dr. Dobb's Journal of Software Tools, 19(11):88-95, October 1994.
 ^ Sutherland, Jeff. Origins of Scrum. Web page [1], accessed 22 September 2008. July 5, 2007.
 ^ Sutherland, Jeff. Scrum and Organizational Patterns. Web page [2], accessed 14 June 2013. May 20, 2013.

أنماط