개발자 이진우
GTD: Getting Things Done

GTD: Getting Things Done

데이비드 앨런

링크 ↗

이 책을 읽게 된 계기

일을 하면서 늘 우선순위가 고민이었다. 여러 이해관계자와 함께 일하다 보면 각자에게 중요한 요청을 받는다. 그중 무엇을 먼저 해야 할지는 내가 판단해야 할 때가 많다. 이런 판단을 더 잘하는 팀원이 되고 싶어 GTD를 읽게 되었다.

예전에는 주어진 일을 빠르게, 많이, 가능한 한 완벽하게 처리하면 일을 잘한다고 생각했다. 책을 읽으면서는 내가 맡은 일을 얼마나 이해하고 있었는지 돌아봤다. 왜 해야 하는지, 어떤 결과를 얻으려는지, 지금 무엇부터 할 수 있는지. 우리 팀에서도 늘 강조하는 내용인데, 내 경험에 대입해보니 제대로 답하지 못했던 일이 떠올랐다.

바로 처리할 일의 기준 세우기

2분 룰은 다음 행동이 2분 안에 끝난다면 바로 처리하라는 원칙이다. 나중에 다시 확인하고 관리하는 데 드는 수고를 줄일 수 있다. 나는 빠르게 해결하고 신경을 끌 수 있는 일은 그렇게 하자는 뜻으로 받아들였다.

팀에는 여러 사람이 의논해 방향을 정해야 하는 일도 있고, 비교적 단순한 요청을 처리하는 일도 있다. 단순한 요청도 언젠가는 내가 해야 하고 대부분 기한이 있다. 쌓아두면 목록을 볼 때마다 다시 신경 써야 하니, 그 자체로도 부담이 된다.

나는 원래 단순한 요청이 들어오면 바로 처리하는 편이었다. 작업의 크기를 따져보지 않고 시작하기도 했다. 2분 룰을 읽고 나서는 어느 정도까지 바로 처리할지 기준을 정해볼 수 있었다. 정확히 2분을 재기보다는 지금 처리하는 수고와 나중에 다시 관리하는 수고를 비교해보려 한다.

여기에는 컨텍스트 스위칭도 고려해야 한다. 짧은 요청을 처리하더라도 하던 일로 돌아와 맥락을 떠올리는 데 시간이 든다. 데이비드 앨런도 수집한 일을 정리할 때 전체 업무를 파악하려면 한 항목에 오래 머무르지 않아야 한다고 설명한다. 앞으로 요청을 확인하고 정리하는 시점에 짧게 끝낼 수 있는 일은 처리하고, 시간이 더 필요하면 다음 행동을 기록해두려 한다. 집중하던 일을 끊으면서까지 작은 요청에 매번 반응하지는 않으려고 한다.

미래의 내가 바로 실행할 수 있도록 다음 행동으로 기록하기

GTD의 명료화 단계에서는 수집한 항목에 행동이 필요하다면 다음에 무엇을 할지 결정한다. 내 목록에도 나중에 읽었을 때 바로 실행할 수 있을 정도로 적어두고 싶었다.

키워드만 적으면 당장은 무슨 뜻인지 안다. 시간이 지나 다시 보면 왜 적었는지부터 떠올려야 한다. 맥락을 되짚은 뒤 다음 행동까지 정하려면, 처음 기록할 때보다 더 오래 걸릴 수 있다.

내 목록에 있던 항목 하나를 업무의 세부 내용을 덜어내고 옮겨보면 다음과 같다.

기능 개선 요청에 관한 슬랙 메시지를 읽고 업무 계획 작성하기

요청을 파악하는 일과 계획을 작성하는 일을 한 항목에 적어두었다. 메시지를 읽어봐야 계획에 무엇이 들어갈지도 알 수 있으니, 다시 쓴다면 이렇게 나눠볼 수 있겠다.

  1. 요청 스레드를 읽고 요구사항과 확인이 필요한 질문을 메모한다.
  2. 불명확한 내용이 있으면 요청자에게 묻는다.
  3. 확인된 요구사항을 바탕으로 작업 순서와 범위를 정리한다.

지금은 첫 번째 항목부터 실행하면 된다. 나머지는 요청을 파악한 뒤 구체화해도 된다. 아직 알지 못하는 부분까지 미리 잘게 나눌 필요는 없겠다.

