brunch

You can make anything
by writing

C.S.Lewis

by 안영회 습작 Aug 19. 2022

맥락은 어떻게 표현할 것인가?

도메인 모델링 세미나 11

<도메인 모델링에서 맥락은 왜 필요한가?> 편에서 동료가 자신이 문제를 파악하기 편안한 형식으로 그려진 맥락도를 다뤘다. 그 그림 이전에 그는 쓰임새도(usecase diagram) 형태로 먼저 그렸다. 이는 전형적으로 쓰던 방법(필자가 1999 ~ 2007년까지 사용하던 방법)을 따른 것이다.


도메인 드리븐의 시작은 나부터

그러나 그는 무언가 부족을 느꼈을 것이다. 그래서 자신의 느낌과 직감을 따라 툴과 표기법을 찾아 새로 그린 것이다. 이렇게 스스로 고안해낸 방법으로 만든 결과물 또한 하나의 현실이다. 우리는 이렇게 해놓은 결과에 대해 냉정하게 바라보는 일에 서툴다. 나는 이런 행동을 할 때 마음 자세를 직면이라 불러왔다. 그리고 이런 태도는 기업 경영할 때 내가 견지하려는 입장인 '과학적 운영'이라는 태도(?)와도 유사하다. 나는 이런 관점에 대해 지속적으로 관심을 갖는다. 어쩌면 과학적 태도가 종종 '반직관적인 자기 극복'을 통해서 가능하다는 나의 경험에 기초한 것인지도 모른다.


아무튼 결과물을 나중에 한발 떨어져서 볼 수 있다면 스스로의 결과물에 대해서도 상대적으로 객관적일 수 있다. 특히 내 작업물이 두 가지일 때는 마치 '삼각측량'을 하는 형태가 되어 감정을 다스리고 내 작업물에 대해 변호하려는 입장을 약화시킬 수 있다.


즉흥적인 발상이라 (다소 비약일 수도 있지만) 나는 도메인 드리븐(Domain-driven)의 주체 중에 실행자인 나를 포함해야 한다고 믿는다. 그러면 너무나도 당연하게도 내 의지와 태도가 반영된 결과물 역시 분석 대상에 둬야 한다. 그래야 지속 가능하고 유기적인 방법에 다가갈 수 있다. (우린 사회 속에 살고 감정과 편향이 기본인 인간이니까)


두 가지 내 작업물을 비교하기

그런 취지로 동료에게 두 개의 맥락도 비교를 제안했다. 둘을 동시에 보면서 대조하는 방법을 제안했는데, 그는 훨씬 더 충실하게 실행했다.

출력을 하여 옆에 두고 비교했으며, 종이에 펜으로 써가며 대조하고 분석했다. 이후에 그가 도출한 결과는 아래 표로 집약된다.


왜 맥락을 포착하려고 노력하는가?

자, 이제 나의 경험은 동료에게 어떤 도움을 줄 수 있을까? 내가 좋아하는 위키피디아 페이지로 돌아가서 context의 의미를 곱씹어 보고 방금 떠오른 노하우를 정제해서 표현해보자.

Context (language use), the relevant constraints of the communicative situation that influence language use, language variation, and discourse summary

번역하기보다는 몇 가지 특징으로 묶어서 표현하는 편이 좋아 보인다

내가 하려는 말(language use, language variation)에 영향을 끼치는 상황을 제한한다

말하려는 내용의 요약(discourse summary)

그리고 그 말의 주제 즉, 화제가 바로 우리가 문제 삼는 현상이다. <추적성(Traceability)과 그 쓰임새> 편에서 아래 그림을 올린 후에 일종의 맥락도라고 말한 바 있다.

사실 우리가 말하려는 바를 압축해서 그림으로 표현하고 상대가 그걸 바로 이해할 수 있다면 형식을 떠나 훌륭한 맥락도가 될 수 있는 것이다.


그래서 바로 왜 맥락을 포착하려 하는지 물어야 한다. 그 물음은 아래 두 가지 물음으로 분해할 수도 있다.

대체 뭐가 문제인가?

누구와 소통하려고 하는가? (혹은 스스로 파악하려고 그릴 수도 있다)


관련 글

도메인 모델링에서 맥락은 왜 필요한가?

시스템 구동의 맥락(context) 파악하기

성공적 대화를 돕는 그림


지난 도메인 모델링 세미나 연재

1. 도메인 모델링? 비즈니스 모델링 어떻게 하나요?

2. 도메인 모델링 활용의 기본 아이디어

3. 데이터 제품 접근방식과 그 표현

4. 아키텍처는 의사소통에 관한 문제라서?

5. 아주 이상적인 아키텍처

6. 모델 저장소의 의미와 구현

7. 리팩토링을 내장할 수 있다면?

8. Repository 의미 더 찾아 보기

9. 도메인 모델링에서 맥락은 왜 필요한가?

10. Repository 빌딩 블록에 대해 생각해보기

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari