자바스크립트를 활성화 해주세요

v023 봉준호 감독식의 소프트웨어 개발 프로젝트 관리하기

 ·  ☕ 5 min read

봉감독 스타일을 도입해 보자

봉준호 감독은 콘티를 세부적인 부분까지 작성해 두는 것으로 유명합니다. 영화 장면을 미리 다 그려놓는 다고 하죠. 영화 ‘기생충’은 기본 골격과 캐릭터 구축에만 5년 넘게 걸렸다고 합니다. 즉흥적인 감각에 맡겨서 촬영 당일에 감독의 입맛에 맛게 컷과 액션을 외치는 것은 분명히 좋은 품질의 작품을 만드는데 도움이 되지 않습니다. 이 내용은 매스컴에도 많이 소개되어 있으니 이정도로만 하겠습니다.

v023_bong_director_conti.png

이렇게 (흥행에) 성공한 작품의 제작 방식을 소프트웨어 개발 프로젝트에 도입하면 어떤 형태가 될까요? 혹은 어느 누군가는 이미 그렇게 하고 있지는 않나요?

‘우리 이런 앱, 사이트, 프로그램, 시스템 한 번 만들어 볼까?’

요즘같이 불황인 시기에, 취업보다 오히려 창업을 생각하는 것도 하나의 돌파구라고 생각할 수 있을 것 같습니다.
많은 재능있는 젊은이들이 뜻을 모아 벤처회사를 세우는 것을 시도해보려 한다고 생각해 봅시다. 누군가 이렇게 얘기할 것입니다. ‘우리 이런 앱 한 번 만들어 볼까?’

저도 비슷한 경험이 있었습니다. 마음에 맞는 친구들과 그런 이야기를 한 적이 있었으니까요. 그러나 경험상, ‘우리 이런 앱 한 번 만들어 볼까?’ 만으로는 개발 프로젝트는 좀처럼 완성되기가, 아니, 완성되기 이전에 진행되기가 어려웠던 것 같습니다. 어째서 일까요? 저는 감독이 없기 때문이라고 생각합니다.

그럼 감독은 누가 되어야 할까요? 이야기를 꺼냈으니, 전체 콘티도 내놔라 라고 한다면 아무도 만들어 보자는 얘기를 꺼내지 않을 것입니다. 이는 다시 어려운 문제입니다.각자의 판단과, 재능과, 이해관계가 다르니까요. (또, 봉준호 감독도 늘 성공하지는 않았습니다.)

모든 계획이 성공하지는 않겠지만, 성공한 일에는 계획이 있었을 것이고, 또, 그 성공한 일중 많은 부분에, 세부적인 내용까지 생각하는 누군가가 있었을 것입니다.

그렇다면 계획은 어떻게 세워야 할까요?

계획을 세우는 것은 여러분은 어떻게 배우셨나요? 저는 학교에서나 가정에서나 계획은 이렇게 세우는 것이야 하고 특별히 배웠던 적은 없었던 것 같습니다. 물론, ‘계획을 잘 세워서 열심히 해라’라는 얘기는 많이 들었습니다만…

배운 적이 없기에, 당연한 이야기 일 수도 있습니다만, 결국은 시행착오를 거칠 수 밖에 없었습니다. 지키지 못할 계획도 세워보기도 하고, 세워놓고 잊어버리고는 다른 데에 눈이 팔려버리는 적도 부지기수이지 않았습니까? 사람은 한 가지만 생각하며 살지 않거든요. (대게는.)

그러나 최근에 계획은 이렇게 세우는 것이다 라는, 계획을 세우는 방법에 대해 생각을 정리하게 된 적이 있습니다. 정리해 놓고 나니 어디선가 들었을 수도 있는 내용을 다시 한 번 정리한 것에 불과한 것이겠습니다만.

우선 기한목표를 정합니다.

목표는 자신이 갖추고 싶은 어떤 이미지입니다. 예를 들면,

  • 다이어트 목표에는 언제까지, 몇 kg을 감량하겠다라는 목표가 세워지겠지요. 시각적이면서 감각적인 이미지입니다.
  • 8월에 있는 자격시험에 반드시 합격하겠다 라는 것도 좋은 목표입니다. 합격증을 들고 있는 자신의 이미지가 그려지니까요.
  • 10년뒤에는 서울에 아파트 산다 어떻습니까 이미지 확 오지 않습니까?

