brunch

You can make anything
by writing

C.S.Lewis

by 이서 Aug 05. 2023

일단 그냥 하세요

너무 상세한 계획은 필요 없습니다




가끔 수영을 한다.

잘 하는 건 아니고, 자유형으로 몇 번 왔다갔다 하는 정도다. 그런데 25m 레인을 한번만 헤엄쳐도 헥헥 숨이 차고, 힘들어서 꼭 쉬어야 한다. 그래서 이렇게 생각했다.

'뭔가 자세에 문제가 있나보군'

'역시 호흡법이 틀린건가'

유튜브를 찾아보고 공부했다. 교정하려고 노력했다. 머릿속으로 이미지 트레이닝을 하고, 며칠동안 계획을 구체적으로 세웠다. 그리고 수영장에 갔다. 그런데 해보니 또 잘 안됐다. 힘들고 숨차고. 헥헥. 에라이 하고, 다시 유튜브를 켰다. 반복. 또 반복. 수영장에서보다 유튜브로 수영을 보는 시간이 더 많았다.


얼마 전 후배PM과 이야기를 나누게 되었다.

후배는 수영을 잘하는 친구로, 내가 느끼기엔 전문가에 가깝다.


나 : "수영 할 때 몇 번이나 왕복해요?"
후배 : "네? 그걸 세 본 적이 없는데?"
(여기서 나는 잠깐 당황했다.)
나 : "아 그럼, 계속 빙글빙글 도는 거에요?"
후배 : "네."
나 : "나는 그렇게 못하겠던데, 숨차고 힘들어서. 어떻게 하면 숨 차지 않고, 레인을 여러 번 왕복하면서 수영할 수 있을까요?"
후배 : "방법이 어딨어요. 그냥 하는거죠."
나 :  "아니 수영장에서 보니까, 할머니 분들도 되게 오래, 힘도 안드는 듯 레인을 빙글빙글 도시던데, 뭔가 요령이 있어서 그런 거 아닐까요?"
후배 : "어르신들이 얼마나 체력이 좋으신데요. 그냥 열심히 하면 됩니다."


아, 나는 뒤통수를 맞은 듯 했다.

뭐 호흡이 어쩌고, 팔꺾기가 어쩌고, 발차기가 어쩌고, 어쩌고저쩌고 하며, 기술로 해결해보고자 얕은 수를 썼던 내가 부끄러웠다. 그냥 일단 물에 들어가서 수영을 해야 했다. 닥치고 빙글빙글. 그래야 조금씩 늘고, 발전하는 거다. 기술은 그 다음 문제다. 그런데 나는 그러지 않았다.


유튜브를 보고 공부하는 것보다,

이런저런 상세 계획을 세우는 것 보다,

일단 물에 뛰어들어야 하는 것이다.



회사에서는 어떨까.

작업, 개선, 고도화 뭐든 좋다.

말로만, 문서로만, 계획만 몇 달을 세우기보단,

일단 시작해야 한다.


작동하는 로직, 사용할 수 있는 소프트웨어가 아니면 의미 없다. PPT로 그린 멋진 장표 속 프로그램은 그냥 그림일 뿐이다. 동작하지 않는다. 피그마로 그린 화면들도 이미지일 뿐이다. 그림으로 되는 건 아무것도 없다.


그러니 일단 만들자.

간단하고 쉬운 기능부터 시작하자.

호흡,발차기,팔꺾기 등은 물에서 열심히 헤엄치며 교정하자.


그냥 해.


베이퍼웨어(vaporware) 라는 단어가 있다. 고객들이 경쟁사 제품을 구매할까봐, ‘우리도 이런거 개발중이에요~ 그러니까 조금만 기다렸다가 우리제품 사세요~‘ 라고 발표하지만, 실제로는 릴리즈 될 일이 없는, 그런 하드웨어나 소프트웨어를 베이퍼웨어 라고 한다. Vapor는 '증기', '김' 이라는 뜻이다. 실체가 없는 제품이란 건데, 한마디로 광파는 헛소리를 말한다. 뻥카. 여기서 핵심은 ’릴리즈 될 일이 없는‘ 제품이라는 점이다.


