Организационные модели - Organizational patterns

Организационные модели в значительной степени вдохновлены принципами сообщества шаблонов программного обеспечения, которое, в свою очередь, берет его за основу Кристофер Александр Работаем по образцам построенного мира.[1]Организационные модели также уходят корнями в Крёбер классические антропологические тексты о закономерностях, лежащих в основе культуры и общества.[2]Они, в свою очередь, послужили источником вдохновения для движения Agile-разработки программного обеспечения и для создания частей Scrum и из Экстремальное программирование особенно.

История

Ранние явные ссылки на модели социальной структуры можно найти в антропологической литературе.

Паттерны - это такие устройства или системы внутренних отношений, которые придают любой культуре ее согласованность или план и не дают ей быть простым скоплением случайных фрагментов. Поэтому они имеют первостепенное значение.[3]

Крёбер говорит о универсальные узоры которые описывают некую общую схему, общую для всей человеческой культуры; из системные модели являются широкими, но нормативными формами, касающимися убеждений, поведения, знаков и экономики; и общие образцы культуры это местные. Крёбер отмечает, что системные модели могут переходить от культуры к культуре:

Паттерн второго типа состоит из системы или комплекса культурного материала, который доказал свою полезность как систему и, следовательно, имеет тенденцию к согласованию и сохранению как единое целое; его можно изменить только с трудом в отношении лежащего в его основе плана. Любая такая системная модель ограничена в первую очередь одним аспектом культуры, например, средствами существования, религией или экономикой; но это не ограничено территориально или одной конкретной культурой; он может передаваться межкультурно, от одного народа к другому. . . . Что отличает эти системные паттерны культуры - или хорошо структурированные системы, как их можно было бы также назвать - это особая взаимосвязь их составных частей, связь, которая прочно скрепляет их вместе и стремится сохранить основной план ... В результате сохранения этих системных паттернов их значение становится наиболее очевидным с исторической точки зрения.[4]

Паттерн аспект Крёбер точка зрения очень хорошо согласуется с представлением модели системного мышления Кристофер Александр в области архитектуры. Книги Александра стали источником вдохновения для мира программного обеспечения, и в частности для объектно-ориентированного программирования примерно в 1993 г. Организационные шаблоны в том смысле, в котором они признаются в современном сообществе разработчиков программного обеспечения, впервые появились на первоначальной Hillside Group семинар, который приведет к сообществу моделей и его PLoP конференции.[5]

Группа Hillside разослал призыв к шаблонам документов и в 1994 году провел первую конференцию по шаблонам в Аллертон-парке в центральном Иллинойсе, США. Вторая конференция, также в Аллертоне, последовала через год. PLoP конференции стали свидетелями нескольких организационных моделей:

  • Язык шаблонов RaPPEL (1995) Брюса Уитенака, описывающий организационные структуры, подходящие для получения требований;[6]
  • Язык паттернов Caterpillar's Fate (1995) Норма Керт, описывающий организационные структуры, поддерживающие эволюцию от анализа к дизайну;[7]
  • Работа Джеймс Коплиен (1995) описывая несколько лет организационных исследований в Bell Laboratories;[8]
  • Episodes, язык шаблонов Уорда Каннингема (Ward Cunningham, 1996), описывающий ключевые моменты того, что сегодня мы бы назвали Agile-разработкой программного обеспечения;[9]
  • Язык шаблонов Нила Харрисона (1996) о формировании и функционировании команд.[10]

Вскоре после этого последовал поток связанных публикаций и последующих статей, включая импровизированный подход к организационным моделям в Техническом журнале Bell Labs,[11]приглашенная работа в ASE,[12]статья CACM Алистера Кокберна[13]и, вскоре после этого, полная выкройка книга Алистера,[14]а также главы Бенуальди[15]и Янов[16]в Справочник по выкройкам.Примерно в это же время Майкл А. Бидл и другие. опубликованные шаблоны, в которых описаны явные расширения существующих организационных шаблонов для применения в проектах, использующих пятилетнюю структуру разработки программного обеспечения под названием Scrum.[17]Еще несколько статей, например, Brash et al.[18]тоже начали появляться.

Немногое больше происходило на фронте организационных шаблонов до публикации книги Беркзука и всех о шаблонах управления конфигурациями;[19]это был отход от усилий, изначально сосредоточенных в Bell Labs.

