한국의 켄트 벡이 되기
번역 작업 초기에 굉장히 멋진 문구를 만났는데, 베타 리더 한 분도 비슷한 공감을 해 주어서 깊은 인상을 받았던 순간이 있었습니다.
두 달이 지나고 번역 막바지 작업을 하는데, 이번에는 다른 구절에서 비슷한 느낌을 받습니다.
두 가지 영감을 하나로 합치면 다음 매듭말[1]이 탄생합니다.
척도가 정해지지 않은 길닦기와 유사한 작업
언젠가 제가 창발적인 설계에 대해 말했을 때, 누군가 그게 말이 되냐고 반기를 들었던 적이 있었습니다. 당시 '창발적 설계'란 아이디어를 제가 내놓은 것은 아니고, 영어로 된 책 제목에서 보고 '좋은 발상이다. 왜 그 생각을 못했을까?'라고 관심을 두고 적용해 보려고 하던 시절이었습니다.
하지만, 그에 대한 논리적 대답을 10 년이 지나서야 할 수 있게 된 느낌입니다.
며칠 후, 또 번역 막바지 작업 중에서 설계에 관한 주옥같은 포기말[2]과 다발말[3]이 있습니다.
소프트웨어 설계는 인간관계 속에서 벌어지는 활동소프트웨어 설계는 인간관계의 연습입니다.
이 포기말은 2021년부터 2022년에 걸쳐, 18편이나 썼던 <도메인 스토리텔링 연구> 연재를 떠올리게 합니다. 그때 탐구하려던 주제이기도 하니까요. 하지만, 이 포기말은 앞부분부터 나온 것이고, 22장에서 주제가 가장 두드러지게 드러난 포기말은 이겁니다.
소프트웨어 설계는 요소들을 유익하게 관계 맺는 일입니다. <중략> 마법은 여기서 일어납니다. 하나의 설계 작업은 작은 하위 요소로 만든 거대한 수프를 만드는 일과 같은 것입니다
손때[4]를 묻혀 봅니다.
메모하듯이 글을 쓰다가 퍼뜩 요즘IT에 썼던 글에서 '설계의 정의는 변해야 한다'라고 주장했던 사실을 기억해 냈습니다. 하지만, 구체적인 아이디어가 부족할 뿐 아니라 생업과 소프트웨어 설계가 거리가 있는 터라 시간을 투자할 동기도 부족했습니다.
그랬는데 뚜렷한 목적 없이 시작한 번역으로 인해 의도치 않게 진도를 나갈 수 있을 듯합니다. 어쩌면 이미 지난 글 <소프트웨어 설계 프로세스를 만들기 위한 아기 발걸음>에서 나도 모르게 한 발 나갔는 지도 모릅니다.
너무 진지하지 않은 상징적 의미였지만, 지금까지 썼던 <한국의 마틴 파울러가 되기> 연재는 지난 글인 <소프트웨어 설계 프로세스를 만들기 위한 아기 발걸음>을 마지막으로 끝내기로 합니다. 이제부터는 <한국의 켄트 벡이 되기>입니다.
[1] 왜 매듭말인지는 <언어에 대한 일반이론>에서 일부 답을 얻을 수 있습니다.
[2] 왜 포기말인지는 <언어에 대한 일반이론>에서 일부 답을 얻을 수 있습니다.
[3] 왜 다발말인지는 <언어에 대한 일반이론>에서 일부 답을 얻을 수 있습니다.
[4] <학습법과 창의성 모두 기억이 핵심이다>에서 인용한 박문호 박사님의 말, '내 감정의 손때를 묻히라는 겁니다'에서 유래합니다.
2. 대상과 조건 그리고 자기 속도에 부합하는 조건 만들기
4. 기술 부채를 Code Smell로 관리할 수 있는가?
6. 설계 요소의 사분면
7. 입자와 파동의 이중성을 소프트웨어 설계에 응용하기
8. 즉흥적으로 그린 그림에 입자와 파동 이중성 적용하기
13. 설계는 변화에 대한 준비인가?
18. 동료의 상태도를 검토하기