병을 빨리 알아차리면 비용도 적게 들고 완치율도 높지만, 늦게 알아차리면 비용도 많이 들고 손쓰기 어려울 수도 있다. 그래서 보험회사나 건강보험공단에서도 가입자의 건강진단을 적극 권장한다.
실패도 빨리 알아차리면 금방 수정할 수 있고, 낭비되는 시간과 노력을 작은 범위로 제한시킬 수 있다. 하지만, 막상 프로젝트가 잘못된 방향으로 가고 있다는 것을 알아채는 것은 쉬운 일은 아니다. 질병에 비해 징후가 뚜렷하지 않을 때가 많기 때문이다. 그래서 적지 않은 기간이 소요되는 프로젝트라면 정기적으로 프로젝트의 상태를 체크해 봐야 한다. 그리고 잘못된 부분을 찾아 부지런히 수정해야 한다. 그렇지 않으면 문제에 이자가 붙어 나중에 더 큰 문제로 돌아오게 된다.
퍼즐 장르의 PC 게임 프로젝트에 프로젝트 매니저로 참여한 적이 있다. 후반부에 참여했기 때문에, 프로젝트의 중간 과정을 다 알지는 못했지만, 프로젝트가 끝난 후 회고를 진행하면서 프로젝트 진행에 대해 참여자들의 의견을 청취할 수 있었다. 프로젝트 결과가 좋지 못했는데, 실패 원인에 대해 받은 의견들 중 다수를 차지하는 것이 기민한 변경을 하지 못했다는 것이었다. 그 프로젝트는 최초의 일정보다 다소 길어져서 1,2년 정도 더 소요되었는데, 그 중간에 모바일 게임 시장이 열리는 환경 변화가 있었다. 바로 이러한 환경 변화에 대응해서 게임을 PC 기반이 아닌 모바일 기반으로 빠르게 전환했어야 한다는 의견이 다수 있었다. 게임이 가진 성격 자체가 모바일 게임에 더 적합하지 않았을까 생각하는 것이었다.
모바일로의 전환이 실제로 좋은 선택이었을지는 알 수 없다. 모바일 게임으로 출시해서 잘 될 수도 있었고, 안 될 수도 있었을 것이다. 그러나 그런 환경 변화에 대응하여 프로젝트에 변화를 가져야 할지 충분히 숙고해 보지 못한 것에 대해 여러 사람들이 아쉬움을 가지고 있는 것 같았다.
지금은 그때보다도 시장이 더 빠르게 변하고 있다. 사람들의 경험이 변하고 요구가 변한다. 프로젝트 초기에 그런 변화들을 예측하여 계획을 잡지만, 세상일이 예측한 대로 진행되는 경우는 별로 없는 법이다. 그러니 애초의 가정과 비교하여 현재의 시장 상황이 어떻게 달라졌는지 주기적으로 살펴야 한다. 그리고 예측과 현실의 차이가 기존의 의사결정에 영향을 미치는 것으로 판단되면, 의사결정을 다시 진행하는 것까지 고려해야 한다.
사람은 한번 결정한 것은 지키려는 습성이 있다. 계획에서 벗어나는 것을 싫어하는 습성도 있다. 환경의 변화에 따라 결정을 수정하는 작업은 그래서 인간의 본성을 거스르는 일로 볼 수도 있다. 그렇기 때문에 더 적극적으로 시도해야 한다. 편한 쪽을 따라가다 보면 소홀해지기 십상이다.
'애자일'하면 가장 먼저 생각나는 것이 이 부분 아닐까 생각한다. 동작이 되는 제품을 빨리 만들어서 피드백을 받고, 동작이 되는 상태를 유지하면서 완성시켜가는 것이다. 이런 과정에 대해 대체로 긍정적으로 생각할 것 같은데, 게임 제작을 하는 입장에서는 특히나 중요한 부분이었다. 게임이라는 것이 플레이어에게 재미를 주어야 하는데, 이 재미라는 녀석은 아주 주관적인 것이어서, 제작자가 재미있을 것이라고 생각한 것이 정말 시장에서 재미있는 것으로 인정받을지 예상하기가 어렵다. 실제로 실패하는 대부분의 게임들이, 만드는 사람은 재미있을 거라고 생각했지만 플레이어들은 재미있어하지 않은 결과다. 그러다 보니 프로젝트 초기부터 고객의 평가를 받아보는 것이 중요하다고 생각하게 되었다.
고객에게 평가를 받을 때 주의해야 할 것들이 몇 가지 있다. 제품을 개발하는 사람들은 이미 머릿속에 제품이 최종적으로 갖출 모습이 어느 정도 그려져 있다. 그래서 프로토타입 같은 형태로 테스트를 해도 크게 무리가 없다. 그런데 개발팀에 속하지 않은 사람들은 머릿속에 제품의 최종 모습이 없다. 그래서, 그 사람들에게는 제품의 현재 모습이 제품의 퀄리티를 판단하는 유일한 기준이 된다. 그러니 시간이 부족하더라도 어느 정도는 모양을 갖추어 놓고 보여주는 게 좋다. 최소한 어수선하지 않고 깔끔하게 정리된 모습이라도 갖추고 있는 것이 좋을 것 같다.
또 한 가지 주의할 것은 고객에게 평가받을 요소를 명확히 하는 것이다. 테스트할 때, 테스트 요소를 명확히 알고 진행하는 것과 모르고 진행하는 것은 성과에 큰 차이가 난다. 물론, 고객은 그런 걸 모르는 상태에서 테스트를 진행할 수도 있다. 그렇게 테스트해야 하는 경우도 있다. 하지만, 제품을 제작하는 사람들은 명확한 목적을 갖고 테스트를 해야 한다. 그렇지 않으면 정작 중요한 요소를 확인하지 못한 채 끝나버리는 상황이 발생할 수 있다.
프로젝트를 시작할 때 프로젝트 완료 일자를 어느 정도 예측해보고 시작하는 것이 보통이다. 그런데, 이 예측이 맞는 경우는 많지 않다. 내가 참여했던 대부분의 프로젝트는 계획했던 것보다 더 많은 시간을 소비하고 완료되었다. 그래서 프로젝트를 진행하는 중간중간에 원래 계획과 현재 일정 사이에 발생한 차이를 확인하고, 최종 완료 일자를 다시 예상해보는 것이 반드시 필요하다.
한 번 밀리기 시작한 일정은 점점 더 많이 밀리는 경향이 있기 때문에, 일정이 밀리기 시작한 원인을 빨리 찾아서 수정하는 것이 중요하다. 새로운 일정이 수용 가능한 것일 때까지는 괜찮지만, 수용 한계를 넘어서게 되면 무리한 선택을 하게 되고, 잘못하면 더 큰 수렁으로 빠질 수도 있다. 특히, 타이밍이 중요한 프로젝트라면, 요구사항을 조정하던가 인력을 더 투입하는 등의 방법을 써서라도 달라지기 시작한 일정을 빨리 조정하는 것이 중요하다.
프로젝트를 진행하다 보면 일정만 달라지는 것이 아니라 프로젝트에 참여하는 인력에도 변화가 생긴다. 1년 이상 걸리는 프로젝트라면 처음 인력이 그대로 유지되는 경우가 오히려 흔치 않다고도 할 수 있을 것이다. 문제는 대체가 어려운 인력의 이탈이 발생했을 경우다. 이탈 인력이 하던 일을 다른 사람이 커버할 수 있으면 좋겠는데, 가끔은 그게 안될 때가 있다. 애초에 한 두 사람 이탈하는 것으로 팀과 프로젝트가 흔들리지 않게 준비하는 것이 좋겠지만, 세상 일이 다 뜻대로 되는 것은 아니지 않은가. 그래서 인력에 변화가 생길 때는 팀의 역량에 어떤 변화가 생기는지 확인해 보고, 프로젝트에 어떤 영향을 미칠지 고려해 보는 것이 필요하다. 그리고, 팀의 역량에 중요한 손실이 발생했으면 빠르게 그 손실을 메울 방법을 찾아야 한다.
일은 사람이 한다. 그러니 일을 하는 주체인 사람을 살피는 것은 너무나 당연하고 또 중요하다. 그런데 이 당연한 일을 소홀히 하는 경우가 심심치 않게 발생한다. 사람을 살피는 일이 생각보다 쉽지 않은 일이기도 하고, 성과가 명확하지 않아 기여를 인정받기 어려운 일이기도 해서 그런 것 같다.
문제의 유형은 다양하다. 사기가 떨어져서 업무 진행이 잘 안되고 있을 수도 있고, 과업이 팀원의 성향과 잘 맞지 않아서 열심히 하는데 성과가 따라오지 못하는 상황일 수도 있다. 팀원 간의 관계에 문제가 생겼을 수도 있고, 팀원의 개인적인 문제로 업무에 집중하지 못하고 있을 수도 있다.
자신에게 어떤 문제가 있으면 당사자가 가장 먼저 알아채기 마련이다. 하지만, 알아챘다고 해서 금방 고칠 수 있는 것은 아니다. 위에 나열한 유형들만 해도 혼자서는 해결하기 어려운 것이 대부분이다. 그래서 동료나 리더의 도움이 필요하지만, 막상 도움을 요청하는 것도 쉽지만은 않다.
따라서, 팀원들의 상태를 확인하고 문제를 수정하는 데는 리더나 매니저의 적극성이 필요하다. 팀원들에게 관심을 기울이면 평소와 다른 징후들을 포착할 때가 있는데, 그럴 때 무심히 넘기지 말고 무슨 문제가 있는지 살피는 게 좋다. 평소에 어려운 이야기도 나눌 수 있는 관계를 형성해 두었다면 이럴 때 도움이 될 것이다.
개인이 겪는 문제를 리더가 같이 해결해 주면, 원래 상태로 돌아가는 것뿐만 아니라 리더와 팀원 사이의 신뢰가 공고해진다. 심지어는 이런 과정을 지켜보는 다른 팀원들도 리더를 신뢰하게 되고 팀이 더 단단하게 다져지는 계기가 된다. 혹여, 문제가 완전히 해결되지 않더라도, 팀원을 돕고자 하는 리더의 태도 자체가 팀에 긍정적인 영향을 미치게 될 것이다.
세상에 문제를 겪지 않고 진행되는 프로젝트는 흔하지 않다. 문제가 발생하지 않고 프로젝트가 잘 진행되고 있다면, 문제가 없는 것이 아니라 모르고 있을 가능성이 더 높다. 그러니 프로젝트가 너무 잘 진행된다 싶으면 오히려 팀과 프로젝트의 모든 것을 한 번씩 되짚어 볼 때로 생각하는 것이 좋겠다.
타성에 젖지 말고, 쉬운 길의 유혹에 빠지지 말고, 거짓된 평온함에 눈 감아버리지 말자. 번거롭고 힘들지만, 안 그래도 할 일 많아서 바쁘겠지만, 팀과 프로젝트가 잘못된 방향으로 흘러가고 있지 않은지 자주 들여다보고 확인해 봐야 한다. 모르는 척한다고 해서 문제가 저절로 해결되지는 않으니까 말이다. 오히려 더 이상 덮어 놓을 수 없는 지경이 되면, 그때는 해결하고 싶어도 해결할 수 없는 상태에 빠질 수도 있을 것이다.
1. 시장 상황을 살피자.
프로젝트를 시작할 때와, 시장의 상황이 어떻게 변했는지 주기적으로 살펴야 한다.
시장의 변화가 프로젝트 성과에 영향을 미칠 만큼이라면, 이미 진행된 의사결정을 다시 검토해 봐야 한다.
2. 고객의 의견을 빨리 들어보자.
동작이 되는 최소한의 프로덕트로 고객의 의견을 빨리 수집해야 한다.
최소한의 프로덕트라고 하더라도 형태를 너무 궁색하게 만들어 놓으면 안 된다.
평가받을 요소를 명확히 해야 시간과 노력을 낭비하지 않는다.
3. 프로젝트 계획과 현재 상황을 비교하자.
일정과 인력이 계획대로 유지되고 있는지 자주 살펴야 한다.
차이가 발생했을 때, 그 차이로 인한 손실을 살피고 빠르게 대응해야 한다.
4. 팀원들의 상태를 살피자.
팀원에게서 어떤 징후가 포착되었다면, 리더나 매니저가 먼저 대화를 시도해 보는 것이 좋겠다.
팀원 혼자서 해결하기 어려운 문제는 리더나 매니저가 같이 해결을 시도하자.
팀원을 도우려는 태도는 팀의 결속력을 높여줄 것이다.