<린 분석> 함께 읽기 II
링크드인에서 Vaughn Vernon의 흥미로운 글을 봤다.
물위는 걷는 일과 소프트웨어 개발을 비유하고 있다. 물이 얼어 붙으면 물 위를 걷는 일이 쉬운 것처럼 프로그램 명세(이전에 짠 프로그램 구성)가 바뀌지 않는다면 프로그램 개발이 쉽다는 말이다. 전하고자 하는 메시지는 프로그램은 끊임없이 변할 수 밖에 없다는 말로 들린다.
나는 이 글에서 두 가지 이야기를 하고 싶다. 하나는 XP 관련 경험 혹은 그에 대한 나의 감상이고, 두 번째는 어제 지인들과 나눈 모델링 관련 대화와 맥락을 같이 하는 인사이트가 있어 그것을 공유하고자 한다.
내가 XP 2판(Explaned)을 두 번째[1] 읽으면서 '이건 방법론이 아니라 철학서잖아!' 했던 기억이 있다. 기억이 정확하지 않지만, 변화를 포용하라(Embrace Change)는 부제처럼 우리가 어찌 할 수 없는 부분을 내버려두고 그 안에서 최선을 다하는 일에 Extreme 이란 형용사를 붙였다.
만약에 '애자일'을 유행이나 의무감을 받아들이신 분들은 번역서가 나와 있으니 아래 문구에 공감이 된다면 이 책을 읽어 보시길 권한다.[2]
변화를 피할 수 없다면(그리고 다른 사람을 내가 통제할 수 없다면) 그걸 받아들이고 프로그래머로 성장할 수 있는 길을 택하라
공교럽게 어제 저녁 지인과 대화를 모델링에 대한 대화를 했다. 통계학을 전공한 지인이 통계적 모델링란 수학적 모형을 가지고 현실세계에서 수집가능한 데이터로 구현하는 일이라고 설명했다. 기억에 의존하는 것이라 정확한 워딩은 아니다. 다만, 모델링을 구현이라고 정의한 말이 굉장히 흥미로웠다. 그리고 뒤이어 수집가능한 데이터에 의존하기 때문에 기존의 지식의 한계속에서 예측을 해야 하는 본질적 한계를 설명했다.
나는 끊임없이 진보(?)하려는 인간 공동체 즉, 인류의 욕망이 변화를 가장 큰 동인이라고 생각한다. 결국 그래서 인간사회에서 변화는 어찌할 수가 없다. 더구나 올바른 진보를 위한 올바른 판단을 위해서 예측하려는 인간의 시도 또한 마찬가지로 멈출 수가 없다. 그런데 그 판단은 과거의 지식에 기초하기 때문에 내일이면 오류가 발생할 수 밖에 없다.
<도메인 모델링? 비즈니스 모델링 어떻게 하나요?>편에서 인용한 아래 도식처럼 모델링은 끊임없는 실행를 뜻한다.
다시 최초에 인용한 문구를 보자. 삶을 물처럼 얼릴 수 없다. 공상에서나 가능한 일이다. 마찬가지로 사업도 서비스도 프로그램 실행 과정도 얼릴거나 완벽하게 통제할 수 없다. 그것은 소멸할 때나 가능한 일이다. 그러니 거부하거나 변화를 이기려고 하지 말고 순응하는 일이 지혜로운 일이다.
<중용>의 '도가도 비상도'라는 말이 떠오른다. 삶은 끊임없는 동적 평형을 잡는 길을 걷는 일이다. 그것이 소프트웨어 개발이든, 사업 경영이든, ...
[1] 첫 번째 독서에선 그런 점을 포착하지 못했다. 당시 Extreme 하면 유행하던 Extreme Sports를 떠올리던 때(나의 편향이 심했다는 뜻)이니 그럴 수밖에 없었는지 모른다.
[2] 혼자서 읽는데 무리가 있다면 함께 읽어주는 무리들이 있으니 도움을 요청하실 수 있다.