목록을 작성할 때 ‘이 문장을 보고 바로 시작할 수 있는가’를 확인해보려 한다. 무엇을 하고 어디까지 마쳐야 하는지가 보이면 필요한 시간도 가늠하기 쉬울 것이다. 그러면 하루 중 남는 시간에 어떤 일을 할 수 있을지도 판단할 수 있다.

신뢰할 수 있는 외부 시스템에 기록하고, 이를 주기적으로 다시 확인하기

나는 스스로에게 인지 부하를 주면서 무언가를 익히는 편이었다. 같은 내용을 반복해서 떠올리고 생각하며 체득하는 과정을 좋아했다. 개발자다운 표현으로 바꿔보자면, 사람의 기억을 영속 저장소처럼 믿기는 어렵다. 한 번 본 내용을 필요할 때 정확히 꺼내올 수는 없으니 반복해서 기억하려고 했다. 그런데 업무에서 알아야 할 맥락이 많아지면서 놓치는 일도 늘었다.

그래서 믿을 수 있는 외부 시스템에 기록하라는 말이 와닿았다. 어디서든 쉽게 적을 수 있고, 필요한 시점에 다시 확인할 수 있어야 마음 놓고 맡길 수 있겠다고 생각했다.

현재는 Blink 앱에서 한 시간 또는 여섯 시간 간격으로 리마인드 알림을 받고 있다. 당장 행동할 수 없어도 기억은 해야 하는 일을 등록해두었다. 최근에는 알림이 많아지면 익숙해져서 지나칠 수 있다는 점도 느끼고 있다. 목록을 볼 때마다 당장 손댈 수 없는 일까지 모두 떠올리다 보니 부담스럽기도 했다. 반복 알림을 받을 항목의 개수를 제한해보려 한다.

매일 아침 팀원들에게 공유하는 데일리 체크인 스레드를 작성하면서 기록해둔 일도 확인하고 있다. 적어두고 다시 보는 시간을 마련하니 실제로 도움이 됐다. 이 습관은 계속 유지하면서 알림을 얼마나 받을지 조절해보고 싶다.

상향식 접근과 하향식 접근으로 일상과 커리어를 바라보기

나는 큰 목표가 분명해야 행동할 수 있다고 생각해왔다. 방향을 먼저 정하고 계획을 세운 다음 구체적인 할 일을 정하는 하향식 접근에 익숙했다.

GTD에서 말하는 상향식 접근은 지금 신경 쓰이는 일들을 먼저 정리하고, 그 여유를 바탕으로 더 큰 방향을 살피는 데서 출발한다. 해야 할 일이 머릿속에 가득하면 장기적인 목표를 생각할 때도 눈앞의 요청들이 떠오를 수 있다. 이런 때에는 지금 맡은 일이 무엇이고 어디까지 진행됐는지부터 정리해볼 수 있겠다. 큰 목표를 세우기에 앞서 당장 쌓인 일을 정리하는 것도 도움이 된다는 점이 인상 깊었다.

커리어에 대해서는 여전히 하향식으로 접근하고 싶다. 커리어의 이상향을 그리고 이에 따라 전략적으로 행동하려 한다. 어떤 개발자가 되고 싶은지, 그에 필요한 역량과 경험은 무엇인지부터 구체화해보려고 한다. 일상 업무에서는 상향식 접근을 활용하고, 커리어를 고민할 때는 장기적인 목표부터 살펴보려고 한다.

일을 미루는 이유를 돌아보고, 다음 행동까지 결정해보기

어렸을 때 나는 스스로를 게으르다고 생각했다. 해야 할 일을 미루면 의지가 부족해서라고 여겼다. 그런데 미뤘던 일과 미루지 않았던 일을 비교해보니, 무엇을 해야 하는지가 정해져 있었는지에 따라 차이가 있었다.

책의 ‘왜 똑똑한 사람들이 일을 많이 미룰까’라는 대목을 이 경험과 연결해봤다. GTD의 미루기에 관한 설명에서는 일을 시작하기도 전에 예상되는 어려움과 복잡함에 압도될 수 있다고 이야기한다. 이때 구체적인 다음 행동을 정하면 시작하는 데 도움이 된다고 한다.

