이름만 잘 지어도 일은 (거의) 다 한거야

이름만 잘 지어도 일은 (거의) 다 한거야

작성자 서교동직장인B

일의 기쁨과 슬픔

이름만 잘 지어도 일은 (거의) 다 한거야

서교동직장인B
서교동직장인B
@ben
읽음 530
이 뉴니커를 응원하고 싶다면?
앱에서 응원 카드 보내기

제품팀 회의중. 서로 다른 상상과 이해 때문에 모두가 괴로워질 것을 예감한 바로 그 순간, 한 엔지니어가 솔루션을 제시했어요. “DDD라고 있는데요..”

DDD?

결과부터 얘기하면 DDD에 기반한 소통 덕분에 이번 회의는 걱정했던 것 만큼 괴롭지 않았어요. 앞으로 이 방법론을 잘 다듬어가면 좋겠다는 회고도 있었답니다. DDD는 Domain-Driven Design의 약자로, 소프트웨어 설계 방법론 중 하나인데요. 저는 제 맘대로 ‘이름 주도 설계’ 정도로 의역해서 이해하고 있어요. 이번에 우리 팀이 DDD에 기반해서 세운 원칙은 이렇습니다.

  • 구현 요소 정의는 최대한 생략한다

  • 행위와 데이터의 이름은 최대한 깐깐하게 정의한다

  • 이름에 대해 모든 구성원이 똑같이 이해하지 않으면, 이름을 바꾸거나 이름에 대한 설명을 구체화한다

상상이 되나요? 조금 다르게 표현해보면 이래요.

  • 주어, 서술어, 목적어 중심의 상호배타적인 정의를 지향한다

  • 형용사, 부사 등은 생략한다

뉴닉 앱의 도메인

당장 보이는 뉴닉 제품을 예시로 들어볼게요. 뉴닉 앱은 ‘뉴니커’라는 말도 쓰고 ‘메이트’라는 말도 써요. 뉴니커와 메이트는 어떻게 다를까요? 상호배타적인가요? 기준이 명확하지 않다면 적어도 도메인 관점에서는 좋은 이름이 아닙니다. ’사용자’라고 부르면? 명확한 것 같아요. 이제 넘어갈 수 있습니다.

내비게이션을 보면 홈, 콘텐츠, 커뮤니티, 마이가 있네요. 근데 ‘콘텐츠’란 뭘까요? content의 뜻은 ‘내용’입니다. 보통 인터넷을 통해 제공되는 각종 디지털 정보를 가리키기도 해요. 그런데 누군가는 이런 질문을 할 수 있어요. 커뮤니티 콘텐츠는 여기에 없는데요? 아무래도 ‘시리즈’ 정도로 바꾸는게 더 정확한 명세라고 할 수 있겠어요.

이름만 잘 지어도 일은 다 한거야.

저는 이런 생각을 자주 하는 편이에요. 회사에서 혼자 일하거나 여럿이 소통할 때는 물론이고요, 회사 밖에서 일상과 취미를 즐길 때도 마찬가지입니다. 이름을 잘 짓는다는 건, 그 이름이 아니면 설명될 수 없는 고유성을 이해하는 일이면서 그 고유한 대상을 둘러싸고 있는 세계관과 맥락에 대한 감수성을 발휘하는 일이라고 생각해요. 그리고 무엇보다, 모든 일의 시작인 ‘소통’의 기본 요소를 섬세하게 설계하는 작업이에요.

login-nudge
아티클 읽고 지식을 쌓았어요
매일 똑똑해지는 습관 만들어드릴게요
로그인 하기