콘텐츠로 이동

DEMO 트랜잭션 패턴

DEMO transaction pattern

디츠의 DEMO 트랜잭션 패턴은 조직의 모든 업무 단위가 요청-약속-실행-선언-수용이라는 화행 연쇄와 그 실패 분기로 이뤄진다고 보는 기업 온톨로지의 핵심 패턴이다.

성숙도 상록

용어와 역어

경쟁 역어: 기본 트랜잭션 패턴

DEMO는 Design and Engineering Methodology for Organizations의 두문자다. 정착 역어가 없어 원어를 그대로 쓴다.

관련 개념

  • 전제 화행론요청·약속·선언·수용은 전부 수행문이다. 발화가 의무를 만든다는 전제가 없으면 패턴의 단계들이 정의되지 않는다.
  • 관련 사회적 언약언약이 명사라면 트랜잭션 패턴은 그 명사의 동사들이다. 같은 대상을 한쪽은 자료구조로, 한쪽은 상태기계로 적었다.
  • 관련 제도적 사실수용 단계가 끝나야 "이행됐다"는 제도적 사실이 성립한다. 수행자의 선언만으로는 사실이 되지 않는다.
  • 관련 업무흐름망요청부터 수용까지의 화행 연쇄를 상태 전이로 옮기면 한 업무의 실행망이 된다. 업무흐름망은 실패 분기를 포함한 그 망이 끝까지 닫히는지 검사한다.
이 문서를 가리키는 글 3개
  • 관련 화행론화행론이 기업 공학으로 건너간 지점이다. 요청·약속·선언·수용이라는 수행문 연쇄가 업무의 최소 단위가 된다.
  • 관련 업무 원장한 업무의 수명과 실패 분기가 이 패턴이다. 거절은 인식 없음, 반려는 부채의 부활, 철회는 상각으로 — 분기마다 분개가 정해진다.
  • 관련 업무흐름망DEMO가 한 업무의 요청·약속·실행·선언·수용을 정의한다면, 업무흐름망은 그 상태 전이가 끝까지 도달하고 서로 막지 않는지 검사한다.

위노그라드와 플로레스는 조직을 정보처리 시스템이 아니라 언어로 생성된 약속의 네트워크로 보자고 제안했다. 그들이 “행위를 위한 대화”라 부른 것을 디츠가 형식화한 것이 트랜잭션 패턴이다. 고객이 요청하고(request), 수행자가 약속하고(promise), 실행한 뒤 결과가 준비됐다고 선언하고(declare), 마지막으로 고객이 수용한다(accept). 한 건의 업무가 화행 넷을 최소 단위로 갖는다는 것이고, 디츠는 이 패턴 하나가 업무 프로세스 복잡도의 대부분을 접어 넣는다고 주장한다.

패턴의 실질적 기여는 행복 경로가 아니라 실패 분기다. 약속 대신 거절(decline)이, 수용 대신 반려(reject)가, 중도에 철회(quit, stop)가 올 수 있고, 이 분기들이 처음부터 패턴 안에 있다. 대부분의 업무 시스템은 요청-승인-완료의 행복 경로만 모델링하는데 실제 운영의 고통은 전부 나머지 분기에 있다 — 반려된 완료 보고, 취소된 요청, 재협상, 중도 철회. 분기를 나중에 붙이면 이미 쌓인 데이터가 그 구분을 담고 있지 않다.

또 하나의 기여는 선언과 수용의 분리다. 수행자가 끝났다고 말하는 것과 요청자가 끝났다고 인정하는 것은 다른 화행이고, 제도적 사실로서의 “이행 완료”는 후자에서 성립한다. 이 간격을 지우고 수행자의 보고를 곧 완료로 기록하는 시스템은 분쟁이 생기는 바로 그 지점을 기록에서 지운 것이다.

경고 하나가 이 계보에 붙어 다닌다. 위노그라드와 플로레스가 이 이론으로 만든 제품 The Coordinator는 상업적으로 실패했고, 서치먼은 그 실패를 우연이 아니라 구조로 읽었다. 화자의 의도를 범주화해 화면에 노출하는 순간 시스템은 감시와 규율의 정치를 떠안고, 사용자는 자기 말이 분류당하는 것에 반발한다는 것이다. 교훈은 이론을 버리는 것이 아니라 숨기는 것이다. 사용자는 버튼을 누르고, 시스템이 그것을 화행으로 기록한다. 패턴은 스키마의 어휘이지 화면의 어휘가 아니다.

참고문헌

  1. Jan L. G. Dietz (2006). Enterprise Ontology: Theory and Methodology. Springer
  2. Terry Winograd, Fernando Flores (1986). Understanding Computers and Cognition: A New Foundation for Design. Ablex
  3. Lucy Suchman (1994). Do Categories Have Politics? The Language/Action Perspective Reconsidered. Computer Supported Cooperative Work 2(3), 177-190