대한민국 서비스 기획자를 정의 내려보도록 하겠습니다.
저는 “제품 생애주기 전반을 관리하는 사람”으로 정의합니다.
기획자는 제품의 생애에 아래와 같이 관여합니다.
- 가설 설정 (시장 조사 – 시장 규모 및 가능성 파악)
- 제품 설계 (일정 산출, 프로토타이핑, 스토리보드)
- 제품 구현 (일정 관리 및 유관 인력 커뮤니케이션 – 디자인, 개발, 사업)
- 제품 QA (출시 전 테스트)
- 배포 후 사후 관리 (지표관리, 사용자 평가, 피드백에 따른 새로운 가설 설정-측정-검증-반복)
따라서 어느 한 분야에 특화되어 있다기보다는 일정 부분은 ‘제너럴리스트’로서 아래와 같은 역량이 요구됩니다.
- 리서치 능력 (정성적, 정량적 분석)
- 설계 능력 (기획서 작성 – 마인드맵, 순서도, IA, 기능 명세서, 와이어프레임, 프로토 타이핑)
- 일정 관리 및 커뮤니케이션 (WBS 작성, 개발자, 디자이너 혹은 사업 유관 인력 커뮤니케이션)
- 데이터 분석 (각종 툴을 이용한 사용자 지표 분석, 지표 추적 관리, 지표에 따른 가설 설정 및 방향성 도출)
이렇게 보면 상당히 다양하고 넓은 분야에 고른 역량을 갖추고 있어야 한다는 것을 알 수 있습니다. 위에서는 서비스 구축 혹은 운영에 대한 부분만 다루었지만 실제 스타트업의 기획자는 마케팅, 투자 유치, 사업 설명회 진행 등 회사 외부 업무에 자주 투입되는 경우가 있기 때문에 실제로 맡게 되는 업무의 범위는 훨씬 더 넓어질 수도 있습니다.
따라서 어느 한 분야의 공부만 계속 파기에는 시간이 다소 부족한 것도 사실입니다. 개발자만큼 개발을 잘하고 디자이너만큼 디자인에 대한 관심을 쏟기에는 현실적으로 시간이 허락해주질 않습니다.
그래서 저는 ‘개발자로서 개발’을 배우고 익히기보다는 ‘기획을 잘하기 위한 개발’에 초점을 맞추어 개발을 공부하기로 하였습니다. 제 개발 공부의 목표는 ‘직접 개발하기’가 아닌 ‘개발자와 좀 더 원활하게 소통하기’입니다.
개발을 직접 하기보다는 실제로 프로그램이 어떻게 구현되는지를 이해하고 이를 제품 설계에 반영하는 식입니다. 다양한 개발 영역이 어떻게 구성되고 구현되는 지를 살펴보고 제품 개발의 전체적인 방향성에 대해 감을 익혀보고자 했습니다. 저는 아래의 세 가지 방법으로 개발을 공부하였습니다.
1. 블로그 포스팅 읽기
친절한 개발자분들이 개발 개념을 소개한 블로그가 아주 많이 있습니다. 기획을 진행하던 중 모르는 개념이 나오면 개발자에게 직접 묻기도 했지만 구글링을 통해 다양한 개발자들의 블로그를 접하고 개념을 이해해보고자 했습니다. 이를 테면 이런 식입니다. 개발자와 얘기하던 도중 spring 이란 단어가 계속 나오면 자리로 돌아가서 ‘spring 이란’ 키워드로 구글링을 해보는 식입니다. 검색 결과 중 최소 1개 이상의 포스팅은 기획자도 이해할 수 있을 정도로 쉽고 친절하게 설명된 포스팅을 발견할 수 있습니다. 그런 식으로 하나둘씩 기본 개념을 이해해나가는 식이죠.
2. 온/오프라인 강좌 수강
온라인에 개발을 소개하고 알려주는 개발 강좌가 많이 개설되어 있습니다. 이 강좌를 조금씩 보다 보면 개발이 무엇인지 감을 잡는데 도움이 됩니다. 저는 생활코딩 (https://opentutorials.org/course/3084) 사이트를 매우 유용하게 이용하고 있습니다. 10분 남짓의 동영상 클립을 하루에 하나씩만 시청해도 365개 강좌, 일 년에 총 3,650분을 개발 공부에 투자할 수 있습니다. (결코 적은 시간이 아닙니다.) 강좌 수강을 통해 HTML, CSS, JavaScript, Ajax, Node.js, MySQL, Python, PHP, OAuth, Ruby, AWS, GIT 등 다양한 프로그래밍 관련 지식을 조금씩 익힐 수 있습니다. 강좌를 보면서 ‘아 이런 식으로 개발하는 거구나’, ‘개발자들은 이런 식으로 사고하는구나’ 등만 익혀도 그것만으로 굉장한 소득입니다.
또는 오프라인 강좌를 활용하기도 합니다. 비전공자를 위한 개발 강의가 여러 곳에서 개설되고 있습니다. 여기서 소개는 하지 않겠지만 조금만 검색해보면 여러 강좌를 발견하실 수 있고 강좌를 한번 수강만 해도 개발의 감을 익히는데 분명 도움이 됩니다.
절대 강좌 수강 한 번에 모든 것을 이해하려 하지 마세요. 개발 공부는 하면 할수록 어렵고 이해하기 쉽지 않습니다. 잘 이해되지 않는다면 처음에는 그저 흐름을 받아들인다고 생각해보세요. 조금 더 긴 호흡으로 계속 반복해가며 조금씩 개념을 받아들이는 자세로 접근하는 것이 처음에 열심히 하다가 금방 포기하는 것보다 훨씬 낫습니다.
3. 직접 따라 해 보기
저도 처음에 조금 시도하다 현재는 하고 있지 않지만 (나중에 해볼 생각입니다.) 직접 코딩을 해보는 것도 당연히 개발을 이해하는데 큰 도움이 됩니다.
요리를 예로 들면 위의 1,2번은 요리 포스팅, 요리 동영상 강좌 등을 보며 요리에 대한 감을 잡는 것이고, 3번의 경우는 직접 요리를 해보며 좀 더 깊이 있는 지식을 쌓는 것이라고나 할까요. 코딩을 할 때 Atom, Sublime Text 등 프로그래밍 언어 편집기를 이용해 직접 코딩해보는 방법도 있지만 코드카데미 (https://www.codecademy.com/) 같은 사이트를 이용하면 언어 편집기를 별도로 설치하지 않아도 바로 코드를 작성하며 실습해볼 수 있습니다. 게다가 프로그래밍 언어별로 단계적인 학습 플랜이 제시되어 있어 개발을 익히는데 많은 도움이 됩니다.
개발 자체를 잘하는 기획자가 최선일 수 있습니다. 하지만 그 최선을 달성하기 어렵다면 ‘기획을 위한 개발’에 초점을 맞추어 접근하는 것이 개발에 손을 놓고 있는 것보다 ‘훨씬 더’ 나을 것입니다. 어떤 공부도 왕도는 없겠죠, 각자가 맞다고 생각하는 방향으로 여러 시행착오를 거쳐가며 학습을 해나간다면 분명 어떤 형태로든 성과는 있을 것입니다. 개발이 힘들고 어렵더라도 결코 개발 자체를 외면하는 일은 없어야 합니다. 우리는 개발 언어로 프로그래밍된 서비스를 만들고 있으니까요.
다음 시간에는 기획자의 디자인에 대해 한번 이야기해보도록 하겠습니다.
읽어주셔서 감사합니다.