내가 미뤘던 일 중에는 무엇을 할지부터 정해야 하는 일이 있었다. 그 결정을 미뤄두면 목록을 다시 볼 때도 여전히 어디서 시작할지 알 수 없었다. 맥락을 이해했을 때 다음 행동까지 정해두면 같은 고민을 반복하는 수고를 덜 수 있겠다. 누군가의 확인이 필요하다면 무엇을 물어볼지 정해두면 된다.

지금은 업무에서 무엇을 해야 할지 정해져 있지 않아도, 그것을 정할 수 있는 사람이 되어가고 있다고 느낀다. 논의를 마치거나 일을 정리할 때 ‘그래서 다음에 무엇을 할 것인가’를 확인하는 습관을 들이고 있다.

해결하고자 하는 문제의 본질을 이해하기

당신이 하고 있는 일의 목적에 의문을 제기하라.

주어진 일을 그대로 시작하기 전에 왜 필요한지부터 되물어보라는 말로 받아들였다.

이전에 한 에픽을 진행하면서 이미 제시된 해결책을 어떻게 구현할지에만 집중한 적이 있다. 설계와 리뷰 과정에서 ‘그렇다면 다른 방법도 있는 것 아닌가요?’라는 질문을 받았는데 제대로 답하지 못했다. 그 방법으로 무엇을 해결해야 하는지 충분히 이해하지 못했다.

XY Problem에서 Y에만 집중했던 경험이다. 문제 X를 해결하려고 선택한 방법 Y를 구현하는 데 몰두하다 보니 다른 방법과 비교할 기준이 없었다. 달성해야 할 목표를 이해했다면 기존 방법을 선택한 이유를 설명하거나 다른 대안을 제안할 수 있었을 것이다.

GTD의 Natural Planning Model도 목적을 정하는 데서 시작한다. ‘이 일을 왜 하는가’는 우리 팀에서도 늘 강조하던 질문인데, 당시에는 구현에 집중하느라 충분히 고민하지 않았다.

최근 작성한 운영 기능 개선안에서는 처리 속도와 함께 실패했을 때 안전하게 복구할 수 있는지, 다른 작업에 영향을 주지 않는지, 운영자가 상태를 파악하고 대응할 수 있는지를 살폈다. 각 대안을 이 조건들에 맞춰 비교했다. 개별 기능을 어떻게 구현할지 정하기 전에, 그 기능을 사용하는 사람이 무엇을 할 수 있어야 하는지부터 생각해봤다.

앞으로도 일을 시작할 때 왜 필요한지와 무엇이 달라져야 하는지를 먼저 적어보려 한다. 주어진 해결책을 검토할 때도 그 방법이 꼭 필요한지, 같은 목적을 달성할 다른 방법은 없는지 함께 살펴보고 싶다. 그러다 보면 처음 제안받은 방법보다 더 나은 아이디어를 낼 수도 있을 것이다.

읽고 남은 생각

GTD에는 이미 어렴풋이 하고 있던 방법도 있었고, 시행착오를 거치며 익힌 것도 있었다. 익숙한 행동을 규칙으로 정리해둔 부분이 많았다. 덕분에 내가 왜 그렇게 일했는지 돌아보고, 어디를 고쳐볼지 생각할 수 있었다.

읽는 동안 지루하거나 현학적으로 느껴지는 부분도 있었다. 한 번 읽고 모든 방법론을 소화하지는 못했다. 그렇다고 모두 적용해야 한다고 생각하지도 않는다. 지금 내 업무에서 불편한 부분에 맞춰 하나씩 써보려 한다.

나는 일의 목적에 맞게 시간과 주의를 쓰고, 필요한 행동을 해나갈 수 있어야 생산적으로 일한다고 생각한다. 처리한 일의 개수나 속도에 더해, 그 일이 어떤 결과에 도움이 되는지도 보려고 한다.

처음에는 우선순위를 더 잘 판단하고 싶어 이 책을 읽었다. 내 일을 한눈에 확인하고 각각의 목적과 다음 행동을 정리해두면, 무엇부터 할지 결정할 때도 도움이 될 것 같다. 우선 업무를 시작할 때 ‘왜 하는가’에 답을 적어보려 한다.