내가 직접 모바일 앱을 만들고 출시하게 된 이유(feat. The Word: 공동체 성경 읽기 앱, Flutter)

kkson·2023년 11월 6일

Inspiration

목록 보기
2/2
post-thumbnail

안녕하세요. 직접 모바일 앱을 3주라는 짧은 기간만에 학습과 개발을 하여 빠르게 출시하게 된 이야기를 소개하고자 해요.

저의 경력을 짧게나마 소개하자면 저는 약 3.5년동안 모바일 게임을 개발하고 퍼블리싱하는 회사를 다녔었고 첫 2년동안은 게임 클라이언트 개발을, 나머지 1.5년동안은 서버 개발로 전향하여 일을 했는데요.

게임을 즐겨 하기도 하고 개발도 성장통을 겪으며 많이 배우며 즐겨 했지만 좀 더 넓은 스펙트럼을 다룰 수 있는 기술 스펙을 가지고 싶어 했어요. 그래서 서버 개발자로 전향하게된 계기가 되었고 또 많은 것을 배웠어요.

제가 이번에 출시한 모바일 앱은 프론트 엔드는 Flutter, 백 엔드는 Firebase를 기반으로 개발하였는데요. "The Word:공동체 성경 읽기" 앱은 iOS와 Android로 2023년 9월에 출시했어요.

Flutter라는 프레임워크는 아무래도 게임 개발하면서 사용했던 Unity라는 게임 엔진으로 개발하였다 보니 싱글 코드베이스로 크로스 플랫폼 개발한다는 점이 공통적이어서 매력적으로 다가왔고 특히 네이티브에 가까운 성능을 낼 수 있다는 점이 가장 매력적이어서 저의 이목을 끌었어요.

Flutter를 개발한 구글이라는 기업 특유의 서비스를 출시하고 빠르게 시장 반응을 판단하여 반응이 좋지 않으면 쉽게 접어버리는 정책이 염려도 됐었지만요 😇

The Word: 공동체 성경 읽기

제가 교회를 다니는데 어느 날 교회에서 10주동안 모든 성도가 참여하는 성경 읽기 프로그램이 진행된다고 광고를 했어요.

제가 다니는 교회에 인원(약 300명)이 많아 각자 '공동체'라는 단위로 그룹별로 소속이 되어 교제할 수 있는 구조로 운영이 되는데요.

성경 읽기 프로그램에 많은 참여를 독려하고자 참여가 많은 순으로 소정의 상품을 증정하기로 했어요.

문제점

처음 프로그램 광고를 들었을 때 바로 떠올랐던 문제가 있어요.

  1. 그렇게 많은 인원의 "공동체별 참여도를 어떻게 집계"할 것인가?
  2. 어떻게 "효율적으로" 집계할 것인가?

교회에서는 종이로 된 읽기 체크표를 나누어 주고 읽은 만큼 체크하고 사진을 찍어 인증하여 소속 단체 카톡방에 업로드하게 했고, 소속 리더는 그것을 모아 내부 운영진에게 보고했어요. 그리고 다시 그 모든 것을 내부 운영진이 손수 집계하기로 했고요. 저에게 이 과정은 모두에게 너무 힘든 일이고 비효율적이라고 생각했어요.

문제 해결

저는 제가 떠올린 두 문제와 함께 사람들에게 편의성과 접근성을 가져다 주고 싶었어요.

여러 단계를 거쳐 수동으로 공동체별 참여도를 집계하려던 것을 앱에서 성경 읽기표에 체크를 하고 이를 서버에서 1시간마다 집계하여 각 공동체별 읽기 진척도를 보여줌으로써 선의의 경쟁심을 유발해 프로그램 참여를 독려했어요.

