글을 쓰는 일은 쉬운 일이 아니다. 자신의 생각을 글로 변환하는 과정이 어렵다는 얘기는 아니다. (물론 그것은 어렵다.) 약간은 성격 탓이기도 할텐데, 자신의 생각이 다른 누군가의 뇌리 속에 또는 영원히 검색 엔진의 캐시를 떠돌며 다른 사람들에게 보여질지도 모른다는 생각은 글을 쓰는 행위 자체를 불편하게 만든다. 글을 한번 쓰게 되면 관련된 모든 정보 – 초기 역사로부터 모든 권위있는 평가 – 를 모아서 써야한다는 강박증도 있다. 이런 강박관념을 떨쳐내야지 하면서도 매번 잊게 된다. 어차피 내가 쓴 글은 일시적인 나의 생각일 뿐이고, 수정 가능하며, 사람들이 심각하게 생각하지도 않는다는 것.
XP의 프랙티스 중에 Small Releases라는 것이 있다. 말그대로 작은 릴리즈, 즉 릴리즈를 작은 단위로 자주 하라는 것이다. 작은 릴리즈의 장점은 여러가지가 있지만 내가 얘기하고 싶은 것은 즐거움이다. 릴리즈를 하면 ‘뭔가를 만들었다는 기쁨’을 느낄 수 있다. 그런 조그만 즐거움은 그 일을 계속 즐겁게 할 수 있도록 해주는 힘이 된다. 하루만에 릴리즈할 수 있는 일은 하루만에 릴리즈하라. 퇴근할 때 즐거운 마음으로 퇴근할 수 있을 것이다.
다른 하나 중요한 것은 필요한 일의 양을 초과하지 않게 해준다는 것이다. 작은 릴리즈를 하기 위해서는 필연적으로 일의 범위를 줄일 수 밖에 없는데, 그 과정에서 핵심적인 일이 무엇인지 가려내는 작업이 들어가게 된다. 다음 릴리즈에서 그 다음으로 핵심적인 일이 무엇인지도 쉽게 파악이 될 뿐만 아니라, 핵심적인 일이 더이상 없다면 일을 하지 않아도 된다!
작은 릴리즈는 소프트웨어 개발에서만 적용되는 것은 아니다. 뭔가가 비효율적인 것 같다는 생각이 들면, 당장은 부족하다 싶을 정도로 시간 제약을 두고 다음으로 미루어라. 정말 중요한 것만 다룰 수 있게 되고 덜 중요한 것은 버려지게 될 것이다. 만약 중요하나 잊어버린 것이 있다면 자연스럽게 생각이 날 것이다.
예를 들어, 회의가 너무 짜증나게 길다고 생각되면, 당장 회의 시간을 반으로 줄여보면 된다. 부족하다고 생각될지도 모르지만, 의외로 알찬 회의가 될 지 모른다. 물론 모자랄 수도 있다. 작은 릴리즈의 정신은 조그만 실험을 반복함으로써 더 좋은 방법을 찾아나가는 방식이다. 실패를 두려워하지 말고 변화에 적응하라는 것은 그런 얘기다.
문득 매일 매일 일터에서 생각하고 다른 사람들에게 특히 후배들에게 얘기한 것들을 돌아보면서 어딘가에 남겨두면 나중에 좋은 기록이 될거라는 생각이 들었다. 이 글도 그런 작은 릴리즈의 시도 중 하나다.
대학시절에 임베디드관련 컨테스트에 참가한 적이 있었습니다. 그당시 XP 를 프로젝트에 도입해 보려고 무던히도 애를 썼던 기억이 나는군요. 5명 규모의 팀내에서 작지만 빈번한 릴리즈를 목표로 4개월정도를 진행했던것 같습니다. 작은규모의 릴리즈는 확실히 프로젝트에서 팀원들의 의욕을 높여주었고, 자주 릴리즈함으로써 항상 목표의 어디쯤이라는 것을 확인할 수 있다는것이 좋았던것 같습니다.
확실히 그 점이 가장 큰 장점인 것 같네요.
스몰 릴리즈 오랜만에 듣는 단어이네요. 한동안 스몰 릴리즈를 잊고 있었던 것 같습니다. 무언가 빨리 작성하고 발표해보아야 겠네요. 좋은 글 감사합니다.