“내가 가치 있게 생각하는 것과 정말로 가치 있는 것 사이의 차이에서 낭비가 생긴다.”
가끔 길을 잃은 기분이 들 때면 ‘모노크롬’ 이 부른 ‘니가 진짜로 원하는게 뭐야’ 를 찾아 듣고는 한다. 다양한 관점에서 생각해볼 수 있겠지만, 일을 할 때 ‘그래서 내가 진짜 하고 싶은게 (해야 하는게) 무엇이었을까?’ 를 고민한다.
그래서 사실 TDD 의 작업 순서와 할일 목록을 작성하는 것에 깊은 인상을 받았었다. 특히 TDD 같은 경우 눈에 보이는 명확한 pass/fail 을 마주하고 pass 하기 위한 최적의 방법을 고민하기 때문이었다. 다시 말해 군더더기 없는 결과물을 만든다는 게 인상 깊었다. 다시 생각해보면 기본적인 것이지만 깊이 빠져들면 온갖 걱정거리가 들러붙어 정말 내가 하고 싶었던 것은 무엇이었는지 방향을 잃어버리고는 했기 때문이다.
문장에서 말하는 것은 전체적인 방향성에 대한 내용을 담고 있지만, 어쨌든 목표와 관련 없는 것들은 다 낭비라고 생각 한다.
하루에 한 번 이상 곱씹는 말이 있다. ‘할 수 있을 때, 할 수 있는 것을, 할 수 있는 만큼 하자.’ 여기에 낭비를 만들지 말자는 살을 붙여야겠다.
“XP 는 개발을 이끌기 위한 다섯 가지 가치를 포용한다. 그것들은 의사소통, 단순성, 피드백, 용기, 존중이다.”
의사소통
“누군가는 이미 그 문제의 해결책을 알고 있는 경우가 정말 많다.”
해를 거듭 하면서 경험은 무시하지 못한다는 것을 점점 많이 느끼고 있다. ‘아는 사람의 한 마디가 많은 시간을 절약 해준다.’ 는 것을 믿는다. 한편으론 혼자서 충분히 고민 해 볼 시간도 필요하다는 입장이기 때문에, 후배 개발자를 만나면 습관적으로 ‘잘 안풀리면 1~2시간 정도는 고민할 수 있지만. 그래도 모르겠으면 그건 진짜 모르는 것일 수 있으니까 고민하면서 고통 받지 말고 물어보라’ 는 말이다. 그렇다고 해서 내가 명쾌한 답을 바로 줄 수 있는 것은 또 모르지만 적어도 같은 문제를 고민하는 사람이 있다는 사실 만으로도 심리적 위로가 될 수 있다고 생각한다.
단순성
또 다시 EJB 와 Spring 이 생각 났다. 책에서 얘기하는 단순성도 어떻게 보면 군더더기 없이 현재 할 수 있는 가장 단순한 방법을 말하는 것으로, 결코 단순한 결과가 아닐지언정 주어진 상황에 할 수 있는 가장 단순한 것을 말하는 것 같다.
피드백
“경험해 보기 전에 정해진 방향은 특히 수명이 짧다.”
“한번에 완벽하게 해결하기를 바라는 것보다 점진적 개선에 만족하기 때문에 우리는 피드백을 이용해 목표에 점점 더 가까이 다가간다.”
용기
저자가, 아니면 옮긴이가 이 내용을 서술할 때 조금 산만했을까 싶은 생각이 들었다.
문단의 말미에는 문장들 사이에 개연성이 있어 보인다기 보다, 설명 할 수 있는 생각나는 말들을 나열한 것 같은 느낌을 받았다. 문단이 뚝뚝 끊어지는 듯한..
저자가 생각하는 용기라는 것은 “문제가 무엇인지 안다면, 그것에 대해 무슨 일이든 해보는 것” 에 대한 모든 종류의 것을 말하는 듯하다. 심지어 문제에 맞서기 위해 출근하는 것도 하나의 용기라고 할 수 있겠다.
존중
“나도 중요하나 사람이고 당신도 중요한 사람이다.”
다른 가치들
“팀이 신봉하는 가치에 팀의 행동이 어울리도록 만드는 것이다.”
내가 속한 팀이 추구하는 가치는 무엇일까?
“제일 중요한 것은 팀이 신봉하는 가치에 팀의 행동이 어울리도록 만드는 것이다. 그렇게 하면 여러 가치 집합을 동시에 유지하려고 노력할 때 생기는 낭비를 최소로 줄일 수 있다.”
XP 는 개인보다는 팀의 방향성에 더 많은 비중을 두는 것 같다. 그렇다고 개인을 무시하지 않고, 건강한 개인이 모여 단단한 팀을 구성하는 느낌이다.
이 부분에서 특히 ‘노력할 때 생기는 낭비’ 라는 구가 눈에 들어왔다. 앞서 낭비란 ‘내가 가치 있게 생각하는 것과 정말로 가치 있는 것 사이의 차이에서 발생’ 한다고 했다. 크게 봤을 때 팀의 방향성, 작게 봤을 때 당장 내가 오늘 할 일에 대해 생각해 보았다. 팀이 나아가는 방향 (로드맵) 과 다른 방향성을 가지거나, 오늘 할 일을 달성하지 못하는 일들을 하는 것은 명백하게 낭비를 생산하는 일이라는 것을 머리로는 알고 있었지만 글로 정리하는 것은 처음이다.
‘가치는 소프트웨어를 개발할 때 무엇을 해야 하는지 구체적으로 충고해 주지는 않는다.”
금잔화 예시와 함께 가치, 원칙 그리고 실천 방법에 대해 조금 더 구체적으로 이해할 수 있는 말이었다. 가치는 순수하고 고결하여 더럽혀지지 않고 지켜져야 하는 것으로, 이 목적을 달성하기 위해 할 수 있는 모든 행동 양식이 실천 방법에 속한다고 이해 했다. 그리고 원칙은 오랜 경험을 통해 도출해낸, 어떻게 보며 절대 불변의 진리와 같은, 지침과도 같다고 이해했다.
한편으론 실천 방법과 원칙이 ‘가치를 지키기 위해 마땅히 해야 하는 것’ 이라는 공통점을 가지고 있다고 느껴져서 이해 하기에 어려움이 있겠다고 생각 했다.
'생각을 적바림 > 익스트림 프로그래밍' 카테고리의 다른 글
익스트림 프로그래밍, HANG OUT 005 (0) | 2024.03.18 |
---|---|
익스트림 프로그래밍, HANG OUT 004 (0) | 2024.03.18 |
익스트림 프로그래밍, HANG OUT 002 (0) | 2024.02.20 |
익스트림 프로그래밍, HANG OUT 001 (1) | 2024.01.21 |
익스트림프로그래밍 '서문' (0) | 2024.01.20 |