현재 앱에서는 전체 사용자의 총 읽은 누적 장 수만을 보여 주지만 서버 데이터베이스에 주차별로 모두 읽은 사람들의 목록 또한 주기적으로 정리하고 있었고 프로그램이 종료될 때쯤 데이터를 가공하여 시상을 위한 집계 데이터를 제공하기로 했어요.

교회는 여전히 종이라는 아날로그적 감성과 편리함이 좋은 사람은 사용할 수 있도록 하고 앱을 사용하고 싶은 사람은 앱을 사용하도록 투 트랙 인증 방식을 채택했어요. 운영진이 수동으로 집계해야 하는 수고가 아직 있지만 앱이 병행 사용되면서 부담이 많이 줄었어요.

앱 출시와 함께 교회에서 앱에 대한 광고를 했고 종이를 사용하던 사람들의 앱 사용 전환율은 약 90%에 육박했고 대부분이 앱을 사용하게 되었어요. 🎉🔥🙏

결론, 완벽보다 나은 완성

프로그램은 3주 후에 시작되었고 저에겐 3주라는 시간밖에 없었어요. 이 기간 안에 학습, 개발, 출시까지 했어야 해요.

이때다! Flutter로 앱 개발을 해봐야겠구나! 싶었고 바로 실행에 옮겼어요. 첫 1주일은 각종 Flutter의 강의와 공식 문서를 보며 TikTok이라는 앱을 클론 코딩하면서 혼자 학습하였고 2주째부터는 The Word:공동체 성경 읽기 앱을 본격적으로 개발을 시작하였고 약 10일간의 기간으로 개발을 완성하고 애플 앱스토어와 구글 플레이스토어 출시까지 나머지 기간을 사용하면서 A to Z 온전히 혼자 개발, 출시까지 하게 되는 경험을 했어요. 😆

완벽보다 나은 완성이라는 말이 있어요.

앱을 직접 혼자 출시해본 경험이 없었고 Flutter의 숙련도가 없다시피 한 상태에서 해보려니 내가 할 수 있을까? 3주밖에 안 남았는데 굳이? 퀄리티가 나오지 않아 되려 부정적인 평가를 받으면 어떡하지? 라는 생각에 아주 잠깐의 고민을 했지만 빠르게 만들어 보고 빠르게 실패를 하든 성공을 하든 경험해보면 좋겠다 라는 생각과 함께 스타트를 끊었고 개발을 하면서도 여러 기능을 넣고 최대한 퀄리티를 높이고 싶은 마음이 굴뚝같았지만 지금 내게 주어진 시간동안 할 수 있는 것에 한해서 우선 순위를 정하고 최소 기능 제품(MVP, Minimum Viable Product)을 빠르게 만들고 출시했어요.

개발을 하면서도 느꼈지만 넣고 싶은 기능은 한도 끝도 없이 많았고 다 넣었다간 시간 내에 완성할 수도 없어 완벽이란 것은 거의 불가능하구나. 이래서 쳐낼 것은 쳐내고 완벽보다는 완성이 낫다라고 하는건가? 뼈저리게 경험했고 저를 한 단계 더 성장시키는 경험이 되었어요.

지금 당장은 누구에게는 보잘 것 없어 보이지만 기본 기능에 충실한 제품이 나왔고 많은 사람들이 사용하게 되었고 넣고 싶었던 기능들을 점진적으로 개발해서 추가하기로 했어요.

내가 좋아하고 하고 싶은 것, 삶을 더 윤택하게 하는 것, 도움이 되는 것을 하다 보니 엄청난 몰입을 하게 되고 3주동안의 시간은 기대감, 설렘, 즐거움으로 순식간에 지났어요. 모든 사람들, 특히 저와 같은 개발자라면 자신이 좋아하고 만들어 보고 싶은 것을 지금 당장 실행에 옮겨 보세요. 💪

The Word: 공동체 성경 읽기 - https://kksonwith.onelink.me/jryh/7015lm4q

profile
열린 마음으로 환경 변화에 유연한 개발자

0개의 댓글