없는 생활 (2)

없는 생활 (2)

지난 (지라)없는 생활에서 제목 낚시를 한 다음 얼마 지나지도 않았는데 또 제목 낚시를 해도 괜찮은가 고민했었는데 한번 제목을 이렇게 붙이고 나니 비슷한 상황이 일어나자 다른 제목을 생각할 수 없었습니다. 하는 수 없이 이번에도 뉴스레터 없는 생활과 관계가 없는 글에 이 제목을 붙인 다음 이야기를 계속해 보려고 합니다. 지난번에는 마일스톤 마감에는 여러 가지 이상한 일이 벌어지곤 하는데 그 중에는 회사가 월말에 주로 맞이하는 여러 행정적인 경계선과 우리들의 마감이 겹쳐 바쁜 때에 황당한 일이 일어날 수도 있다는 이야기를 했습니다. 그런데 꼭 행정과 맞물린 곳에만 황당한 일이 일어나는 것은 아닙니다.

실은 여러 프로젝트 마감에는 마가 끼어 있습니다. 아니면 다른 평화로울 때가 아닌 가장 바쁠 때, 더 이상 일정을 미룰 수 없을 때, 몇 시간 뒤에 서비스를 시작해야만 하는 바로 그 때 온갖 이상한 일이 생기는 이유를 설명하기 쉽지 않습니다. 샤머니즘에 원인을 맡기고 쉬운 결론에 다다를 수도 있지만 여러 가지 문제로 작업을 진행할 수 없게 된 김에 잠깐 자리에서 일어나 밖에 나가 한밤중의 담배 연기 섞인 후텁지근한 바깥 바람을 좀 쐬면 좋을 것 같습니다.

사무실을 뒤덮은 야근의 냄새 대신 지역 스케일의 야근 냄새를 맡으며 냉정하게 지금 무슨 일이 일어났는지 생각해 보면 마감이니까 당연히 모든 사람들이 일하고 있고 모든 사람들이 일하고 있다는 것은 다시 말하면 모든 사람이 형상관리도구에 커밋을 해 대고 있다는 이야기이며 커밋이 일어난다는 이야기는 빌드머신이 계속해서 최대한으로 가동되고 있을 뿐 아니라 빌드를 분산해서 처리하는 모든 기계들로부터 풍부한 열이 발생하고 있다는 의미일 뿐 아니라 이 모든 동작을 기록하는 스토리지들 역시 최대한으로 데이터를 읽고 쓰는 중이라는 의미입니다. 그러니까 이런 상황에서 무슨 일이 일어나도 이상하지 않습니다.

한번은 C레벨 패닉에서 소개한 사례로 어느 프로젝트가 이제 곧 런칭을 준비하고 있었습니다. 정확히는 다음 주에 런칭 일정이 잡혀 있었는데 여러 가지 설명하기 복잡한 사정으로 인해 런칭 일정을 앞당기기로 합니다. 이 상황을 맞이한 여러 사람들이 평생 여러 게임을 개발하며 일정을 미룬 경험은 있지만 일정을 당긴 경험은 처음이라며 당혹스러워 했습니다. 하지만 우리는 일정을 당겨야만 했고 이를 위해 이번 주 까지 개발을 마무리한 다음 주말에 런칭 하기로 결정합니다. 주말 런칭을 위해 우리들은 정말 있는 힘껏 QA가 찾아내는 결함을 수정했고 이에 따라 각자의 컴퓨터는 언리얼을 실행할 때마다 굉음을 뿜어 댔으며 별 생각 없이 다른 사람 컴퓨터 뒤에 서 있으면 컴퓨터를 통과한 후끈한 공기를 바로 들이마셔 기침을 할 지경이었습니다. 한편 이런 상황에 갑자기 빌드가 끝나지 않고 빌드 상태를 표시하는 웹사이트를 새로고침 하자 서버가 응답하지 않는 상태가 됩니다.