최근 가시화라는 단어가 가시처럼 콕 박혔다
최근 조직에서 가장 많이 들은 단어 중 하나는 바로 ‘가시화’였다. 보통 조직에서 “공수랑 버퍼 산정해서 일정 가시화 해주세요”, “공수 가시화 해주세요”, “디펜던시 고려해서 일정 가시화 해주세요”의 맥락에서 가시화라는 단어를 많이 들었다.
이런 ‘가시화’라는 단어와 한 쌍으로 붙어 다니는 단어를 꼽으면 바로 ‘계획’이지 않을까 싶다. 일정이든 공수든 가시화의 최종 목적은 사전에 세운 계획을 달성할 수 있는지, 제한된 일정과 리소스를 바탕으로 특정 기간까지 달성하기로 한 계획을 실제로 달성할 수 있는지, 달성하지 못한다면 계획을 얼마나 변경해야 하는지 , 즉 계획의 수립과 변경, 달성 여부 확인이라고 할 수 있을 것 같다.
아직까지 ‘가시화’를 한다는 것이 몸에 완전히 체화되지는 않았고, 심지어 어렴풋이 머리로나마 이해하는 정도라고 생각한다. 그래도 여태까지 머리로나마 조금 익힌 걸 적어보려 한다. 물론 버전으로 따지면 지금 머릿속에 있는 것들은 _v0.1 정도를 붙일 수 있지 않을까 싶다. 앞으로 이 버전은 업데이트될 것이고, _v1.0까지 도달하는 기간을 얼마나 단축시킬 것이냐가 더 중점이 될 것 같다.
모든 조직은 계획 아래서 움직인다. 조직은 계획의 필수 요소다. 보통 장기적인 계획은 로드맵이라는 이름으로, 단기적인 계획은 스프린트 플래닝 등의 이름으로 기간과 작업 범위에 따라서 다양한 세부적인 이름이 붙지만, 모든 조직은 계획 아래서 업무를 진행한다. 그리고 계획에 맞춰서 실제로 조직이 발전해 나가는지를 수시로 체크하며, 계획을 수정하기도, 취소하기도 한다.
그래서 흔히 말하는 P형처럼(나처럼) 아무리 계획 수립에 대한 성향이 없거나 평소에 계획 수립을 하지 않더라도, 업무를 진행할 수 있는 수준의 그러니까 조직에서 요구하는 만큼의 계획 수립 역량을 길러야 한다. 사람마다 각자 가진 재능의 차이가 있어서, 누군가는 조금만 경험해도 계획 수립을 잘할 수 있고, 누군가는 더 의도적으로 더 오랜 기간 훈련해야 한다. 어쨌든 중요한 것은 최소 수준의 계획 수립 역량을 길러야 한다.
계획이 있다면 우선순위는 반드시 따라온다. 모든 조직, 특히 스타트업에게 언제나 리소스는 부족한데, 해야 할 것은 너무 많다. 그리고 그 해야 할 것들은 하나하나가 다 너무 중요해 보인다. 그렇더라도 해야 할 일에 대한 우선순위 정리는 반드시 필요하다. 로드맵처럼 장기적인 계획에서의 주요 마일스톤에 대한 우선순위는 리더십 레벨에서 세운다.
그러면 실무자들은 이 우선순위 자체와 우선순위가 나오게 된 배경을 이해하고, 이에 맞춰서 우선순위에 맞는 중간 마일스톤을 달성하기 위한 여러 업무 사이에서 우선순위를 정한다. 결국 업무를 잘게 쪼갠다면 이에 맞춰서 우선순위의 정리는 반드시 따라온다.
다시 계획 수립으로 돌아가면, 계획 수립의 핵심 중 하나는 일정에 대한 가시화다. 일정에 대한 가시화란 언제까지 어떤 목표를 달성하려고 하는데, 그 과정에서 언제까지 무엇을 달성할지를 예측하는 것이다. 예를 들면 커머스 서비스를 두 달 내로 오픈한다고 했을 때, 서비스는 두 달이 지나면 짠 하고 나타나지 않는다.
계획했던 두 달 내 커머스 서비스를 오픈하기 위해서는 언제까지 회원 가입 기능을 완성하고, 언제까지 구매 기능을 완성하고, 언제까지 검색 기능을 완성할지 등의 계획을 세워야 한다. 최종 목표를 달성하는 과정에서, 언제까지 중간 마일스톤을 달성해 나갈지 예측하는 것이 일정에 대한 가시화다.
일정에 대한 가시화를 아무리 잘했어도, 흔히 인터럽트라고 하는 예상치 못한 변수가 발생할 수 있다. 예상치 못한 변수가 발생하면 계획이 수정, 변경될 수 있다. 예상치 못한 변수가 발행했을 때, 사전에 일정을 가시화했다면 얼마나 계획이 변경될지를 예측할 수 있고, 일정을 변경하거나 업무의 우선순위를 조정하는 등의 의사 결정을 내릴 수 있다.
일정의 가시화를 위해서는 작업 공수를 정확하게 파악해야 한다. 작업 공수는 특정 목표를 달성하기 위해서 얼마나 시간이 필요한지를 확인하는 것이다. 예를 들어 회원 가입 기능이라는 기능을 구현하기 위해서 어떤 작업들이 필요하고, 각 작업마다 얼마나 시간이 필요하고, 그래서 결국 해당 목표를 달성하기까지 얼마나 시간이 필요한지를 확인하는 것이다.
그리고 공수를 정확하게 파악하기 위해서는 해야 하는 일의 목표 지점을 명확히 정의해야 한다. 예를 들어, 목표를 장바구니 기능 구현이라고 했을 때, 정말 상품을 장바구니에 담는 것까지 구현인지, 장바구니에 담은 후 결제까지를 구현하는 것인지를 명확히 해야 한다. 언뜻 보면 ‘후자가 당연한 거 아닌가?’라고 생각할 수 있어도 당연하다고 생각하는 것들은 생각보다 당연하지 않다.
또 목표에 대해서 유저 입장에서 경험의 처음부터 끝까지의 범위를 바탕으로 공수를 산정해야 한다. 예를 들어 목표가 ‘유저는 장바구니에서 결제까지 할 수 있다’라면 개발자에게 장바구니부터 결제까지의 기획서 혹은 디자인 시안과 같은 산출물을 분절시켜서 전달하는 게 아니라, 유저가 장바구니로 들어갈 수 있는 진입점부터 결제가 완료되어서 결제 내역을 확인하기까지의 유저 관점에서의 전체 경험에 관한 산출물을 제공해야 한다.
그래야 공수가 처음부터 더 정확하게 파악된다. 만약 개발자에게 전체 경험 없이 분절된 경험만 제공한다면, 실제로 구현을 하며 경험과 경험 사이 예상치 못한 업무들이 튀어나올 수 있다. 즉 예상치 못한 추가 공수를 발견하게 되는 것이고, 이는 일정의 가시화를 부정확하게 만든 것이고, 결국 정확한 공수 산정과 일정 산정에 실패한 것이다.
그리고 특정 일자까지 특정 기능 구현이라는 계획도, 더 자세히 보면 세부적으로 계획이 나뉠 수 있다. 특정 일자까지 기획 완료, 특정 일자까지 디자인 완료, 특정 일자까지 개발 완료. 여기서 한 단계 더 세분화한다면 다음과 같이 더 세분화할 수 있다. ‘D+3까지 기획 1차 피드백, D+5까지 기획 픽스, D+6에 디자인 요청, D+8에 디자인 1차 피드백, D+11에 디자인 픽스, D+12에 개발 요청, D+20에 개발 완료, D+21에 QA 진행, D+25에 QA 완료, D+26에 기능 배포’
결국 업무 진행에 있어서는 계획이 필수이고, 현실에 기반해 계획의 정확성을 높이기 위해서는 정확한 공수 산정을 바탕으로 한 정확한 일정 가시화가 필요하다. 리더십 레벨에서부터 로드맵과 큰 마일스톤이 나오고, 이를 바탕으로 실무자 레벨에서는 큰 마일스톤의 달성을 위한 중간 마일스톤이 나오고, 또 중간 마일스톤을 달성하기 위한 세부 계획들이 나온다.
또 반대로 리더십 레벨은 실무자들이 올리는 계획을 바탕으로 큰 마일스톤과 로드맵 달성이 제대로 되고 있는지, 제대로 되지 않는다면 어떤 부분을 조정해야 할지를 파악한다. 그래서 실무자들은 정확한 공수 가시화를 바탕으로 한 일정 가시화, 그리고 이를 바탕으로 한 계획과 실제 진척률을 최대한 정확하게 리더십 레벨에게 전달해야 한다. 계획을 정확하게 전달할수록 리더십 레벨로부터의 신뢰 자산이 쌓인다.
공수 가시화를 바탕으로 한 일정 가시화는 실제로 작업을 진행하는 작업자에게 전적으로 달려있다. 그리고 이를 매니징 하는 역할은 실제로 공수를 어떻게 할 수는 없지만, 공수 혹은 일정에 변경이 생기는지를 지속적으로 확인해야 한다. 그리고 이를 리더십에 올리고, 조정하고 등의 액션을 통해서 작업자가 작업에만 집중할 수 있도록 노력해야 한다.
가시화라는 개념에 대해서 머리로 익힌 지 얼마 되지 않았다. 즉, 실제 업무 속에서 공수와 일정에 대한 가시화를 위해서는 앞으로 의도적으로 반복해서 연습하고, 부족한 부분을 개선해야 한다. 그 과정에서 분명히 실수도 하고, 좌절도 할 게 분명하다. 그래도 꼭 해내야 하는 영역이다. 이 영역을 넘지 못한다면, 직무적으로 발전하고 성장할 수가 없다.
내가 하는 일이 아주 작은 부분에 대한 가시화라도, 이것들이 모이면 큰 마일스톤과 로드맵에 영향을 준다. 그렇기 때문에 아주 작은 부분에 대한 가시화라도, 최대한 정확하게 하려는 노력을 해야 한다. 그리고 작은 부분부터 정확성을 높여야 더 큰 부분에 대한 가시화의 정확성을 높일 수 있다.
ASH 님의 브런치에 게재한 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다.