В это время, Джим Коплиен и Нил Харрисон собирали организационные шаблоны и объединяли их в коллекцию из четырех языков шаблонов. Большинство из этих шаблонов были основаны на оригинальном исследовании Bell Laboratories, которое изучало более 120 организаций в течение десятилетия. Эти эмпирические исследования были основаны на о предметной ролевой игре в организациях, занимающихся разработкой программного обеспечения, напоминающей социодрамы Морено оригинальный социальная сеть подход.[20]Тем не менее, язык шаблонов также получил существенный вклад из других источников, в частности из работ Кокберна, Берчука и Каннингема. Организационные шаблоны гибкой разработки программного обеспечения в 2004 г.[21]

Одна из последних статей об организационных шаблонах принадлежит одному из первых авторов и защитников шаблонов, пионеру объектного дизайна Грэди Буча.[22]

Принципы открытия и использования

Как и другие паттерны, организационные паттерны не создаются и не изобретаются: они открываются (или «добываются») на основе эмпирических наблюдений. Ранняя работа над организационными паттернами в Bell Laboratories была сосредоточена на извлечении паттернов из социальная сеть В этом исследовании использовались эмпирические ролевые методы для сбора информации о структуре взаимоотношений в рассматриваемой организации. Эти структуры были проанализированы на предмет повторяющихся закономерностей в организации и их вклада в достижение целей организации. Повторяющиеся успешные структуры были описаны в форма образца чтобы описать их компромиссы и подробные проектные решения (силы), контекст, в котором они применяются, а также общее описание решения.

Шаблоны обеспечивают постепенный путь к улучшению организации. Шаблонный стиль построения чего-либо (в данном случае организации):

  1. Найдите самую слабую часть вашей организации
  2. Найдите образец, который может усилить его
  3. Примените узор
  4. Измерьте улучшение или ухудшение
  5. Если шаблон улучшил ситуацию, перейдите к шагу 1 и найдите следующее улучшение; в противном случае отмените шаблон и попробуйте альтернативный вариант.

Как и в случае с шаблонами архитектуры программного обеспечения в стиле Александра, организационные шаблоны могут быть организованы в языки шаблонов: коллекции шаблонов, которые дополняют друг друга.

Язык шаблонов может предлагать шаблоны, которые следует применять для известного набора имеющихся рабочих шаблонов.

Организационные шаблоны, гибкая разработка и прочая работа

История Гибкая разработка программного обеспечения и организационные шаблоны были переплетены с самого начала. Кент Бек был пастырем (рецензентом интерактивных шаблонов) статьи Коплиена за 1995 год. PLoP, и он упоминает влияние этой работы на экстремальное программирование в публикации 2003 года.[23]Идея ежедневных скрам-встреч на самом деле возникла из черновика статьи для журнала доктора Добба.[24]в котором описывается исследование организационных моделей проекта Borland QPW.[25]Ранняя работа Бидла с Сазерлендом позволила более прочно закрепить перспективу паттернов в истории Скрама. В последнее время сообщество Скрама проявило вновь обретенный интерес к организационным паттернам.[26]Между двумя сообществами ведутся совместные исследования. В этом ключе первый ScrumPLoP конференция прошла в Швеции в мае 2010 г., санкционированная Scrum Alliance и Hillside Group.

