안녕하세요! 유기견을 위한 어플리케이션, 봄멍
에서 팀장이자 프론트엔드를 맡은 황현정이라고 합니다.
이번에 진행한 해커톤에서 얻은 인사이트가 많았어서 회고록을 통해 공유하고자 합니다. 다소 주관적일수 있는 회고이니 참고 부탁드립니다!
1. 구름톤 유니브 in Jeju는 어떻게 진행됐나?
제주도 도착, 첫째날
이날에는 카카오 현직자 분들로부터 특강을 받았는데, 아래와 같은 내용을 듣고 얻어갈수있었다
클라우드 컴퓨팅
- 클라우드의 정의와 필요성
- 클라우드 컴퓨팅의 장점 (확장성, 신뢰성, 유지보수성)
- 카카오의 프라이빗 클라우드 사용 사례카카오 크램폴린
- 애플리케이션 배포를 위한 카카오의 내부 도구
- 도커, 쿠버네티스 등의 컨테이너 기술 소개
- 배포 프로세스 설명개인정보보호
- 개인정보의 정의와 처리 시스템-
개인정보 생애주기와 관련 법규
- 개인정보 취급자를 위한 보안 조치
위의 강의를 들으면서 나는 이번 제주도 해커톤이 바빠질 것이라는걸 천천히 실감했다. 내가 생각했던 것 만큼 서비스화
라는 단어가 가진 무게가 더 컸기 때문이다.
단순히 완성도만 생각해왔는데 개인정보보호 얘기를 들으니 당연히 해야할것을 짚고 넘어가지 못했다는 생각이 들었다. 남은 해커톤동안 이부분을 잘 보완해야겠다는 생각이 드는 시점이었다.
2. 서비스 고도화 시작, 둘째날
왜 자꾸 부족한 점이 보이는거지?
허락을 받고 해커톤 이전의 시간부터 꾸준히 서비스를 고도화했는데도 막상 제주도에 도착하니 구현해야할 것이 눈에 많이 보였다.
첫날에 강의를 듣고난 후 추가해야할 부분이 산더미같이 생겼으며, 아래와 같은 구현 과제가 이미 주어져있었기 때문이다.
1. 한정된 인력과 시간으로 웹사이트를 만들어야 한다.
한림쉼터라는 유기견 보호소와 컨택이 되었다. 보호소가 원하는 서비스는 웹인걸 알게된건 해커톤 3일 전이었다.
거기에 더해 앱도 고도화 시켜야 했다.2. 따라서 백엔드도 웹 관련 API를 만들어야 한다.
만드는 것 뿐만 아니라 원래있던 API를 연동해야한다는 점에서 업무가 많이 책정되었다.3.기획자는 새로운 비즈니스 모델을 만들고 그에 관한 근거자료를 만들어야 한다.
결과가 정해져있는 개발과 다르게, 디벨롭 시킬수록 퀄리티가 올라가는 기획의 특성상 기획자님도 고생하셔야 했다.
해야 할 일을 정리하다
결과 발표까지 남은시간은 24시간
이었다. 해야할 일은 다음과 같았다.
프론트엔드는?
앱을 더 자주 개발했지만 웹개발도 조금 해본 내가 웹을 맡기로 했다. 아래는 디자인의 일부인데, 스크린이 8개정도 되었다. 이외에도 앱에서 발생한 오류들을 픽싱하는 업무를 다른 프론트팀원분께서 진행해주셨다.
백엔드는?
아래와같은 추가 API를 개발도 하고 연동도 진행해야했는데, 그 와중에 생기는 오류들을 픽스하는 업무들도 유동적으로 생성되었다.
기획은?
우리의 아이템을 어떻게 매력적으로 보여줄지, 또 어떤식으로 디벨롭할지를 개발 흐름에 방해되지 않게 논의하는걸 업무로 해주셨다. 발표자료나 근거자료들이 멋졌는데... 이걸 보면서 모든 사람들이 내가 한 것을 내가 느끼는 만큼 매력적으로 보여줄수있는 스킬
을 배워야겠다는 생각을 한 것 같다.
맞아, 우리가 만드는 거 이렇게 대단한거야!라는 생각이 들게 해주는 점에서 기획자님의 역할이 크게 작용했다고 생각한다.
2일차부터 개발을 시작했는데 팀원들이 성격이 극단적으로 다 다른데도 그게 묘하게 잘 들어맞고 이상할정도로 웃음이 끊기질 않는 환경이라 효율적이고 즐겁게 개발했다.
예상치 못한 일이 불러온 조급함
2일차 새벽 4시쯤, 백엔드에서 문제가 생겼다. 웹 관련 API가 아무것도 작동하지 않았다.
내가 하고있던 업무는 웹페이지 API 연동이었고, 웹은 보호소용, 앱은 입양자용이므로 웹의 연동이 완료되어야 앱 서비스도 완성될수 있었다. 우리는 독립적인 페이지는 적었고 이전페이지의 특정 요소에 종속적인 페이지가 대부분이었던터라 웹개발은 완전히 멈췄다.
이게 안되면... 난 할수있는게 없는뎅...
발표시작 까지 5시간 남은 타이밍. 배포에 걸리는 시간을 최소 1시간으로 잡아도 4시간밖에 남지 않았다. 새로이 생기는 오류들을 픽싱하는데에는 한시간도 아까운 상황이었다.
위와 같은 조급함을 스스로 가지고있더라도 최대한 긍정적이게 팀들을 풀어줘야했는데 스스로 조급하다고 느끼지 못해 그부분을 캐치하지 못했다. 그런데 그때 백엔드 팀원분이 아래와 같이
제 잘못입니다...!!! 열심히 하겠습니다!!!!
하고 양팔을 드시는데 팀원들이 뒤집어지고 웃고 난리가 났다. 사과할만한 일이 아닌데도 즐겁게 사과해주셔서 모두의 마음이 풀어진것 같다. 사실 프론트에서 오류가 나면 내 화면만 빨갛고 마는데, 백엔드는 오류가 생기면 프론트에도 문제가 생기지 않는가. 백엔드에서는 오류가 생기면 프론트에서 압박받으니 부담감이 클텐데도 저렇게 웃고 넘어가게 해주는 부분이 감사했다.
사진은 허락받았다!
그리고 놀라울정도로 팀의 분위기가 좋아지고 효율이 늘기 시작했다. 백엔드 팀원분이 한건 팀원들에게 크게 사과하고 앞으로 열심히 하겠다는 말과 재미있는 행동뿐이었는데 그 이후로 귀신같이 백엔드 오류가 해결되고 프론트 오류가 해결되고 연동도 오류없이 바로 됐다.
정말 극적인 변화라 여러 자료들을 보고 생각해보니 백엔드 팀원분께서 하신 행동이 그 상황에서에 최선이자 최고의 행동이라는 생각이 들었다. 앞으로 실수를 한다면 빠르게 인정하고, 분위기를 좋게 만들기 위해 노력하고, 일에 집중해야겠다는 교훈을 얻을수있었다.
3. 마지막 발표, 셋째날
아무도 제대로 잔 사람이 없었다. 나를 포함한 프론트 둘은 아예 잠을 자지 않았고, 백엔드는 한시간씩 자고, 기획자님도 1시간 주무셨다. 모두가 피땀흘려 몇일간 붙잡은 프로젝트이니만큼 눈감는 1초가 아까워서 그랬던것 같다고 생각한다.
개발 하는 동안엔 앱의 완성도나 기획자님의 역량만 보면 수상을 할것같다고 예감했는데... 다른 팀의 발표를 보니 너무 잘하셔서 못받을수도 있겠다는 생각이 들었다. 하지만 개발을 진행하면서 심사위원분들의 피드백과 팀원과의 협업을 통해 얻은 인사이트가 너무 많아서 수상을 못해도 아쉬울것 같지 않았다.
대상을 받다
데모를 진행하면서 실시간으로 유기견과의 채팅이 잘 되는걸 확인했고 눈물나게도 웹도 잘 작동하고, 앱과 웹사이의 연동도 문제없이 이루어진다는걸 확인할수 있었다.
데모가 끝난뒤, 앞으로 우리 팀원들이 이 서비스를 어떻게 서비스화해서 어떻게 지원을 받고 어떤 보호소와 함께할건지를 논의하는 도중 예상치도 못하게 우리 팀의 이름이 불렸다.
단상에 서서 한 생각중 가장 큰건 좋은 팀원들과 심사위원님들을 만났다는 생각이었다.
팀원들 한명도 빠지지않고 일하는 그 환경이 좋았고, 몰입하고 시너지를 만들어내는 그 과정이 즐거웠다. 발표를 진행하고나서, 데모를 진행하시면서 심사해주시는 분들이 이러면 더 좋지 않겠냐 하고 피드백 주신것이 앞으로의 큰 이정표가 될것같아 너무 즐거웠다.
4. KTP 회고
👍Keep
: 프로젝트에서 잘 되었다고 생각하는 점. 유지하고 싶은 긍정적인 요소나 성공적인 부분.
- 해커톤 진행 전부터 꾸준히 일주일에 한번씩 미팅, 한달에 한번은 대면 미팅을 가지며 서비스 고도화에 대한 의견을 나누고 서비스에 대한 애정을 유지한 것이 도움이 되었다.
- 해커톤 당일에는 1시간 간격으로 현상황은 어떻고, 남은 기능은 무엇인지 팀원들끼리 끊임없이 소통하여 업무의 우선순위를 파악하는데 큰 도움이 되었다.
- 팀원당 확실한 역할을 가져(ex 웹과 앱 업무 철저히 분리 등...) 본인의 업무 이외에는 생각하지 않을수 있었던 것이 효율성에 도움이 되었다.
- 해커톤 시작 전에는 아래와 같은 타임라인 툴을 사용했는데, 각자 업무의 종속성 같은 부분을 확실히 짚고 넘어가 일정이 미뤄지지 않도록 할수있었다.
😔 Problem
: 프로젝트에서 문제였거나 개선이 필요한 점. 어려움이나 불편함을 겪었던 부분.
- 초기 설계를 탄탄하게 하지 않아 백엔드, 프론트 모두 개발에 있어 불편함을 느꼈다.
- 웹 디자인이 완성되지 않은 상태로 개발에 들어가 각 페이지에서 생기는 종속성이나 컴포넌트의 분리를 생각하지 못한 폴더구조로 개발을 진행했다.
- 또한 ERD를 검토하고, API명세서를 작성했을때 확실한 검토와 수정을 거치는 부분을 수행하지 못했다.
- 1시간마다 현상황을 공유하고 노션에 진행중인 업무와 완료한 업무를 작성하는 것으로 업무의 흐름을 정리했지만 더 직관적인 툴이 필요했다. 특정 화면만 보면 공유가 될수 있도록 하는 편이 효율적이었을 것이다.
- 사용자 테스트가 불충분했다. 오류는 개발시 수정했지만, 사용자가 특정 화면에서 어떤경향을 보이는지와 같은 부분을 GA를 통해서 확인하고 고도화 했으면 더 좋은 UX를 제공해줄 수 있었을 것이다.
- 컨텍한 보호소의 강아지 정보를 일일히 입력해야해서 개발해야하는 인원들이 개발 이외의 업무를 진행하는 문제가 있었다.
- API 연동 과정에서 오류 메세지가 동일해서 오류 픽싱 단계 중 불편함을 느꼈다.
💡 Try
: 다음 프로젝트에서 시도하고 싶은 새로운 아이디어나 개선 방법.
- 초기에 설계할때 기반을 탄탄히 세우고 프로젝트를 시작한다. 해당 프로젝트의 설계도 다시 짚어보고 함께 리팩토링 할 예정이다.
- 이번엔 짧은 호흡의 업무였으니 다음에도 이런 업무가 주어질시 Trello 같은 시각적 프로젝트 관리 툴을 사용하여 효율을 높일 예정이다.
- 장기 프로젝트 관점에서는 Jira를 사용하여 앞으로의 프로젝트를 관리해보고자 한다.
- 배포후에는 GA를 달고 받은 상금의 일부로 테스트 사용자를 유입시켜 BM, UI/UX를 위한 데이터 분석을 진행 해보고 싶다.
- 다음 프로젝트는 디자인 시스템을 구성해서 일관성있는 디자인, 다른 프론트엔드가 효율적으로 개발할수있는 환경을 구성하고자 한다.
- 사전에 백엔드에게 에러 핸들링과 관련한 부분을 논의하고, 그를 위한 커뮤니케이션에 시간을 아끼지 않도록 하고자 한다
5. 마치며...
사실 인생을 되돌아 보게 해준 백엔드분의 유머 이외에도 인사이트를 준 에피소드로 말할건 정말 많은데 더 말하면 책이 될 것 같다 😂 그래서 남은 내용은 일기장에 적어놓고 열심히 곱씹어보려한다!
백엔드 권xx씨의 동요없고 빠른 오류픽싱...
프론트 여xx씨의 no휴식 개발...
기획자 정xx씨의 눈튀어나오는 ppt실력과 발표실력..
심사위원분들의 생각지도 못한 BM과 조언해주신 새롭고 귀엽고 만들고싶은 기능들...
해커톤에서 시작해서 해커톤으로 끝나는 서비스가 아니라 우리 모두가 애정을 갖고 실제로 서비스화하여 유기견 문제를 해결할수 있는 서비스로 나아가기 까지가 기대된다.
현재는 유기견 보호소중 컨택된 곳이 한림쉼터
만 있는 상태라, 해당 리스트의 유기견들을 실제 DB에 모두 넣은 뒤 서비스를 앱스토어, 플레이스토어에 올릴생각이다.
팀원님들 제가 앞으로 더 잘할테니까 제발 계속 저와 함께해욥...ㅠㅠ 이라고 기원하며 회고록을 마치겠다.
읽어주셔서 감사합니다!
'회고 > 프로젝트 회고' 카테고리의 다른 글
제 1회 Global Connect IOT에 참여하며... (0) | 2025.02.23 |
---|---|
2024 사물인터넷 혁신융합대학 IN-JEJU CHALLENGE 대상 후기 (2) | 2024.12.27 |
2024 겨울 종합설계 발표회 및 We Meet 경진대회 최우수상 후기 (4) | 2024.12.26 |
[Kakao x Goorm] 구름톤 유니브 2기 벚꽃톤 "봄멍" 우수상 후기 (4) | 2024.08.08 |