Project 100.
한 달 만에 100명이 이용하는 페이지 만들기.
1. Why?
방학 동안 코딩 공부에 매진하기로 다짐했었다.
도서관에서 django, JavaScript 관련 책을 빌려 코드를 따라 치고 개념을 정리했다.
그러던 어느 날, django 개발자 공고와 외주 모집글을 보게 되었다.
그곳에서 요구하는 사항은... 각종 기술과 최소 3년 이상의 경력 및 포트폴리오.
기술과 경력은 지금 당장 어찌할 수 있는 부분이 아니니, 남은 것은 포트폴리오.
자신 있는 포트폴리오를 위해서는? 결과물을 쌓아나가야겠다는 생각이 들었다.
그 형태가 크던 작던.
누군가에게 내보이고, 반응을 측정하고, 피드백을 받아보는 경험.
이것이 반드시 필요하겠다는 생각이 들었다.
그래서 목표로 세운 것이, Project 100. 한 달 만에 100명이 이용하는 페이지 만들기.
2021/01/11 - [233] - Project 100
Project 100
1달만에, 100명이 접속하는 페이지 만들기. 1. 보드게임 대여 2. 다대다 만남 3. 시설관리 업체 모음 4. 업장 시설 중고 판매 5. MBTI 모음집 6. 문과를 위한 git 7. 편지비행기 최근 이슈가 되는 페이지
23life.tistory.com
왜 하필 100명이냐 묻는다면...
행요 프로젝트를 완성한 후, 단 1명의 사람이 찾게끔 만드는 것도 쉽지 않음을 느꼈기 때문.
누구를 대상으로 할 것인지, 어떤 불편함을 해소할 것인지, 어떻게 홍보할 것인지 등.
수많은 장벽들이 존재하며... 쥐뿔도 없는 대학생이 이를 해결하기란 결코 쉬운 일이 아니었다.
따라서 100명이라는 구체적인 목표를 세우고, 이를 달성할 수 있는 아이디어를 구현하기로 마음먹었다.
2. What?
그래, 좋다. 100명. 작다면 작고, 크다면 큰 숫자. 100명. 이들이 이용할 페이지.
무엇으로 이를 달성할 수 있을까.
보드게임 대여 서비스, 시설 중고 판매, 편지 상담소 등... 수많은 아이디어를 떠올렸다.
하지만 가진 기술 스택은 django, 신분은 일개 대학생인 상태에서 이들을 구현하기란 쉽지 않았다.
또한 가장 큰 문제점... 사람들이 그다지 찾을 것 같지도 않았다!
이리저리 고민하던 와중, 우연히 대학교 커뮤니티에서 높은 공감과 댓글을 달성한 게시글을 보게 되었다.
바로 '새내기를 위한 대학생활 팁'.
처음 학교에 입학하는 새내기가 궁금할만한 사항, 또는 학교 생활에서 유용한 팁을 정리해둔 게시글이었다.
그러고 보니... 매년 비슷한 유형의 게시글이 올라오고, 매년 높은(100개가 넘는) 공감을 받고 있었다.
이 말인즉? → 항상 사람들이 많이 찾는, 필요로 하는 정보라는 것!
그렇다고 부산대학교 새내기 팁을 담은 페이지를 만들 수는 없는 노릇...
(단순히 정보만 담긴 페이지는? 아무도 찾을 이유가 없다! 다른 플랫폼에 두드리면 다 나오니까!)
그래서 착안한 것이, 부산대학교 퀴즈.
부산대학교 학생들만으로 대상으로, 학교와 관련된 재미있는 퀴즈와 생활 팁을 제공해주는 페이지.
그렇게 PNU Quiz의 기획이 시작되었다.
3. How?
개발 인원은 멋사 동아리원 한 명.
언어는 django에 JavaScript 한 스푼.
할 줄 아는 언어가 django밖에 없었으므로... djagno로 퀴즈 만드는 법 으로 검색을 시작했다.
하지만 대부분 backend는 DRF, frontend는 react를 사용한 상황.
둘 다(특히 react는 전혀) 제대로 알지 못하는 상황이었기 때문에... 이를 사용할 수가 없었다.
그러다 유튜브에서 발견한 한 외국 유튜버의 영상.
django와 Ajax만으로 퀴즈 기능을 구현한 것이 있었다.
옳다구나 싶어 곧바로 코드 카피를 시작했다.
역시 local 환경에서는 큰 문제없이 작동되었다. 와우!
그렇게 이틀..? 정도만에 backend를 마치고, 디자인 및 콘텐츠를 궁리하기 시작했다.
주된 대상인 대학생들에게 익숙한 시험지 형태의 디자인을 구상하였고,
부산대학교 학생들을 대상으로 하는 만큼, 학교 관련 용어와 세부 사항들을 콘텐츠로 삼았다.
1월 13일부터 기획을 시작, 14~15일에 기능 개발을 완료했으며,
16일에 디자인 완성, 17일~ 콘텐츠(문제 및 결과 화면) 추가를 진행했다.
그 와중 database에 문제가 생겨 migrate오류를 겪기도 했고(정말 힘들었다...),
result화면을 어떻게 하면 좋을지가 완전히 정해지지 않아 컨텐츠 구상에 애를 먹기도 했다.
그렇게 26일, 첫 배포를 시행했다. 알다시피 그 결과는...
2021/02/01 - [django] - PNU Quiz App _ django로 퀴즈 구현하기2
PNU Quiz App _ django로 퀴즈 구현하기2
얼마 전 만든 PNU Quiz App. 실제 배포 환경에서 기존 방법에 어마 무시한 문제가 있어... 기능을 아예 새롭게 작성했다. 처음부터 이게 맞는 방향이었을 것 같은데... 괜히 쉬운 길을 택하려다 낭패
23life.tistory.com
그렇게 또 이틀 가량을 backend 개발에 투자.
또한 js를 활용해 로딩 페이지, 점수 비교 그래프, 카카오톡 공유 등을 투자해 콘텐츠를 보강하였다.
css를 활용한 화면 배치 및 세부사항 조정은 덤(이건 항상 계속되었다. 끝이 없었다...)
그리고 대망의 2월 5일.
완성된 페이지(배포 및 도메인 연결까지 완료!)를 부산대학교 에브리타임 게시판에 업로드하였다.
4. Results
배포 준비는 사실 12시부터 완벽히 완료가 된 상태였다.
하지만 에브리타임 게시판이 활성화되었을 때(게시글이 자주 올라오는) 업로드를 하고 싶었기 때문에..
약 2분 간격으로 게시글이 올라왔던 오후 3시 30분가량 게시글을 작성했다.
처음 PNU Quiz를 구상했을 때부터 생각한 컨셉.
왜? 단순히 홍보성 멘트보다는 이용자로 하여금 관심을 유도하고 싶었다.
또한 다른 목적(단체 홍보 등) 없이 부산대학교 학생들이 재미있게 즐겼으면 하는 목적이 담겼으면 하는 바람도 있었다.
아무튼 떨리는 마음으로 게시글 등록. 그 결과는...
그야말로 대성공.
사실 어느 정도 호응은 있으리라 생각했지만... 이 정도일 줄은 몰랐다.
수많은 사람들이 참여했고, 수많은 댓글이 달렸다.
자유게시판과 새내기게시판의 좋아요와 댓글 수를 합치면... 각각 169개, 90개.
admin페이지에 생성된 pnu user는... 자그마치 2700여 명.
중복 참여자를 제외, 적게 계산하더라도 1000명. 목표였던 100명은 훌쩍 넘은 숫자.
5. Then...
신기한 경험이었다.
작년, 멋사를 통해 처음으로 웹 개발을 배우고... 두 번째로 이뤄낸 성과.
그것도 아무도 사용하지 않았던 행요에 비하면, 그야말로 굉장한 결과.
누군가가 내가 만든 페이지를 이용하고, 좋아해 주는 모습이 엄청난 보람과 성취감으로 다가왔다.
하지만 그것과 별개로 느낀 점.
1) 협업은 언제나 고되다.
자기 마음대로 코드를 작성하고, 수정하면 얼마나 좋을까.
하지만 개발은 언제나 협업이 뒤따르는 일이다. 혼자서 모든 걸 해낼 수는 없다.
함께 PNU Quiz를 개발했던 동아리원은... 즉각적인 면대면 의사소통이 가능한 상황이었다.
그런데도 불구하고! 개발을 진행하는 데 있어 어려운 점이 한두 가지가 아니었다.
각자 선호하는 코드 작성 방식, 주석 처리, GitHub 충돌, 디자인 세부사항 등.
직접 말로 의견을 교환할 수 있는 환경에서도... 각자 생각한 바는 다르기 일수였다.
이를 통해 든 생각.
첫 째, 시각적 요소는 언제나 유용하다.
말로 백날 떠들어봤자, 직접 디자인을 작성하는 것만은 못하다.
테두리를 조금 더 둥그렇게 해 달라... 는 말 보다 border : 1px로 먹인 코드를 보여주는 게 더 효과적이다.
둘째, 협업 툴을 적극 활용하자.
GitHub뿐만 아니라... Pigma와 notion 역시 의견을 교환하기 정말 좋은 도구였다.
만일 이번 프로젝트와 달리, 멀리 떨어진 팀원과 의사소통을 해야 했다면...
이러한 협업 툴이 더더욱 필요했을 테다.
셋째, 1인분은 언제나 힘들다.
우리는 모두 다르다. 내가 생각한 1인분과 남이 생각한 1인분은 언제나 다르다.
내가 상대방에게 기대한 것, 상대방이 나에게 기대한 것은 언제나 다르다.
그렇기 때문에... 적어도 자신이 생각한 1인분은 책임져줘야 한다.
나 역시 이번 프로젝트에서... 스스로에게 굉장히 실망했다.
backend를 뭣도 모르는 코드로 작성해 갖은 혼란과 오류를 낳고 말았다.
이를 나 스스로 처리하지도 못했다. 그렇게 자신만만했는데도.
여기서 든 두 번째 느낀 점.
2) 실력. 실력. 실력.
행요를 완료하고 느꼈던 점을 또다시.
결국 실력이 필요하다. 그게 기획이든, 개발이든, 디자인이든.
자신이 맡을 수 있는, 책임질 수 있는 분야와, 그에 대한 실력이 반드시 필요하다.
프로젝트 전체를 위해서도, 팀을 위해서도, 자기 자신을 위해서도.
특히나 개발에 있어서...
CSS와 관련된 난관을 (역시나) 많이 겪었다.
div 구성 등이 완전 중구난방. 이후 수정하는 데 정말로 많은 어려움이 뒤따랐다.
더구나 로컬 환경과 배포 환경에서의 CSS 차이는... 발생하는 이유도, 해결책도 찾기가 난감했다.
이 역시 더 많은 시행착오와 개선을 겪어나가야 할 테다.
3) 시장을 상대한다는 것.
사실 이번 프로젝트의 성공은... 부산대학교라는 특수성이 작용했기 때문이다.
100명이 목표였기 때문에 대상을 좁힐 수 있었고, 이 덕분에 소규모 집단의 흥미를 효과적으로 끌 수 있었다.
더구나 나 역시 그 집단에 소속되어있었기 때문에, 이들의 관심을 자극할 수단을 잘 알고 있었다.
하지만 만일... 1000명, 10000명이 목표였다면?
더 이상 PNU Quiz는 통하지 않을 것이다.
나 역시 그들의 흥미와 관심사를 명확하게 꿰뚫지 못할 것이다.
그럼 어떻게 해야 좋을까.
당장 PNU Quiz의 두 배, 즉 2000명의 이용자를 확보해야 한다면... 어떤 방법이 유효할까.
이에 대한 답은 아직도 내리지 못했다.
하지만 몸소 느낀 바로는...
첫째, 자신이 해당 집단에 속해있을수록 유리하다.
목표 대상과 가까울수록, 나아가 내가 해당 문제의 당사자일수록 달성 가능성이 높아진다.
유효한 수단과 방법들을 떠올리기 쉬워진다.
둘째, 수를 늘려나가는 게 효과적이다.
처음부터 2000명의 이용자를 확보하겠다는 목표보다는...
그 2000명 중에서도 더욱 구체적인 대상을 선정하는 것.
예를 들어... PNU Quiz를 통해 확보한 1000명의 이용자 중 비쁠을 맞는 이용자는 학교에 익숙치 않을 가능성이 높다.
학교에 익숙치 않다? → 새내기이거나 이제 2학년에 올라갈 학생
→ 이들에게 필요한 건? → 가성비 좋은 노트북이나 가방 등을 새로 구매하지 않을까?
→ 비쁠 결과 페이지에 해당 상품으로 향하는 링크를 걸어 접속을 유도하자!
→ 그렇다면 1000명 중 나머지에게는? 예를 들어 고학번에게는? 복학생에게는?
등 의 전략이 가능하다는 것.
겨우 100명? 1000명? 이라 말할지도 모르겠다.
하지만 고작 1달 만에, 세웠던 목표를 훌륭하게 달성한 건 어디 내놔도 떳떳한 결과물.
물론 이걸로 끝이 아니다. 애초 목표는... 100명이 이용하는 페이지 2개였으니까!
또 무엇을 향해 달려갈지는 아직 모른다.
하지만 일단은... 함께 노력한 팀원에게 진심 어린 감사를. 정말로 수고 많았습니다.
'lean > feedback' 카테고리의 다른 글
삐리릿 (0) | 2021.03.19 |
---|---|
왜 우리 집은 중력이 다른가 (0) | 2021.03.16 |
Project 100 (0) | 2021.01.11 |
My Dice - 나만의 데이터 수집하기 (0) | 2020.12.22 |
되게끔 하는 것. (0) | 2020.11.05 |