[개발 일정관리] #2 일정관리의 원칙

Joshua Kim
ITArtist
Published in
5 min readApr 23, 2021

지난 글

이 글은 ‘개발 일정관리’라는 주제로 연재하는 2번째 글입니다.

왜 개발이 빠진 ‘일정관리'인가?

이번 글부터는 본격적으로 개발 일정관리에 방법론에 대해 다루어 볼 것이며, 그 첫 주제는 ‘일정관리의 원칙'이다. ‘개발'이란 단어가 빠지고 그냥 일정관리에 대해 이야기를 하는 이유는, 일정관리, 즉 플래닝(앞으로 이 글에서는 계속 플래닝이라고 표현하겠다)이 일반적인 영역이라면, 개발 일정관리는 그 플래닝 중 특수한 영역이기 때문이다. 기본적인 공부법에 관한 이야기를 먼저 하고 과목별 공부법으로 들어가는 것과 같다고 보면 되겠다.

플래닝의 원칙

4세대 시간관리 방법

스티븐 코비 박사의 <성공하는 사람들의 7가지 원칙>에서는 4세대 시간관리 방법을 제시하면서, 시간관리의 1, 2, 3, 4세대 방법론을 다음과 같이 정의하였다.

  • 1세대: To do list 위주의 기록.
  • 2세대: To do list + 달력과 일정표 등을 사용하는 것.
  • 3세대: 목표 설정과 우선순위의 부여. ‘효율적'인 시간관리.
  • 4세대: ‘효과적'인 시간관리.

여기서 중점적으로 보아야 할 부분은 1세대부터 3세대까지 좀 더 효율적인 시간관리 방법론을 발전시켜 왔다면, 4세대는 시간관리에 대한 패러다임 자체가 바뀌었다는 것이다.

효율적인 것과 효과적인 것의 차이

효율적(Efficiency)인 것은 input에 초점이 맞춰져 있다. 같은 output을 더 적은 input으로 만들어내는 것이 효율적인 것이다. 결과보다는 과정을 중시하며, 더 효율적으로 일한다는 것은 더 빠르게, 더 많이 일함을 뜻한다.

반면에 효과적(Effectiveness)인 것은 output에 초점이 맞춰져 있다. 같은 input에 더 많은 output을 내는 것이 효과적인 것이다. 과정보다는 결과를 중시하며, 더 효과적으로 일한다는 것은 일이나 목표를 더욱 성공적으로 달성했음을 뜻한다.

흔히 팀장에 대한 이야기에서, ‘부지런하지만 멍청한 팀장'을 최악의 팀장으로, ‘게으르지만 똑똑한 팀장'을 최고의 팀장으로 말하곤 한다. 전자의 경우는 input도 많지만, output이 적은 것이고, 후자의 경우는 input도 적으면서 output도 많은 경우를 뜻한다. 전자는 비효율적이면서 비효과적이고, 후자는 효율적이면서 효과적이다.

이쯤 되면,

“효율과 효과 둘 다를 추구하는게 가장 좋은거 아닌가?”

라는 자연스러운 생각이 들 수 있다. 그러나 세상은 그렇게 쉽게 돌아가지 않는다.

이왕이면 효과적으로 일해야 한다

위에서 스티븐 코비는 4세대 시간관리 방법을 제시하면서, 효율적인 시간관리에서 효과적인 시간관리로 패러다임 자체를 변화시켰다는 말을 언급하였다. 왜 그는 효율과 효과 모두를 가져가기보다 ‘효과'자체에만 집중하였을까?

이상의 세계에서는 효율과 효과를 다 챙길 수 있을지 모르겠지만, 현실의 시간관리와 업무에서는, 효율을 추구하다보면 효과를 등한시할 수 밖에 없다. 사람의 마인드도 시스템도 그렇게 돌아가게 된다.

예를 들어보자. 수학 실력을 올리기 위해 하루에 수학문제 100개를 무조건 풀기로 계획 했다고 하면, 어느새 ‘수학 실력을 올린다'는 목표는 잊고 100개라는 개수를 맞추기 위해 공부하게 되기 일쑤이다. 물론 이런 방법으로 인해 수학 실력이 올라갈 수도 있지만, 반드시 그것을 담보하지는 않는다는 것은 자명한 일이다. 그것이 일상화 될수록 그 100개의 대다수는 이미 잘 알고 있는 기본 문제들이고, 푼 문제로부터 무엇을 배웠는지 피드백도 과정도 없다. 그저 반복할 뿐인 것이다.

이렇듯 효율을 추구하다보면 원리와 원칙을 추구하게 되고, 이는 시스템과 프로세스의 경직이라는 결과를 가져온다. 실제 회사 업무에서 이런 일들은 더욱 비일비재하다. 얼마나 결과를 냈느냐를 측정하기는 어렵지만, 얼마나 일을 했느냐는 측정하기가 쉽기 때문이다. 야근을 많이 하는 사람이 그냥 성실해 보이고 많이 일하는 것으로 보이는 것처럼 말이다.

애초에 ‘효율'이란 대량생산 시대에 적합한 것으로, 지금 시대에 꼭 적합하다고는 볼 수 없는 개념이다. 그러나 효율은 너무나 명확하고 분명하다. 책임의 소재를 따지기에도 쉽다. 내가 해야 할 input에 대한 책임을 다하였으니, output은 내 영역이 아니다. 유연해지지 못하고, 실수를 최소화하기에만 급급하게 되는 것이다.

효율적이면서 효과적으로 일하고자 하는 것은 방법론적으로는 가능할지 몰라도, 실제로는 마인드셋(mind set)자체가 달라져 필연적으로는 충돌을 가져오기 마련이다(후에 이에 대해 깊게 더 다룰 기회가 있으면 다뤄 보겠다).

“그래서 이왕이면 효과적으로 일해야 한다.”

그리고 효과적으로 일하는 것을 추구하면, 경험상 효율 역시도 일정 부분 따라오게 되어 있다. 아까 언급한 ‘게으르지만 똑똑한 팀장'은 게을러서 똑똑해질 수 있었던 것이 아니다. 마이크로 매니징이 팀원들의 자율성과 사기를 해친다는 것을 알고, 정확한 방향 제시와 의사결정으로 똑똑하게 일을 하기에 더 적은 input으로도 더 많은 output을 낼 수 있다.

이 팀장은 더 적은 input을 투입하기 위한 노력한 것이 아니다. 더 좋은output을 내기 위해 필요한 input만 투입했을 뿐인 것이다. 결과적으로 효과적인 방법을 고민했기에 자연스럽게 더 효율적으로 일하게 된 것이다. 그러나 이러한 효율은 따라올 수도 아닐 수도 있는 부분이기에 실제로 크게 고려할 부분은 아니다.

플래닝의 원칙

효과적으로 일하고자 하는 지향점. 이것이 플래닝의 핵심이며, 개발 일정관리에도 가장 중요한 마인드이다. 그리고 나는 이 효과적으로 일하기 위한 플래닝의 3가지 원칙을 다음과 같이 제시하고자 한다.

1. 중요하지만 급하지 않은 일을 계획한다.
2. 계획의 최소단위를 일 단위(daily)가 아닌 주 단위(weekly)로 한다.
3. 결과(output)를 수치화한다.

위에 언급한 3가지 결론은 하나 하나가 다 ‘효과’를 지향하고 있는, 매우 깊이 있는 원칙이다. 다음 글에서는 이 3가지 원칙에 대해 자세히 알아보고, 이를 개발 일정관리 영역에서 어떻게 풀어낼 수 있는지를 다뤄보도록 하겠다.

--

--