조직 패턴

Organizational patterns

조직 패턴은 소프트웨어 패턴 커뮤니티의 원리에서 많은 부분을 영감을 받아 구축 세계의 패턴에 대한 크리스토퍼 알렉산더의 연구에서 힌트를 얻습니다.[1] 조직 패턴은 또한 문화와 사회의 기초가 되는 패턴에 관한 크로버의 고전 인류학 문헌에 뿌리를 두고 있다.[2] 이들은 Agile 소프트웨어 개발 운동, 특히 Scrum, Extreme Programming의 일부를 만드는 데 영감을 주었습니다.

역사

사회 구조 패턴에 대한 초기의 명시적 인용은 인류학 문헌에서 찾을 수 있다.

패턴은 어떤 문화에든 일관성이나 계획을 부여하고 무작위의 비트의 단순한 축적이 되지 않도록 하는 내부 관계의 배열 또는 시스템입니다.그러므로 그것들은 가장 중요하다.[3]

크로버는 모든 인류 문화에 공통적인 어떤 전체적인 체계를 설명하는 보편적인 패턴, 체계적 패턴은 광범위하지만 신념, 행동, 징후, 그리고 경제와 관련된 규범적인 형태, 그리고 지역적인 전체 문화 패턴에 대해 말한다.Krober는 시스템 패턴이 문화에서 문화로 전달될 수 있다고 말합니다.

두 번째 패턴은 하나의 시스템으로서 효용성을 증명한 하나의 시스템 또는 복합 문화재로 구성되어 있으며, 따라서 하나의 단위로 뭉치고 지속되는 경향이 있다.; 그것은 근본적인 계획에 관해서만 어렵게 수정될 수 있다.그러한 시스템 패턴은 주로 생계, 종교, 경제 등 문화의 한 측면에 한정되어 있지만, 지역적으로 한정되어 있지 않고, 한 민족에서 다른 민족으로 문화적으로 확산될 수 있습니다.이러한 시스템 패턴의 특징 - 또는 그들이 잘 패턴화된 시스템을 구별할 수 있는 것은 무엇인가?또, 컴포넌트 부품의 특정의 상호 관계, 즉 컴포넌트를 강하게 결합하는 결합, 기본 플랜을 유지하는 경향이 있습니다.이러한 체계적 패턴의 지속성 결과, 그 중요성은 역사적 관점에서 가장 뚜렷하게 드러난다.[4]

크로버 관점의 패턴 측면은 건축 분야에서 크리스토퍼 알렉산더의 시스템 사고 패턴 관점에 매우 잘 들어맞습니다.알렉산더의 책은 소프트웨어 세계, 특히 객체 지향 프로그래밍 세계에 1993년경 영감을 주었습니다.오늘날 소프트웨어 커뮤니티에서 인정받는 조직 패턴은 패턴 커뮤니티와 PLoP 컨퍼런스로 이어지는 최초의 힐사이드 그룹 워크숍에서 처음 등장했습니다.[5]

힐사이드 그룹은 패턴 페이퍼를 요청했고 1994년 미국 일리노이 주 중부의 앨러튼 공원에서 첫 패턴 컨퍼런스를 열었다.앨러튼에서 열린 두 번째 회의는 1년 후에 열릴 것이다.처음 2개의 PLoP 회의에서는 몇 가지 조직 패턴이 확인되었습니다.

  • 요건 [6]취득에 적합한 조직 구조를 기술한 Bruce Whitenack의 RaPPEL 패턴 언어(1995년)
  • 분석에서 [7]설계로의 진화를 지원하는 조직 구조를 기술한 Norm Kerth의 Caterpillar's Fate 패턴 언어(1995).
  • Bell [8]Laboratories에서 수년간 조직 연구를 기술한 James Collien(1995년)의 작품.
  • 에피소드: Ward Cunningham(1996)의 패턴 언어로서 오늘날 우리가 애자일 소프트웨어 [9]개발이라고 부르는 요점을 기술하고 있다.
  • 팀의 [10]구성과 기능에 관한 Neil Harrison(1996)의 패턴 언어.

관련 출판물 및 후속 기사들 일련의 빨리 그 후에 벨 연구소 기술 필기장의 조직 패턴 방식의 즉석 연주 등을 따라, 알리스테어 코번[13]에 의한 CACM 기사인데, 그 후에 곧, 알리스테어가pattern-laden 책,[14]뿐만 아니라 chapte[12]항공 구명 장비에 초대 조각[11].Benualdi[15]에 의해 개발'패턴 핸드북'에 '재노프'가 있습니다.마이클 A가 또한 이맘때였다. Beedle 등에서는 Scrum이라고 하는 당시 5년 된 소프트웨어 개발 프레임워크를 사용한 프로젝트에 적용하기 위해 기존 조직 패턴에 대한 명시적 확장을 기술한 패턴을 발표했습니다.[17] Brash 등의 기사도 몇 편 더 실리기 시작했다.