그다음에 계획을 세웁니다. 계획은 기한을 등분해 나누고, 그 분할된 기간동안에 해야할 액션을 정하는 것입니다.

  • 1년이면 3개월씩 4등분할 수도 있고, 그에 따른 sub objectives들을 세웁니다.

  • 그 다음에 방법을 가정합니다. 방법은 상황에 따라 변경될 수 있습니다. 언제나 상황은 변하는 법이니까요. 변증접적인 접근입니다.

  • 상황이 변하지 않는다면, 역사상 많은 사람들이 자신의 계획에 덜 실패했을 것 같습니다.

  • 목표까지의 기한을 하나의 블럭으로 잡았을 때(분활 횟수가 0 이면), 목표가 달성될 확률을 f(0) 라고 하고,

  • 여러 블럭으로 나누어 잡았을 때의 확률을 f(n) 이라고 했을 때, 어떤 관계가 있는 지, 스스로의 경험에 비추어 살펴보세요.

나아가,

  • 만약 이 방식이 목표를 달성하는 데 도움이 된다면(도움이 된다는 가정하에서),
  • 이 분할하는 방식을 무한대로 미분해 나가면 어떻게 될까? 라고 생각해 보는 것도 재미있을 것 같습니다.
  • 그리고 그 결과는, 봉준호 감독의 콘티와 같은 그 어떤 것이지 않을까요?

꼭 자세하게 콘티를 써야 하는 걸까요?

왜 자세하게 콘티를 써야하는 지 설명하기 위해서는, 콘티가 왜 필요한지 그 이유를 알아야 합니다. 거꾸로 질문해 보면, 왜 영화만들 때 콘티를 쓰나요? 입니다. 어떻게 생각하시나요?

이는 잘 리드하기 위해서입니다.

봉준호감독의 콘티에서 점점 더 깉이 생각을 하다보니 여러가지를 생각하게 됩니다만, 먼저 지금까지 존재하지 않는 것을 만드는 방식은 일반적으로 민주주의가 아닙니다. 다수결로 하는 일이 아닙니다. 회의를 거쳐 다수결로 할 수 있는 일은 따로 있습니다. 대게는, 만들어야 할 제품과 과정이 정형화 되어 있는 일입니다.

직관, 직감에 의해서 진행하는 일은 그렇게 할 수 없습니다. 예를 들면 개발이 아니라 디자인이라고 해도, 디자이너들이 모여서 회의해서 다수결로 할 수 있는 일이 아닙니다. 이런 종류의 일은, 분대장이 분대원 이끌고 현장에서 지시해가며 리드해 가는, 그런 종류의 일입니다. - 어쩌면 한국에서는 당연시 되어있는 업무방식인 지도 모르겠습니다만, 그렇지 않은 문화도 존재합니다.

네. 이런 종류의 일은 부수적으로 몇가지 문제를 가지고 있을 수 있습니다. 다음의 문제들이 예시되어 있으니 참조해 보세요. 이런 경우 가장 좋은 방법은 훌륭한 리더밑에서 훌륭한 멤버들이겠지만요.

한가지만 더 TMI하자면, 문제는 전략적 자산이 될 수 있습니다.

지금 콘티를 쓰고 있는 사람이 있다면

누군가 지금, 혼자 자신의 시간을 아껴가며 전체의 콘티를 자세히 쓰고 있는 사람이 있다면, 분명히 좋은 작품을 쓰고 있을 확률이 높다고 생각합니다.

한 발 더 나아가서,

  • 디테일한 시스템 콘티는, 누가 작성해야 하나요? 내 아이디어도 아닌데 내가 해야할까요?
  • ‘우리 이런 앱 한 번 만들어 볼까?’ 다음에 해야할 말은 무엇일까요?
  • 소프트웨어 콘티? 그런 건 어떻게 작성해야 하나요?
  • 어쩌면 장사하는 일도, 삼국지처럼 중국대륙을 통일하는 일도, 모든 일은 그 크기를 막론하고 계획과 실행이라는 맥락은 같지 않을까요?
  • 또 지금은 인공지능 시대라는데, 인공지능이 이런 부분에 도움을 제공해 줘야 하는 것 아닌가요?
공유하기

tkim
글쓴이
tkim
Software Engineer