마감. 이런 분위기를 그리워 했던 것인 지도.

마감. 이런 분위기를 그리워 했던 것인 지도.

지난 보고 준비를 계속해 슬슬 마무리 했습니다. 이제 남은 보고 과정이 잘 진행되어 우리들이 예상한 것 만큼의 런웨이를 확보해 앞으로 나아갈 기회를 얻거나 그렇지 못해 어려운 상황에 빠지거나의 기로에 서 있습니다. 종종 상황을 부정적으로 바라보는 경향이 있는 제 입장에서는 우리들의 준비가 과연 사람들의 주목과 신뢰를 이끌어낼 수 있을지 걱정이 큽니다. 다른 한 편으로는 미리 우리들의 상황을 본 분들로부터의 평가가 그리 나쁜 것 같아 보이지는 않습니다. 하지만 저는 이미 지옥의 걱정 모드에 들어갔고 나쁘지 않은 평을 얻고 있다는 이야기는 한 쪽 귀로 들어와 순식간에 다른 쪽 귀로 빠져나가 버립니다.

게임 개발에 참여하며 항상 마감은 별로 좋은 이미지가 아니었습니다. 마일스톤 목표는 개발하며 분명히 맞닥뜨릴 문제를 해결하기 위해 연구할 시간을 고려하지 않은 채 수립되고 개발이 진행 되어 가며 서로 다른 기능이 통합되어 생긴 새로운 문제점은 이를 감안해 계획을 수정하기에는 일정이 너무 빡빡해 한 가지 일정을 조정하려면 아주 많은 다른 일정에 영향을 줘야 합니다. 그래서 문제가 있음을 알고 있지만 적당히 문제가 쉽사리 드러나지 않게 하는 선에서 적당히 마무리하곤 하는데 이런 의사 결정은 항상 좋지 않은 뒷맛을 남깁니다. 이렇게 적당히 마무리한 문제는 시간이 지나면 반드시 훨씬 더 비싼 청구서를 들고 찾아오기 때문입니다.

또한 마일스톤이 거의 끝나 갈 때가 된 다음에야 빌드를 살펴본 고위 의사결정자들이 그때서야 나타나 우리들이 이미 알고 있는 문제점을 지적하며 우선순위를 끌어올리거나 마일스톤 계획 상에 서로 구분한 기능의 경계선을 인식하지 않았거나 의도적으로 무시한 채 새로운 요구사항을 이번 마일스톤 안에 밀어 넣으려는 시도가 일어납니다. 언제나 겪어 온 일이지만 이번 마일스톤에도 달라지지 않았습니다. 예정에 없던 기능을 급히 작성한 명세는 딱 봐도 엉성해 보이지만 고위 의사결정자가 가장 높은 우선순위로 요구한 이번 마일스톤의 목표와는 별 관계가 없는 기능을 급하게 만들어내 보고에 예쁜 그림을 만들어내는 개발에 집중합니다. 극심한 초과근무를 반복해 사기는 떨어지고 빌드의 결함률은 줄어들 생각을 하지 않습니다.

이전까지는 그랬습니다. 이전에 경험한 모든 프로젝트에서 마감은 항상 이런 이미지였습니다. 분명 시작할 때 적당히 계획을 세웠지만 계획은 항상 지켜지지 않는데 원인은 우리가 어쩌면 통제할 수 있었을지도 모르는 곳으로부터 나왔습니다. 지구가 태양 주변을 공전하거나 대기가 순환하며 예측 불가능한 결과를 일으키는 것은 우리가 통제할 수 없지만 서로 다른 기능이 통합되며 문제를 일으키는 상황을 예상해 계획에 반영하거나 막판에 나온 마일스톤 관점에서는 별로 중요하지 않은 기능의 등장을 고려해 일정을 수립할 수도 있었겠지만 이런 생각은 오직 사람들의 머릿속과 술자리에만 등장할 뿐 실행된 적은 없었습니다.

한편 이번에는 이런 상황을 조금 더 통제할 수 있었다고 생각합니다. 물론 이번에도 소프트웨어를 개발하는데 참여하는 인간들의 완벽하지 못함은 서로 다른 기능이 한 빌드에 통합되어 상호작용을 일으키며 발생 시키는 오동작을 예측하지 못했고 한 편으로는 황당하고 또 다른 한 편으로는 웃긴 온갖 문제를 일으켰습니다. 이런 통합 단계에서의 문제 해결에 필요한 시간을 계획 수립에 충분히 반영하지는 못해 결국 초과근무를 피할 수 없었지만 밝은 면을 보면 마일스톤 후반에서야 빌드에 대한 낮은 이해도와 기능 간의 경계선을 감안하지 않은 이상한 요구사항이 나타나지 않도록 했습니다. 그래서 빌드 마감은 이전의 경험에 비해 평화로운 편이었고 또 사기가 떨어지지도 않았다고 생각합니다.

