IT회사에 근무하면, 정말 오래된 주제가 있습니다. 제가 이일을 한지, 25년이 넘었으니, 최장수 종사자는 아닐지라도, 나름대로, 꽤 오래 있었다고 일했다고 말할 수 있는데, 그 25년 넘게 계속되는 주제가 있습니다. 그건, 어떻게 하면, 끊임없이 변덕스럽고, 욕심 많은 고객(클라이언트)을 만족시킬 수 있는가입니다.
클라이언트는 때로 정말 돈을 주는 고객이 되기도 하고, 돈을 주는 사람들을 미리 대변하는 제품관리자 (프로덕트 매니저)가 되기도 합니다. 누가 되었든, 프로그램을 만드는 생산자인 우리 프로그래머들에게 일을 시키는 사람들을 뜻합니다. 그리고 그들은 언제나 욕심이 가득하고, 변덕스럽습니다. 어느 날은 빨간색 버튼을 원하다가, 바로 다음날, 파란색 버튼으로 바꿔 달라고 하죠. 하루는 글자를 크게 보이게 해달라고 했다가, 그다음 날에는 그림을 글자가 가리면 안 되니, 크지만 너무 커서도 안된다고 합니다. 잘 보이지만, 잘 보이지 않는 색을 써야 하기고 하고, 지웠지만, 지워지지 않는 데이터를 만들어야 하고, 존재하지만 존재하지 않는 기능이 있어야 합니다. 그래서 흔희들, 클라이언트와 회의하는 개발자는 흰머리가 늘고, 허벅지에 피가 맺히며, 몇 시간 만에 어린 중생이 해탈의 경지에 이르며, 회사를 그만두면 치킨집을 할지, 카페를 할지 미리 생각해 보는 시간을 가지게 됩니다.
그리고 그런 변덕스럽고 욕심 많은 클라이언트를 만족시키기 위해 이쪽 업계에서는 "애자일(Agile)" 이란 방법을 쓰기도 합니다. 제가 한국에서 근무했던 게 10년이 넘었기 때문에 지금은 잘 사용하는지 잘 모르겠지만, 당시에는 애자일방법을 쓰는 회사를 보지 못했습니다. 하지만, 여기 캐나다에서 10년 동안 다녔던 5개 회사에서 거의 모두 사용하였고, 회사 규모와 상관없이 거의 모두 회사에서 "애자일" 방법을 생산 프로세스로 사용합니다.
사실 애자일이란 한국처럼 잘 쓰지 않던지, 캐나다처럼 많이 사용하던지, IT직종에 있는 분들은 모두 한 번씩 들어 봤을 만한 이름입니다. 애자일이란 공식적으로는 "변화에 유연하게 대응하며, 짧은 개발 주기로 지속적인 개선과 협업을 강조하는 소프트웨어 개발 방식"이고, 내 맘대로 멋대로 이야기하면, "장기계획!? 그런 거 세워봤자, 다 소용없어. 그냥 빨리 만들고, 빨리 고쳐라, 나 마음 바뀌기 전에"를 하기 위한 방법론입니다. 물론 생각보다 그리 간단하지 않습니다. 회의하는 방법도 따로 있고, 일을 나누는 방법이 다릅니다. 개발주기도 다르고, 팀 내 각자 역할들과 팀을 구성하는 방법도 기존과 다릅니다. 그리고 이런 복잡한 것들이 초보 개발자들에게는 조금 장벽같이 느껴지기도 합니다. 하지만, 그런 분들에게 자신 있게 말씀드립니다. 이건 모두 변덕스럽고 욕심 많은 클라이언트를 만족시키기 위한 방법일 뿐이다라고요.
사람의 타고난 본성이 나쁜 것인지 좋은 것인지를 이야기하는 성선설과 성악설은 사실 제게 별로 의미가 없습니다. 제가 보는 인간은 원래 그랬든, 나중에 바뀌었든, 변덕스럽고, 욕심이 많습니다. 제가 보는 세상은, 많은 사람들이 끊임없이 배신하고, 자신의 작은 이익에 남의 권리를 침해하려 하는 것으로 보입니다. 호의를 당연한 것으로 알고, 호의를 기대했다가 그렇지 못하면, 화를 냅니다. 거짓말을 하고, 억지를 부리며, 남의 일은 작게 생각하고, 자기일은 끊임없이 부풀립니다. 앞과 뒤가 다르고, 보스와 있을 때와 주니어와 있을 때가 다릅니다. 사장이 회의실에 들어오면, 어디선가 기가 막히게 나타나고, 업무 분장을 하려면 기가 막히게 사라집니다. 정말 기가 막힌 사람들입니다.
법 없이 살 수 있는 사람이란 표현이 있습니다. 거꾸로 생각하면, 대부분의 사람들은 법이 있어야 사람들이 살 수 있단 이야기로 들립니다. 그래서 애자일 방법론은 세상의 변덕스럽고 욕심이 많은 사람들이 많기에 생긴 것이 맞을 겁니다. 그리고 오늘도 우리는 그들과 같이 살아갑니다. 이를 악물고~!
아! 물론 이 글은 갑작스럽게 일들이 많아져서, 회사가 미워서 쓰는 글이 아닙니다.! 절대!