설계 관련 한국말 오리지널 글 쓰기
Yeti 님이 설계 관련 질문을 주셔서 쓰는 글입니다.
사실 최근에 <모델 기반으로 부가가치를 만들 수 있는 기회>에서 다룬 추상화와 모델링은 제가 생각하는 설계라는 활동의 범주의 상당 부분을 차지하는 내용입니다.
하지만, 이는 제가 편안하게 생각하는 것일 뿐 Yeti 님에게는 친절한 설명이 되지 못할 듯합니다. 그래서, 좀 다르게 시도를 해 봅니다.
설계가 사고 과정에 바탕을 둔다는 사실을 부정할 수는 없습니다. 사실 설계만 그런 것이 아닙니다. 현대인의 노동의 상당 부분은 지식 노동인데, 사고에 기반을 둔 활동이라고 할 수 있죠. 그래서, Yeti 님의 질문에서 핵심 키워드는 '관점'이라고 보아야 할 듯합니다.
사실 관점은 '줏대와 잣대'의 다른 말이라고 보아도 크게 틀리지 않을 듯합니다. 그렇다면 사고의 주체이자 설계의 주체가 문제를 어떻게 바라보느냐를 관점이라고 할 수 있습니다. <낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함>을 실천하기 위해 사전을 찾아보겠습니다.
점(點)은 어디에 있는 것일까요? 점은 면적이나 부피가 있는 것은 아니기 때문에 실제로 존재하는 것은 아니라고 할 수 있습니다. 하지만, 보는 행위의 출발점은 있어야 합니다. 그게 물질적으로 감각기관으로 볼 수도 있고, 정신 작용의 주체인 사람 즉, 임자를 칭할 수도 있을 듯합니다. 그렇게 보면 관점이란 결국 임자의 줏대와 잣대라고 할 수 있습니다.
과거 소프트웨어 공학에서는 이러한 욕망을 Requirements라고 했고, 대부분의 한국 책은 이를 요구사항이라고 번역했죠. 그런데 초기 소프트웨어의 요구사항의 범주는 '자동화' 맥락에서만 수용되었습니다. 왜냐하면 상업적 프로그래머의 욕망이 바로 자신들의 재능이나 노동으로 돈을 버는 것이 대부분이었기 때문입니다.
<사고와 인식과 표현의 주체인 임자로 욕망을 바라보기>를 쓸 때 이미 이를 다룬 바 있다는 사실을 Yeti 님의 링크드인 피드백이 알려 주었습니다.
작년에 요즘IT에 글을 올리며 제가 책에서 배운 소프트웨어 설계의 정의가 바뀌어야 한다는 생각을 했습니다. 그런데 구체적인 아이디어가 떠오르지 않았습니다.
이 글을 시작으로 내년에는 앞으로 무엇이 소프트웨어 설계여야 하는지 혹은 소프트웨어 설계를 뭐라고 말하면 앞으로도 의미 있는 지식이 될 수 있을지 생각하는 글을 써 보기로 합니다.