여러분의 회사에도 베이퍼웨어 처럼 말로만 떠들어대고 실제로 구현될리가 만무한 그런 프로젝트들이 있을거다. 아마 지금 당장 떠오르는 것만 해도 한 트럭은 될테지. 임원들이 들고다니며 자랑하는 문서들, '글로벌' , '통합' 어쩌구 하며 그럴듯한 PPT로 포장된, 그런 기획서들 말이다. 단순히 말로 떠들기만 하면 그나마 다행이다. 실제로 돈과 인력, 리소스를 투입해서 말도 안되는 일을 진행시킨다. 외주와 계약하여 일단 프로젝트를 띄운다. 투입 자금을 지원받는다. 그래야 임원 자리, 리더 자리를 보전 받을 수 있으니까. 시스템을 '통합'했다가, '분리'했다가, 다시 '통합'했다가, 약발이 떨어지면 '고도화'했다가, 크게 한 탕 해먹고 싶으면 '차세대'를 띄우면 된다. 깊은 고민은 없다. 회삿돈을 펑펑 쓰며, '증기'를 생산하고 있는 것이다. 그냥 하늘로 날려버릴 '증기'를.


여러분.

베이퍼웨어를 만들지 마시고, 작동하는 소프트웨어를 만드세요. 그러니 뭐라도 일단 시작하세요. 만드세요. 지금 당장 하는 게 중요합니다. 가능한 한 빨리 당신의 제품을 보고 싶습니다. 버튼 하나, 문구 하나 수정도 좋습니다. 실제로 구동하는 아주 작은 기능이라도 릴리즈 했다면 성공입니다. 이제 다음 이터레이션을 준비하면 됩니다.


실패할까봐 걱정된다구요? 빠르게 도전하고 일주일만에 실패하는 것이, 3년짜리 프로젝트의 6개월을 회의실에서 계획만 하다가, 마지막 한 달을 남겨놓고 실패를 인정하는 것보다 백만배 낫습니다. 그러니 지금 부터 시작하세요.


너무 거창하고 상세한 계획을 세우지 말자.

계획을 상세히 세우는 것은 우스운 일이다. 상세 계획을 통한 소프트웨어 개발 방법론은 수 십년 전 상황을 고려한 내용이다. 배추도사 무도사가 일하던 옛날 옛적에는 그럴 수 밖에 없었다. 당시에는 코드를 손으로 종이에 연필로 직접 써서 작성했다. 그리고 그 코드를 가지고 카드에 펀칭을 해서 천공카드(아래 사진)를 만들고, 그걸 시스템 관리자에게 전달, 입력하게 만들었다. 단 한 줄도 쉽게 수정할 수 없는 환경이었다.


The humble punch card: one of the earliest ways to save a computer program. (Melissa Currie)


천공 카드 제작자, 혹은 카드 리딩 관리자 (당연히 시니어 선배였겠죠) 에게 욕을 얻어먹지 않으려면 철저히 계획하고 한 줄 한 줄 정성스럽게 코드를 작성해야 했다. 그 코드로 꼼꼼히 펀칭을 하고 검수한다. 혹시 구멍이 잘못 뚫리진 않았는지. 천공 카드를 들고 선배님 시스템 관리자에게 간다. 입력을 부탁한다. 이렇게 복잡스럽고 긴 작업을 거쳐 코드를 한 줄 수정한다. 그러니 계획을 철저히 세우지 않으면 불편하고 복잡한 작업을 다시 해야 하는, 그런 환경이었다. 그 시절에는 계획을 세우고 검토하고 또 검토해야 했다. 어쩔 수 없었다. 당시에는 철저한 계획만이 살 길이었으니.


하지만 지금은 어떤가?

코드 수정에 몇 초 걸리지도 않는다. 요새 개발자들은 천공 카드가 뭔지도 모른다. 자리에 앉아 손가락 몇 번 움직여서 코드를 수정/배포하는 시대이다. 게다가 시장 상황은 1분 1초가 다르게 바뀐다. 그에 따른 요구 사항은 수시로 변한다. 빠르고 유연하게 대처하는 종족만이 살아남는다. 세상이 변했다. 소프트웨어 개발 방법론도 환경에 맞춰 진화해야 한다. 철저한 계획보다는 빠른 실행과 실패, 도전이 더 어울리지 않을까?


그러니,

지금 바로 그 프로젝트를 시작합시다.

작은 것이라도 얼른 릴리즈해서 데이터를 봅시다.

계획은 너무 철저히 세우지 않아도 됩니다.

일단 물에 뛰어드세요.


저도 열심히 레인을 돌겠습니다.


https://www.swimming.org/sport/brits-successful-second-day-canet/


매거진의 이전글 훌륭한 개발자와 평범한 개발자의 차이
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari