한국의 마틴 파울러가 되기
페벗이자 디자인 학교 설립자이신 윤여경 선생님의 글이 자극을 주어 글을 쓰려고 마음먹었습니다.
제 시선을 가장 먼저 사로잡은 표현은 아래 문장입니다.
오늘 난 시각디자인과 제품디자인을 구분할 논거를 찾았다
선생님의 이분법은 제가 가장 좋아했던 도식을 떠올리게 했습니다. 유행이 지나 이제는 인터넷 문서도 별로 없는 그림을 찾아보았습니다.
1999년 처음 본 것으로 기억하는 그림입니다. 당시 본 책 중에 마틴 파울러의 책인지 그래디 부치 책인지 확실치 않지만, 둘 중 하나에서 처음 봤다고 기억하는 저 도식이 가진 압축미(美)를 윤여경 선생님 글에서 발견합니다.
지금에 와서 해석해 보면 도식이 아름다운 이유는 세 가지로 요약할 수 있습니다. 첫 번째는 이바 야콥슨이 제안한 쓰임새Use Case라는 표현입니다. 주어진 문제를 그대로 수용하는 소프트웨어 요구 분석의 초보적인 단계에서 어떻게 쓰느냐를 분석하는 관점의 전환은 Use Case[1]가 가진 진정한 가치입니다.
두 번째는 Realization이라는 표현입니다. 우리말로 하면 '실체화' 혹은 '실현'이 될 텐데. 2000년 초반 기업용 프로그래밍 현장에 관심을 두었던 제 눈에 가장 심각해 보였던 모순은 실현 불가능한 계획이 마구 만들어지는 모습이었습니다. 이 문제를 해결하려고 결국은 스스로 IT 컨설팅 업계에 뛰어들게 되니 저에게는 숙명 같은 문제입니다. 아무리 좋은 계획이나 기획이라도 결국 구현이 가능해야 한다는 제 주장을 대변하면 표현처럼 느껴졌습니다.
세 번째는 Realization이라는 관계로 쓰임새와 그 실체화를 연결하고 추적성을 확보하는 Integrity입니다. 굳이 아름다움이라고까지 수식하는 이유도 바로 법치가 추구하는 이상처럼 소프트웨어 공학 혹은 프로그래밍도 높은 수준의 일체성(integrity)을 구현해 낼 수 있다는 이상을 담은 듯이 느껴졌습니다.
UML이 쓰이던 시절의 맥락을 벗어나면 이들은 소프트웨어 디자인이 주는 이상이라고 할 수 있습니다. UML이 거의 쓰이지 않는 지금도 릴리즈를 통해 쓰임새를 확인하고, 끊임없이 경제성[2]에 입각한 코드 수정을 해 가는 과정도 모습은 달러졌지만 추구하는 본질적인 개치는 그대로 계승된다고 봅니다.
제 경험을 소환하느라 최초에 영감을 준 표현과는 상당한 거리가 생겼습니다. 윤여경 선생님의 문장을 다시 보고 어떤 점이 제 경험과 연결되는지 설명해 보겠습니다.
오늘 난 시각디자인과 제품디자인을 구분할 논거를 찾았다
시각디자인은 소프트웨어 개발에서 개념 모델링과 매우 흡사합니다. 프로그램으로 구현할 아이디어가 아주 간단한 것이 아니라면 기술이나 실행 환경과 무관한 개념 정립이 유용한 경우가 많습니다. 하지만, 결국 쓸모가 생기려면 다시 말해 소프트웨어가 가치가 있으려면 구현으로 쓰임새가 증명되어야 합니다. 후자는 제품디자인의 영역과 느슨하게 겹치는 듯한 인상을 받았습니다.
내친김에 선생님의 글을 조금 더 보면 또 영감을 받습니다.
시각디자인은 음악작곡과 비슷하다. 음악 작곡은 어떤 물질적 재료를 경유하지 않는다. 리듬, 멜로디, 하모니라는 소리 규칙을 바탕으로 비물질적으로 작곡된다. 작곡된 음악은 연주자의 목소리와 물질적 악기에 의해 연주될 때 비로소 사람들에게 경험된다. 시각디자인으로 치면 연주는 인쇄 과정이라고 볼 수 있다.
음악작곡과 쓰임새는 분명 다르지만 인간을 우선시하고, 일단 기술을 배제한다는 측면에서 분명 유사성이 있다. 이는 내가 Use Case에 감명을 받았던 이유이기도 하고, 공학원칙으로 분류되는 루이 설리반의 FFF(Form Follow Function)가 강조하는 바이기도 합니다. 또한, 솔루션 위주로 급하게 문제를 풀려는 안티 패턴이 팽배한 현실을 생각하면 매우 중요한 관점입니다.
어쩔 수 없이 글로 표현하려면 비약이 느껴지겠지만, 페벗님의 패키지 디자인은 나에게 UX 설계와의 유사성을 느끼게 합니다.
요즘 난 패키지 디자인에 관심을 두고 있다. 패키지는 참 묘하다. 분명 시각디자인인데... 뭔가 느낌이 다르다. 포스터나 책 등의 인쇄물과 달리 종이와 구조, 후가공에 엄청난 영향을 받는다. 시각디자인 전공에서 패키지를 가르치지만, 이건 제품디자인 영역에 가깝다는 생각이다. 패키지 경험을 통해 난 비로소 시각디자인과 제품디자인의 경계를 경험하고 있다.
2016년 중국에 살면서 느낀 위챗의 UX는 당시 한국에서는 느낄 수 없었던 FFF의 모범 사례라 할 수 있습니다.
요즘은 토스를 쓰면서 그 느낌을 그대로 느끼고 있는데요. 이분법으로 나눠진 영역의 접점에 속하는 패키지 디자인에 대한 설명은 고스란히 쓰임새와 실체화 가운데에서 사용자와 사용자 접점(UI:User Interface)에서 벌어지는 UX에도 적용할 수 있을 듯합니다.
즉흥적인 영감을 받아 쓰기 시작한 글인데, 횡설수설 수준을 넘어서기 위한 최소한의 노력을 하려고 합니다. 워낙에 직감에 따른 전개인지라 글로 매끄럽게 다듬는 일은 어렵다고 느꼈고, 이야기 전개의 틀 정도는 설명을 남겨서 소수의 독자님에게라도 글을 전할 수 있기를 바라는 마음입니다.
이 글은 서두에 말씀드린 대로 윤여경 님의 페북 글에서 받은 영감을 꺼내어 글로 변환한 내용입니다. 그러면서 과거에 제 기록에 남겨진 생각들까지 소환을 했습니다. 글이 길어져서 두 편으로 나누고자 하는데, 여기에는 일단 영감을 받은 부분을 기록합니다.
다음 글은 지난 2월 요즘IT에 설계에 대해 기고한 후에 6개월 동안 설계에 대한 쓰기가 없던 상황을 떠올려 작은 영감이나마 글로 남겨 놓자는 생각에 2017년 자주 썼던 글의 제목인 '설계란 무엇인가'를 소환합니다. 다음 편에서는 당시 썼던 글을 짧게 요약해 보고, 6년이 흐른 지금에 곱씹어 보겠습니다. 그런 뒤에 지금 받은 영감을 살려 2023년판 '설계란 무엇인가'에 대한 간략한 기록을 남기는 것을 목표로 삼습니다.
[1] 우리말로는 '쓰임새'라고 표현하길 좋아합니다. UML 관련해서 오래 교류했던 임춘봉 훈장(?)님이 알려주신 표현이죠.
[2] 경제학자들이 말하는 '경제성'과는 매우 거리가 먼 표현으로, 주로 Kent Beck에서 배운 투입 시간 대비 효과의 개념을 느슨하게 칭합니다.
2. 대상과 조건 그리고 자기 속도에 부합하는 조건 만들기
4. 기술 부채를 Code Smell로 관리할 수 있는가?
6. 설계 요소의 사분면
7. 입자와 파동의 이중성을 소프트웨어 설계에 응용하기