ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 앱 출시, 끝인가 시작인가.. MVP 중요성 - 프로젝트 회고
    Blog/iOS dev. Marco 2022. 9. 22. 09:00

    마침내...

     

    얼마전 영화에 대사로 유명했던 단어. 나도 쓴다. 첫 커밋 날짜가 22.06.17 이었고, 심사를 올린게 22.09.17 이었다. 딱 3개월 걸린것 같다. 2주정도 미팅을 가지며 기획적인 고민과 본격적인 프로젝트 진행을 위한 사전작업 기간이 있었지만, 커밋 기록으로 따지면 3개월만에 앱을 출시했다. 기획도 팀원과 머리 맞대고 고민했고, 모든 구현을 95% 정도 직접 작성하다보니 못해도 한달정도 예상보다 더 늦어졌다.

     

    앱 출시? 왜?

    올 상반기에 3개월가량 구직활동을 했고, 수 많은 면접 탈락을 겪었다. 서류를 통해 매력적인 지원자로 보이게 준비를 잘했고 면접이나 과제를 보게 되었다고 생각했다. 하지만 오산이었다. 거의 모든 면접에서 탈락했고 많은 생각을 하게되었다. 애초에 신입을 뽑는 모집요강이 아닌 기업들은 원하는 2~3년차 개발자가 지원이 없어서 '신입 지원자라도 한번 보자' 느낌으로 나를 부른 것 같았다. 또 면접에서 내 프로젝트에 대한 질문보다 근본적인 언어나 CS, iOS 지식적인 질문을 많이 받았다. 내가 생각했던 나의 경험들은 기초에 불가하며 나에 경험에서 물어보고 싶은 질문이 딱히 없다는 걸 느꼈다. 이런 면접 경험으로 나는 신입개발자로 충분히 매력적이지 않다고 생각했다. 취직은 운이다, 실력에 문제가 아니다 라는 지인들의 공감과 위로가 감사했지만, 자책하게되고 힘든시간이기도 했다. 다시 마음을 잡고 나를 돌아볼때, 작고 얇은 많은 경험보다 크지 못하더라도 깊고 굵직한 경험이 필요하다고 생각했다. 앱 개발자 직무를 계획한 만큼 짧은 기간을 투자하더라도 앱스토어 출시까지 경험을 꼭 해야겠다는 생각을 가지게 됐었다.

     

    MVP? 

    돌아보니 이번 프로젝트를 함께한 팀원은 나에게 귀인이다. 힘들어하는 나에게 힘을 주었고, 내 계획에 믿음을 주었다. 그리고 내 계획에 동참해주기로 결정했다. 나는 두번에 앱출시 프로젝트를 실패한 경험이 있었다. 그렇기에 팀원에 노하우와 경험은 정말 큰 힘이 되었다. 앱 출시를 이미 경험한 팀원의 도움으로 아키텍처 구조를 계획하고, MVP(Minimum Viable Product) 라는 개념을 소개 받았다. (팀원의 블로그 - 우리가 MVP를 정하기 어려운 이유) 그리고 토론과 고뇌의 시간을 거쳤다.

     

    사실 내가 가져온 많은 아이디어나 방향성이 모두 MVP 라는 거대한 벽에서 절망을 맛 봤다. 어느정도 앱의 목표가 정해지고 첫 커밋을 시작할 때, 우린 Clean Architecture를 도입하기로 했다. 나는 처음이지만 팀원이 이전 경험에서 만든 노하우나 계획을 이어서 시도해보기로 했다. 또한 DDD 개념을 공부해보며, 앱 내부 구현에서 도메인 주도 개발을 시도해보았다. 딱 여기까지 출발이 좋았다. 내 입장에서 생각할때, 팔다리를 다 쳐낸것 같은 MVP 기능이라면 한달도 안 걸릴 것 같았다. 하지만...

     

    An App Product

    일명 토이프로젝트, 예제를 따라한 앱이나 예제에서 조금만 틀어서 변형한 토이 프로젝트는 많이 경험해보았다. 하지만 어떠한 계획을 만들고 그 계획에 맞는 기능을 하나하나 구현하는 경험은 처음이었다. 클린 아키텍처를 이해하고 구조를 짜는 것도 시간이 오래걸렸고, 정작 메인 비즈니스 로직인 녹음기능과 재생기능은 손도 못대고 2달 가량을 소요한 것 같다. 더불어 프로젝트 파일 충돌을 해결하겠다고 찾아보다 발견한 Tuist를 프로젝트 생성에 사용해보려던 계획은 팀원도 말렸다.

     

    클린아키텍처부터 Tuist 까지, 프로젝트 기간 중 참석한 Let us go 2022 네트워킹에서 만난 개발자 분들은 내게 취준 전략이 생각보다 별로라고 하셨다. Swift 개념과 iOS 기초 개념을 더 탄탄히 하라고 하셨다. 나름 그렇게 했다고 생각했는데 면접에서 나는 그런 부분이 부족해보이는 개발자였기 때문에...다 떨어졌지 않았나.. 참 혼자 생각이 많았었다. 이 고집이 과연 맞나, 난 멀리 돌아가고 있나. 나의 고집은 양날검이었다. 혼자만에 아집은 아니었을까. 앱을 만드는 데 욕심이 더해지면 굉장히 힘들고 오래걸릴 수 있다는 점을 깨닫게 되는 계기였다.

     

    마침내 .. 앱 출시, 끝인가 시작인가..

    "이것만, 딱 이것만 해결되면 출시할 수 있겠다.. 기대된다..." 라면서 심사까지 달려왔다. 큰 문제는 아니었지만 작은 요청으로 리젝을 경험하고 또 리젝을 걱정하며 다시 올린 앱은 심사에 통과되며 행복감도 맛보았다. 처음엔 자랑하기 바빴고 내 앱 다운로드 수를 늘리는 데 급급했다. 하지만 금방 창피함이 몰려왔다. 지인이 신기해서 응원하는 마음에 한번 깔아보고 과연 이걸 사용할까? 당장 나도 이 앱을 쓸일이 없는데. 다시 소개 멘트는 바뀌었다 "출시가 먼저라 기능이 적은데.. 계획 중인 기능이 많아요 기대해주세요!"

     

    확실히 경험이 중요하다. 앱을 출시해보니 만약 이게 투자를 하고 도전한 사업이었다면 어땠을까, 상상도 못하겠다. 그런 면에서 앱 사용자를 유지하려면 또는 유입시키려면 꾸준한 업데이트와 발전이 필수 불가결이란 생각을 했다. 마침표일거라 생각했는데. 앱 출시는 내 인생에 "개인앱 유지보수" 라는 한 트랙이 추가되는 시작점이었다.

     

    앱 출시와 MVP 

    겨우 개인앱 한번 출시해보고 이런 생각을 남기는 것조차 살짝 창피하지만, 다르게 생각해보면 과연 앱 출시를 경험한 앱 개발자가 대부분일까? 라고 도전적으로 말할 수 있을것 같다. 이미 서비스 중인 앱 회사에 취직 해본 개발자는 나같은 경험이 없을꺼라 생각하고 MVP의 이해를 못할 수도 있다고 생각한다. 거대한 기업이 거대한 자본과 인력을 투자해서 출시하는 앱이라면 당연히 다르겠지만, App Product는 "업데이트" 라는 강력한 무기가 있기 때문에 시작은 미약해도 된다는 생각을 가지게 되었다. 나 같이 앱 개발자 취준을 목표로하는 누군가가 이 글을 본다면, 내 말을 공감한다면 나처럼 고집을 부리며 앱 출시까지 고생하지말고 일단 출시부터 하라고 전하고 싶다. 코드가 허접해보여도, 아직 잘 모르겠어도 심지어 틀렸어도.. 우리에겐 업데이트가 있다.

     

    "Evolution Complete!"
    갑자기 듣고 싶어서 넣어봤다. ㅎ
    우리 앱도 미약하지만 리마스터하면 된다!

     

     

    ps. 마침내... 홍보.. ㅎ / 개발자라면.. README

     

    ‎CasualConversation

    ‎"조금 전 짧은 영어 회화에서 만들지 못한 문장이 있었어요" "상대방이 말한 단어가 무엇인지 그 순간에 이해를 못했어요" "그런데... 그게 뭐였는지 기억이 안나요..." * 짧은 순간에 회화도 녹

    apps.apple.com

     

     

    keeplo - Overview

    Minimalism iOS dev . keeplo has 19 repositories available. Follow their code on GitHub.

    github.com

     

Designed by Tistory.