도메인 온라인 카지노 게임 연구 No. 8
지난 글에서 예고한대로 나는 동료와 함께 도메인 온라인 카지노 게임텔링에 문법을 입힐 예정이다.
UX 전문가가 구어체로 읽으면서 시각화 한 표현이 술술 읽히기를 바라는 마음에 몇 가지 제안을 했다. 나는 마치 <Ubiquitous Language가 만들어지는 장면을 보는 듯했다. 긴 시간 애정을 갖고 있던 <Ubiquitous Language 가능성이 보이자 나는 개입하지 않을 수 없었다. 그래서 잠시지만 온라인 카지노 게임텔러와 표기법을 문법처럼 만드는 시도를 했고 가능성을 엿보았다. 우리의 앞으로 여정해서 복잡하지 않은 그렇지만 쓸만한 문법이 만들어지지 않을까 기대할 수 있던 장면이었다.
문법을 입힌다는 말은 무엇일까? 명확하게 정의하고 일을 하는 타입은 아니지만, 머릿속에서 꺼낼 수 있는 몇 가지 의도나 가정은 다음과 같다.
화살표에 문구만 잘 붙여도 소통이 훨씬 좋아진다
이왕이면 가지런하고 일관성있게 표현하자
우리만의 관용표현으로 의미를 농축할 수 있다
먼저 동료 온라인 카지노 게임러가 질문 두 개를 들고 왔다. 그의 질문 방식이 흥미로웠다. 어려움을 느끼거나 마음에 들지 않는 부분 두 개를 지적하더니 뒤이어 <Domain Storytelling책에 나오는 매끄러운 표기법처럼 할 수 없냐고 묻는 것이었다.
답을하기전에나는짜릿함을느끼지않을수없었다. 사회초년시절5년이상찐~하게모델링을했고, 열심히이론공부도했지만이미15년도넘은이야기다. 스타트업경영을하는입장에서진득하게이런책을읽을여유는없다. 그런데이렇게질문을받으니마치어린새가둥지에서모이를받아먹듯내용을흡수할수있었다.
나는 책의 문구와 그림을 보자마자 구체적으로 읽지 않아도 그 의미를 알 듯했다. 그리고 두 상황이 다른 점에 기초하여 동료에게 설명했다
허락없이 책을 인용할 수 없어 예시를 붙이지 못하는 것이 아쉽지만, 도메인 온라인 카지노 게임텔링에는 Work Object 개념이 있다. 객체지향이 떠오른다. 시스템과 사용자의 상호작용에서 개체로 분명히 드러나는 것을 칭한다고 할 수 있다. 동료는 책에서 동일한 work object에 대해 사용자가 Load 하고 Show 하는 관계선을 매력적으로 느꼈다. 간결함과 대칭 때문이었을까?
그에 반해 동료의 그림에는 동일 대상을 아래와 같이 표현하고 있다. 나는 옳고 그름으로 보기 보다 그가 바라는 방향으로 피드백을 주려고 했다.
나는 Load 하고 Show 하는 시나리오가 극장 예약을 배경으로 하고 있음에 착안해 추정하여 설명했다. 책을 읽은 상태가 아니기 때문에 저자의 의도라기 보다 '나라면' 혹은 '모델러가 그렇게 할 근거'를 설명하는 일이었다. 대체로 Load는 프로그램이 후보를 추출하는 과정이다. SQL의 Select 문장을 포함한 구현이 있기 쉽다. 그리고 나타난 대상(주로 목록으로 보이는)을 가지고 사용자가 의사결정을 한다. 그 앞의 과정에서 Show가 필수적으로 필요하기 마련이다. 이렇게 동일 대상에 대한 비대칭적인 조작이 시스템 구축에서 흔히 일어나는 패턴이다.
두 번째는 사용자가 알림톡을 통해 인지하여 화면을 보는 경우와 같은 화면을 보지만 스스로 찾는 경우를 간결하게 표현하고 싶어했다.
여기에 대해서는 20년 가까운 내 경력에서 배운 패턴을 설명했다. 대체로 시스템 사용자들은 세 가지 경로를 쓴다. 하나는 메뉴가 제시하는 차림표를 보고 사용한다. 마치 인터넷 초창기에 야후가 대세였던 것처럼. 그리고 MS-DOS를 써본 분들은 숫자로 누르는 메뉴들로 꽉 짜여진 화면을 기억하실 수도 있을 것이다.
두 번째는 바로 검색을 통한 방법이다. 구글이라는 회사가 세상을 지배하는 일의 시작은 누구나 알다시피 거대한 인터넷의 검색 엔진 역할을 통해서다. 세 번째가 바로 채팅이나 알림톡을 통한 통지 방식이다.
짧지만 굉장히 유익한 토론 세션이었다. 동료는 흡족해하며 자신이 배운 바를 기록했고, 토론 이후에 책에 내가 설명한 내용이 그대로 나온다며 흥분했다. 옆에서 나는 이런 방식으로 책을 읽는 방법이 매우 효과적이라는 사실을 깨달았다. 안 그랬다면 얼마나 지루할텐가?
그가 흥분에 취한 동안 나는 그림에서 아래 부분을 주목했다. 하나의 시스템으로 향하는 화살표가 몰려있는데 저걸 하나로 두면 Monolithic 이고 둘로 명시적으로 나누면 BoundedContext혹은 마이크로 서비스를 지칭할 수 있다. 하지만, 경험상 정리되지 않은 아이디어로 토론 후의 깔끔할 기분을 망칠까봐 후일로 묻어 두었다.
3. 도메인이 무엇인가요?
7. 도메인 온라인 카지노 게임로 비즈니스 규칙 발견하기