Berczuk et al.의 책이 출판되기 전까지 조직 패턴에서 더 많은 일이 일어났다.이는 원래 Bell Labs를 중심으로 한 작업과는 다른 작업입니다.

그동안 짐 코플린과 닐 해리슨은 조직 패턴을 수집하여 4가지 패턴 언어의 모음으로 결합해 왔다.이러한 패턴의 대부분은 Bell Laboratories가 10년 동안 120개 이상의 조직을 연구한 최초의 연구에 기초하고 있습니다.이러한 경험적 연구는 소프트웨어 개발 조직의 주체 역할극에 기초하고 있으며, 이는 Moreno의 최초 소셜 네트워크 접근법의 사회드라마를 연상시킨다.[20] 그러나 패턴 언어는 다른 소스, 특히 Cockburn, Berczuk 및 Cunningham의 작품들로부터 상당한 입력을 받았다.이 컬렉션은 2004년에 Organizational Patterns of Agile Software Development로 발행되었습니다.[21]

가장 최근의 조직 패턴 기사 중 하나는 초기 패턴 기고가이자 옹호자인 오브젝트 디자인의 선구자 Grady Boch에서 나온 것입니다.[22]

검출과 사용의 원칙

다른 패턴과 마찬가지로 조직 패턴은 만들어지거나 발명되지 않습니다.조직 패턴은 경험적 관찰을 통해 발견(또는 "채취"됨)됩니다.Bell Laboratories의 조직 패턴에 대한 초기 연구는 소셜 네트워크 분석에서 패턴을 추출하는 데 초점을 맞췄다.그 연구는 실험적인 롤플레잉 기법을 사용하여 대상 조직의 관계 구조에 대한 정보를 수집했습니다.이러한 구조는 조직 전체에서 반복되는 패턴과 조직 목표 달성에 대한 기여도를 분석했습니다.반복적인 성공적인 구조물은 솔루션의 일반적인 설명과 함께 트레이드오프와 상세한 설계 결정(힘)을 설명하기 위해 패턴 형태로 작성되었다.

패턴은 조직 개선을 위한 증분 경로를 제공합니다.무엇인가(이 경우 조직)를 구축하는 패턴 스타일은 다음과 같습니다.

  1. 조직의 가장 취약한 부분을 찾아내다
  2. 그것을 강화할 것 같은 패턴을 발견하다
  3. 패턴을 적용하다
  4. 개선 또는 열화 측정
  5. 패턴이 개선된 경우 1단계로 이동하여 다음 개선사항을 찾습니다.그렇지 않은 경우 패턴을 원래대로 되돌리고 다른 방법을 시도해 보십시오.

Alexander 스타일의 소프트웨어 아키텍처 패턴과 마찬가지로 조직 패턴은 패턴 언어(서로 구축된 패턴 집합)로 구성할 수 있습니다.

패턴 언어는 존재하는 기존의 작업 패턴 세트에 적용할 패턴을 제안할 수 있습니다.

조직 패턴, 민첩성 및 기타 작업

애자일 소프트웨어 개발과 조직 패턴의 역사는 처음부터 얽혀 있습니다.Kent Beck는 1995년 PLoP의 Collien 논문의 셰퍼드(인터랙티브 패턴 리뷰어)였으며, 2003년 출판물에서 이 작업이 극단적인 프로그래밍에 미치는 영향을 언급했습니다.[23] 사실 매일 Scrum 미팅을 하는 아이디어는 Dobb's Journal의 기사에서 나온 것으로, Dobb's Journal은 볼랜드 QPW 프로젝트의 조직 패턴 연구를 기술하고 있습니다.[25] Beedle의 Sutherland의 초기 연구는 Scrum의 역사에 패턴의 관점을 더욱 확고하게 가져왔다.최근 Scrum 커뮤니티는 조직 패턴에 대한 새로운 관심을 갖게 되었고, 두 커뮤니티 간에 공동 연구가 진행 중입니다.이런 맥락에서 첫 번째 스크럼은PLoP 컨퍼런스는 2010년 5월 스웨덴에서 Scrum Alliance와 힐사이드 그룹 양쪽에 의해 승인되었다.

레퍼런스

  1. ^ 알렉산더, 크리스토퍼패턴 언어옥스포드 대학 출판부, ©198.
  2. ^ 크로버, 알프레드 L.인류학:문화, 패턴 및 프로세스.뉴욕: 하코트, 브레이스 앤 월드, 1948년.
  3. ^ 크로버, 알프레드 L.인류학:문화, 패턴 및 프로세스.뉴욕: 하코트, 브레이스 앤 월드, 1948, 페이지 119
  4. ^ 크로버, 알프레드 L.인류학:문화, 패턴 및 프로세스.뉴욕: 하코트, 브레이스 앤 월드, 1948, 페이지 120 - 121.
  5. ^ 콜린, 제임스패턴의 문화.Branislav Lazarevic, ed, 컴퓨터 과학 및 정보 시스템 저널 1, 2, 베오그라드, 세르비아 및 몬테네그로, 2004년 11월 15일 페이지 1-26.
  6. ^ 휘트넥, 브루스RAPPeL: 객체 지향 개발을 위한 요구사항 분석 프로세스 패턴 언어.James Coplien과 Doug Schmidt, Ed.에서 프로그램 설계의 패턴 언어.애디슨-웨슬리, 1995년, 페이지 259 - 291
  7. ^ 커스, 노먼캐터필러의 운명: 분석에서 디자인으로의 전환을 위한 패턴 언어.James Coplien과 Doug Schmidt, Ed.에서 프로그램 설계의 패턴 언어.애디슨-웨슬리, 1995년, 페이지 293 - 320
  8. ^ 콜린, 제임스조직 패턴James Coplien과 Doug Schmidt, Ed.에서 프로그램 설계의 패턴 언어.애디슨-웨슬리, 1995년, 페이지 183-237
  9. ^ 커닝햄, 워드에피소드: 경쟁력 있는 발전의 패턴 언어.Vlissides et al., ed.에서 프로그램 설계의 패턴 언어 - 2.애디슨-웨슬리, 1996, 371 - 388페이지
  10. ^ 해리슨, 닐팀의 조직 패턴.Vlissides et al., ed.에서 프로그램 설계의 패턴 언어 - 2.애디슨-웨슬리, 1996, 페이지 345 - 352
  11. ^ 해리슨, 닐 B, 제임스 O.코플린생산성이 높은 소프트웨어 조직의 패턴.Bell Labs Technical Journal, 1 (1):138-145, 1996년 여름(9월)
  12. ^ 케인, 브렌던 G, 제임스 O코플린과 닐 B.해리슨.생산적인 소프트웨어 조직의 사회 패턴.소프트웨어 엔지니어링 연보(Annals of Software Engineering), 편집자 John T. McGregor, 259-286.1996년 12월 암스테르담 발처 과학 출판사
  13. ^ 콕번, 알리스테어사회적 문제와 소프트웨어 아키텍처의 상호작용.CACM 39(10), 1996년 10월.
  14. ^ 콕번, 알리스테어오브젝트 지향 프로젝트의 존속.애디슨 웨슬리, 1997년
  15. ^ 게누알디, 패트리샤프로세스 및 조직 패턴으로 소프트웨어 개발을 개선합니다.린다 라이징, 에드패턴 핸드북.케임브리지 대학 출판부, 1998, 페이지 121 - 129.
  16. ^ 재노프, 노먼AG 통신 시스템의 조직 패턴.린다 라이징, 에드패턴 핸드북.케임브리지 대학 출판부, 1998, 페이지 131 - 138.
  17. ^ 마이클 A.비들, 마틴 데보스, 요나트 샤론, 켄 슈워버, 제프 서덜랜드.SCRUM: 매우 생산적인 소프트웨어 개발을 위한 확장 패턴 언어입니다.Washington University Technical Report TR #WUCS-98-25, 1998.
  18. ^ 브래쉬, 대니 등비즈니스 지식 관리를 지원하기 위한 조직 패턴 평가2000년 정보자원관리협회 21세기 IT관리 과제 국제회의의 진행.IGI출판, 2000년 5월
  19. ^ 버추크, 스티브, 브래드 애플턴, 카일 브라운.소프트웨어 구성 관리 패턴: 효과적인 팀워크, 실용적인 통합.애디슨 웨슬리, 2003년
  20. ^ 모레노, J.L. 누가 살아남을까?사회측정학, 집단심리치료, 사회극의 기초.워싱턴 D.C.:1934년 신경정신질환출판사
  21. ^ 콜린, 제임스, 닐 해리슨입니다신속한 변화를 위한 소프트웨어 개발 패턴.애디슨-웨슬리, © 2004.
  22. ^ 부치, 그래디아키텍처의 조직 패턴.IEEE 소프트웨어 25(3), 2008년 5월, 페이지 18 - 19.
  23. ^ 프레이저, 스티븐, 켄트 벡, 빌 카푸토, 팀 맥키넌, 제임스 뉴커크, 찰리 풀."시험 주도 개발(TDD)" M. Marchi와 G.Suci, ed., XP 2003, LNCS 2675, 페이지 459 - 462, 2003.© Springer-Verlag, 베를린 및 하이델베르크, 2003.
  24. ^ 콜린, 제임스 O, 그리고 존 에릭슨입니다소프트웨어 개발 프로세스를 조사합니다.돕 박사의 소프트웨어 도구 저널, 19(11):88-95, 1994년 10월.
  25. ^ 서덜랜드, 제프스크럼의 기원.페이지 [1], 2008년 9월 22일 접속.2007년 7월 5일
  26. ^ 서덜랜드, 제프스크럼과 조직 패턴.웹 페이지 [2], 2013년 6월 14일 액세스.2013년 5월 20일