GN⁺: 프로젝트 완성의 기술
(bytedrum.com)- 조용한 토요일 오후, 코딩을 위한 몇 시간을 확보하고 프로젝트에 몰두하려는 의지로 터미널을 열었음
- 프로젝트 디렉토리에는 반쯤 구현된 아이디어와 중단된 진행 중인 작업들이 있음
- 어떤 프로젝트를 선택하든 원래 문제뿐만 아니라 새로운 도전들에 직면하게 됨
- IDE를 열고 최신 변경 사항을 가져와 커밋 내역을 살펴봄
- 완성되지 않은 프론트엔드 작업, 예상치 못한 제한에 부딪힌 라이브러리 통합, 과도한 엔지니어링으로 복잡하게 구축된 아키텍처 등을 발견함
- 진전을 보이기 위해 몇 시간 동안 코드 리팩토링, 디버깅, CSS 작업 등을 함
- 할당된 시간이 금방 지나가고 자리에서 일어설 준비를 함
- 낙관적으로 시작했지만 좌절감을 느끼며 부적절함을 느낌
- 코드베이스는 여전히 TODO 주석과 반쯤 구현된 기능들로 가득함
- 열정, 투쟁, 실망의 주기가 매우 익숙해짐
- 프로젝트 하이드라 효과: 진전을 이루어도 새로운 도전이 계속 생겨남
- 이 패턴이 깨지지 않을 것 같지만 이 괴물을 길들일 방법을 찾기로 결심함
- 끝없는 시작과 불만족스러운 중간에서 벗어나기 위한 전략을 모색할 것임
- 완성의 기술을 배우고 하이드라를 물리치며 완성된 프로젝트의 만족감을 느끼고자 함
프로젝트 하이드라의 유혹
- 프로젝트가 진행 중일 때는 무한한 가능성을 가지고 있음
- 프로젝트를 "완료"로 선언하는 순간, 외부와 내부의 비판에 노출됨
- 새로운 아이디어의 흥분과 완성에 대한 두려움이 프로젝트 지연을 유발함
- 미완성 프로젝트는 잠재력이 있어 더 흥미롭게 느껴짐
- 새로운 프로젝트를 시작하는 것이 완료하는 것보다 쉽고 더 생산적으로 느껴짐
- 뭔가를 하고 있는 한 생산적이라는 착각을 줌
- 개인 프로젝트에는 마감일이 없어 완벽주의에 빠지기 쉬움
- 성공에 대한 두려움도 존재함
절대 끝내지 않는 것의 대가
- 프로젝트를 완료하는 데서 오는 만족감은 시작하는 것과 비교할 수 없음
- 미완성 프로젝트는 정신적 부담을 줌
- 프로젝트를 완료하는 과정에서 얻는 교훈은 시작하는 것과 다름
- 실제 기술 성장은 마지막 까다로운 문제를 해결하는 완성 과정에서 일어남
- 끝내지 않은 프로젝트는 자신감을 떨어뜨릴 수 있음
- 프로젝트 후반부에는 최적화, 리팩토링 등 귀중한 학습 경험이 있음
- 미완성 프로젝트는 정신적 공간을 차지하고 창의력과 생산성을 저하시킴
- 완료된 프로젝트는 피드백을 받을 수 있는 기회를 제공함
- 완성된 프로젝트를 세상에 내놓는 기쁨을 스스로 부정하게 됨
프로젝트 하이드라 길들이기 전략
- "완료" 정의하기: 프로젝트 시작 전에 "완료"가 무엇인지 명확히 정의하고, 이를 문서화하여 범위 확장을 방지함
- MVP 수용하기: 완벽을 목표로 하지 않고 "충분히 좋은" 상태를 목표로 함. 기본 버전을 먼저 출시하고 나중에 개선함
- 프로젝트 시간 제한: 프로젝트에 마감일을 설정하여 긴급성을 부여하고 기능 확장을 방지함
- 작은 일 완료 연습: 작은 프로젝트나 작업을 정기적으로 완료하여 "완료하는 근육"을 키움
- 아이디어와 구현 분리: 새로운 아이디어가 떠오르면 즉시 실행하지 않고 아이디어 로그에 기록함
- 완료 축하하기: 프로젝트를 완료할 때마다 축하하여 긍정적인 강화 효과를 얻음
- 책임감 수용: 프로젝트 완료에 대한 책임감을 가지기 위해 파트너를 찾거나 공개적으로 약속함
앞으로의 길
- 습관과 사고 방식을 바꾸는 데 시간이 걸리고 일관된 노력이 필요함
- 새로운 프로젝트의 유혹이나 불완전함에 대한 두려움이 있을 수 있음
- "완료하는 근육"을 키우는 것이 중요함
- 프로젝트 하이드라를 정면으로 마주하고, 계획을 멈추고 실행할 것
GN⁺의 의견
- 개발자라면 누구나 공감할 수 있는 프로젝트 미완의 문제를 잘 다룬 글
- 프로젝트를 끝내지 못하는 이유와 그로 인한 부정적 영향을 명확히 설명함
- 실용적이고 실천 가능한 해결 전략들을 제시하고 있어 도움이 될 듯함
- 개발 과정에서의 심리적 측면과 동기부여의 중요성도 강조하고 있음
- 완벽주의나 새로운 것에 대한 유혹 등 개발자의 고질적 문제를 솔직히 털어놓은 점이 인상 깊음
- Atomic Habits나 Deep Work 같은 자기계발서의 아이디어를 개발 맥락에 적용한 점도 흥미로움
- 개인 프로젝트 관리에 어려움을 겪는 개발자들에게 추천할 만한 글
와... 평소 제가 매우 중요하다 생각하는 내용들이고 너무 공감되는 이야기의 연속이라 감탄하며 읽었습니다! 표현만 다르지, 비슷한 개념을 주장하니 너무 반갑네요.
저는 '60 퍼센트 만족'이라는 표현을 즐겨씁니다. 기본적으로 욕심과 열정이 넘치는 사람일 수록 본인이 생각하는 60퍼센트라는 애매한 만족도로 프로젝트를 마무리 지을려고 해야 망가진 완벽주의에서 벗어날 수 있다고 생각합니다.