마감 날, 이미 여러 번 테스트를 통해 치명적인 결함을 대부분 해결했지만 이번에도 막판에 서로 다른 기능이 빌드에 통합되면서 이번에 본 적 없는 문제가 일어났고 문제를 해결하는데 엔지니어들이 달라붙어 있고 몇몇 사람들이 대기하며 테스트를 준비하고 있었습니다. 시간은 저녁을 지나 밤으로 가고 빌드머신은 계속되는 빌드에 거의 V1에 다다랐으며 삼삼오오 모니터를 가운데 두고 모여 앉아 커밋 로그와 코드를 가리키며 대화를 나누고 있습니다. 그러다가 누군가 ‘짝!’ 하고 박수를 치고 ‘이거네!’ 하며 원인을 찾아내고 그 자리에서 빌드해 동작을 확인하고 코드를 커밋해 빌드머신을 이륙 시키며 다음 테스트를 위해 각자 대기하며 하던 사사로운 행동을 멈추고 자세롤 고쳐 앉으며 빌드가 배포되기를 기다리는 분위기는 오랜만에 마감이 이전에 경험하던 사기가 낮고 또 무기력한 그런 느낌과는 무척 다르게 느껴졌습니다.

마감. 이런 분위기를 그리워 했던 것인지도 모르겠습니다.

이번 주에는 이런 다섯 가지 생각을 해봤습니다.


올바른 질문 하기
1차 완료는 완료인가요 아닌가요에서 ‘1차 완료’라고 말씀하시는 작업자님께 그래서 그 상태는 완료된 상태를 말하는지 완료되지 않은 상태를 말하는 지를 직접 질문하면 종종 상대를 방어적으로 만들 수 있습니다. 질문의 의도는 이 작업의 ‘1차 완료’ 상태를 ‘완료’로 판정하고 제작된 에셋을 다음 작업자에게 전달 시켜 다음 작업을 시작하고 또 이번 작업을
1차 완료는 완료인가요 아닌가요
전문 PM이 있지만 종종 개발팀에서 게임디자이너는 자신이 담당한 기능과 그 기능이 영향을 주는 주요 기능에 대한 마이크로 PM처럼 행동하기도 합니다. 종종 해외 개발 사례를 보면 엔지니어가 명세나 일정을 변경하려고 할 때 매니저와 대화하는 장면이 나오곤 하는데 여기서 매니저가 하는 역할의 일부를 게임디자이너가 수행합니다. 게임디자이너는 그 스스로 요구사항을 정리하고 이를 어느
하늘로 날아간 아바타
아직 게임 만드는 일을 시작하기 전에 게임 소프트웨어를 포함한 여러 소프트웨어는 굉장히 단단하게 만들어질 거라고 생각했습니다. 그게 무엇인지, 또 어떻게 하는 것을 말하는 것인지 스스로 설명할 수 없었지만 게임 속 세계를 움직이는 내 캐릭터의 발끝과 땅은 서로 절대 겹치지 않으며 내가 발사한 총알은 완벽한 궤적을 그리며 상대에게 날아가 상대의 모자
아틀라시안 클라우드의 중요한 세 가지 새 기능 소개
얼마 전 아틀라시안의 Team 23 행사가 있었습니다. 애플이나 구글, 마이크로소프트 같은 회사의 신제품 발표와는 달리 관심 가지는 사람들이 드물긴 하지만 지난 몇 년에 걸쳐 개인 기록과 회사 기록 모두를 이 회사 제품에 의존하고 있는 입장에서, 또 이 회사 제품에 한동안 발전이 정체 된 것 같은 느낌을 받던 참에 이 행사는
도구에 대한 관심은 당연하지 않다
장인은 도구를 탓하지 않는다고 하지만 암만 생각해도 이 말은 장인들은 이미 자신에게 맞고 또 익숙한 좋은 도구를 사용하고 있기 때문이라는 생각을 한 적이 있습니다. 일을 포함해 일상의 거의 모든 작업에 컴퓨터와 모바일 기계를 사용하는 입장에서 좋은 도구는 먼저 책상이나 의자, 그리고 좋은 모니터와 컴퓨터 자체라고 할 수 있습니다. 하드웨어의 발전이

마감은 끝났지만 여전히 그동안 준비한 빌드를 실제로 보고할 일이 남았습니다. 이전 같으면 직속 임원 분들이나 대표 수준에 보고하면 됐지만 이번에는 서로 다른 여러 주체에 보고해야 해서 보고에 소요되는 기간이 짧지 않습니다. 부디 나름 즐겁게 개발하고 있으니 이를 계속해 의미 있는 결과를 만들 기회를 얻을 수 있으면 좋겠습니다.