Рекомендации

  1. ^ Александр, Кристофер. Язык шаблонов. Издательство Оксфордского университета, © 1979.
  2. ^ Крёбер, Альфред Л. Антропология: культура, модели и процесс. Нью-Йорк: Harcourt, Brace and World, 1948.
  3. ^ Крёбер, Альфред Л. Антропология: культура, модели и процесс. Нью-Йорк: Harcourt, Brace and World, 1948, стр. 119
  4. ^ Крёбер, Альфред Л. Антропология: культура, модели и процесс. Нью-Йорк: Harcourt, Brace and World, 1948, стр. 120 - 121.
  5. ^ Коплиен, Джеймс. Культура узоров. В Браниславе Лазаревиче, изд., Журнал компьютерных наук и информационных систем 1, 2, Белград, Сербия и Черногория, 15 ноября 2004 г., стр. 1-26.
  6. ^ Whitenack, Брюс. RAPPeL: язык шаблонов процесса анализа требований для объектно-ориентированной разработки. В книге Джеймса Коплиена и Дуга Шмидта, ред., Языки шаблонов проектирования программ. Аддисон-Уэсли, 1995, стр. 259 - 291.
  7. ^ Керт, Норм. Caterpillar's Fate: язык шаблонов для перехода от анализа к дизайну. В книге Джеймса Коплиена и Дуга Шмидта, ред., Языки шаблонов проектирования программ. Эддисон-Уэсли, 1995, стр. 293 - 320.
  8. ^ Коплиен, Джеймс. Организационные шаблоны. В Джеймс Коплиен и Дуг Шмидт, ред., Языки шаблонов проектирования программ. Аддисон-Уэсли, 1995, стр. 183 - 237.
  9. ^ Каннингем, Уорд. Эпизоды: язык шаблонов конкурентного развития. В Vlissides et al., Eds., Pattern Languages ​​of Program Design - 2. Addison-Wesley, 1996, pp. 371 - 388.
  10. ^ Харрисон, Нил. Организационные шаблоны для команд. В Vlissides et al., Eds., Pattern Languages ​​of Program Design - 2. Addison-Wesley, 1996, pp. 345–352.
  11. ^ Харрисон, Нил Б. и Джеймс О. Коплиен. Паттерны продуктивных программных организаций. Технический журнал Bell Labs, 1 (1): 138-145, лето (сентябрь) 1996 г.
  12. ^ Каин, Брендан Г., Джеймс О. Коплиен и Нил Б. Харрисон. Социальные модели в организациях, производящих программное обеспечение. В книге Джона Т. МакГрегора, редактора, Annals of Software Engineering, 259-286. Издательство Baltzer Science Publishers, Амстердам, декабрь 1996 г.
  13. ^ Кокберн, Алистер. Взаимодействие социальных проблем и архитектуры программного обеспечения. CACM 39 (10), октябрь 1996 г.
  14. ^ Кокберн, Алистер. Выживание объектно-ориентированных проектов. Аддисон-Уэсли, 1997.
  15. ^ Дженуальди, Патрисия. Улучшение разработки программного обеспечения с помощью процессов и организационных шаблонов // Линда Райзинг, изд. Справочник по выкройкам. Издательство Кембриджского университета, 1998, стр. 121 - 129.
  16. ^ Янофф, Норм. Организационные модели в коммуникационных системах AG // Линда Райзинг, ред. Справочник по выкройкам. Издательство Кембриджского университета, 1998, стр. 131 - 138.
  17. ^ Майкл А. Бидл, Мартина Девос, Йонат Шарон, Кен Швабер и Джефф Сазерленд. SCRUM: язык шаблонов расширения для гиперпродуктивной разработки программного обеспечения. Технический отчет Вашингтонского университета TR # WUCS-98-25, 1998.
  18. ^ Браш, Дэнни и др. Оценка организационных моделей для поддержки управления бизнес-знаниями. Материалы международной конференции ассоциации управления информационными ресурсами 2000 г. «Проблемы управления информационными технологиями в 21 веке». Издательство IGI, май 2000 г.
  19. ^ Беркзук, Стив, Брэд Эпплтон и Кайл Браун. Шаблоны управления конфигурацией программного обеспечения: эффективная работа в команде, практическая интеграция. Аддисон-Уэсли, 2003.
  20. ^ Морено, Дж. Л. Кто выживет?: Основы социометрии, групповой психотерапии и социодрамы. Вашингтон, округ Колумбия: издательство Nervous and Mental Disease Publishing Co., 1934.
  21. ^ Коплиен, Джеймс и Нил Харрисон. Паттерны гибкой разработки программного обеспечения. Аддисон-Уэсли, © 2004.
  22. ^ Буч, Гради, Архитектурные организационные шаблоны, IEEE Software 25 (3), май 2008 г., стр. 18-19.
  23. ^ Фрейзер, Стивен, Кент Бек, Билл Капуто, Тим Маккиннон, Джеймс Ньюкирк и Чарли Пул. «Разработка через тестирование (TDD)». В M. Marchesi и G. Succi, ред., XP 2003, LNCS 2675, стр. 459 - 462, 2003. © Springer-Verlag, Berlin and Heidelberg, 2003.
  24. ^ Коплиен, Джеймс О. и Джон Эриксон. Изучение процесса разработки программного обеспечения. Журнал программных средств доктора Добба, 19 (11): 88-95, октябрь 1994 г.
  25. ^ Сазерленд, Джефф. Истоки Scrum. страница в Интернете [1], по состоянию на 22 сентября 2008 г. 5 июля 2007 г.
  26. ^ Сазерленд, Джефф. Scrum и организационные шаблоны. страница в Интернете [2], по состоянию на 14 июня 2013 г. 20 мая 2013 г.