벌써 에코노베이션에 들어온지 1년이 되어가는데요 :)ㅎㅎ
오늘은 두번째 학기에 진행한 프로젝트에 대해 회고를 해보려 합니다.(팀원 회고 포함)
🙆♀️팀명: 현솔루션
🎱프로젝트명: 너쫌친당
✔️팀원 구성: PM 1명, FE 1명, BE 2명
📋팀 회고
(질문별 답변자가 다릅니다 :) )
Q1. 프로젝트를 소개해 주세요!
: 당구를 함께 칠 상대방을 구하는 서비스로 게임 상대 매칭과 경기 진행, 결제까지 한번에 편리하게 체험할 수 있습니다.
Q2. 프로젝트 하면서 어떤 문제를 겪었나요?
: 마일스톤 관리가 잘 진행되지 못하여, 마지막에 많은 api들을 급하게 연동하게 되었습니다. 그로 인해서 조금 피곤했던 기억이 남네요.
Q3. 프로젝트 하기 전 후 달라진 점이 있다면?
: 프로젝트 시작 전부터 같은 분야 팀원과의 협업 경험을 쌓는 것이 하나의 목표였는데, 이번 프로젝트를 통해 이룰 수 있어 뜻깊었습니다. 단순히 각자 맡은 기능을 구현하는 데에 그치지 않고, 팀원과 함께 컨벤션을 정하고 이를 유지하기 위해 노력하는 과정과 코드 리뷰를 진행하며 더 나은 코드 작성에 대해 고민하고, 깃허브 PR을 작성하는 과정까지 배우면서 협업의 중요성을 더욱 깊이 깨달았습니다. 작은 부분까지 신경 쓰며 배워 나갈 수 있었던 시간이었고, 앞으로의 협업에서도 이러한 경험이 큰 도움이 될 것이라고 생각합니다.
Q4. 프로젝트를 시작하는 팀에게 전해줄 꿀팁을 말해주세요.
: 소통이 가장 중요한 것 같습니다. 저희는 학생들이다보니 학업이 주된 업무라 프로젝트가 갈수록 우선순위에서 뒤로 밀리는 것 같아요. 그 과정에서 서로 소통이 줄어들고 무엇을 원하는지, 어디까지 완성됐는지 알지 못하면 점점 불협화음을 이루게 되는 것 같습니다.
기획자
Q1. 사용자 경험(UX) 및 사용자 인터페이스(UI) 디자인에 대한 고려 사항이 어떠했나요? 사용자들의 피드백을 어떻게 수용하였나요?
: 팀의 목표가 빠른 완성이었기 때문에 최소한의 주요 기능만 가져가고자 했었습니다. 그 과정에서 사용자의 입장을 많이 고려하지 않고 UI/UX를 디자인한 것 같았어요. 깨달은 이후에는 듀토리얼을 넣는다던가 대중적인 UI 기법을 사용하여 디자인해서 사용자들이 친숙함과 편리함을 더욱 느낄 수 있도록 노력했습니다.
개발자
Q1. 팀 내 협업에서 문제는 없었는지 궁금합니다! 그에 대한 개선 방향은 어떤 것이 있을까요?
: 채팅 기능 개발중에 네트워크 탭에서 계속해서 pending 처리가 되어, 이게 제대로 연결이 된건지, 아닌지 헷갈린 경험이 있습니다. 백엔드 팀원에게 문의하여 실제 로그를 찍어보며 데이터가 잘 조회되고, 전송되고 있는지 로그 기록을 하나하나 살펴보기로 하고 진행하였습니다. 몇 시간 동안 로그를 찍어보고, 확인하는 과정을 거쳤는데, 로직상의 문제가 아닌, 잘못된 이전 url을 주었던 것이 문제인 것을 발견했습니다. 다시 한 번 기본인 '문서화'가 중요하고, 백엔드와 프론트엔드 간 소통이 중요하다는 교훈을 얻었습니다.
Q2. 프로젝트의 기술적인 도전과제나 혁신적인 부분은 무엇이었나요?
: 채팅 기능을 구현해야 했기 때문에 웹소켓과 STOMP 기술을 활용했습니다. 실시간 양방향 통신을 처리하는 것이 처음이어서 개념을 익히고 적용하는 과정이 쉽지만은 않았습니다. 특히 STOMP 프로토콜을 활용해 메시지를 주고받고, 구독 구조를 설계하는 과정에서 여러 시행착오를 겪었고 데이터베이스 설계에서도 고민할 부분이 많았습니다. 단순히 메시지를 저장하는 것을 넘어, 사용자별 읽지 않은 메시지의 개수나 채팅방 속 메시지를 읽지 않은 인원 수 등을 정확히 처리할 수 있도록 구조를 설계하는 것이 예상보다 까다로웠습니다. 이러한 과정을 거치며 실시간 통신과 데이터 모델링에 대한 이해를 한층 깊이 할 수 있었던 값진 경험이었습니다.
Q3. 프로젝트 개발 중 어려움을 겪은 경험이 있나요? 어떻게 해결했으며, 그 과정에서 얻은 교훈은 무엇인가요?
: 다른 팀원이 짠 코드를 제대로 리뷰하지 않거나 확인 하지 않고 코드를 추가/수정/삭제 하는 경우 시스템이 제대로 동작 하지 않는 상황이 있었습니다. 이러한 문제를 늦게 발견하고 고치는 과정에서 개발 속도도 늦어지고 다른 코드까지 영향이 가는 상황이 있었는데 코드 리뷰 의무화 및 상세한 주석으로 문제를 해결하고 프로젝트를 잘 끝낼 수 있었습니다.
📋개인 회고
Q1. 프로젝트를 하며 느낀 점
: 이번 프로젝트를 진행하게 된 큰 이유 중 하나가 같은 백엔드 팀원과 협업을 해볼 수 있다는 점이었다. 많은 것을 배우고 같은 분야 내에서는 협업을 어떤 식으로 진행하는지 궁금했기 때문이다. 결론부터 말하자면, 기대처럼 많이 배울 수 있던 시간이었다! 그 과정에서 미안한 감정과 자괴감 등..ㅎ 여러 감정이 오가며 프로젝트를 진행하는데 해가 되는 것은 아닐까싶은 생각이 들 때도 있던 것 같다. 하지만 그럴 때일 수록 조금 더 "할 수 있다!"라는 마음을 되내이고 누구나 처음부터 잘할 수 는 없다는 생각을 하면서 노력하려고 했던 것 같다. 핵심 기능 중 하나였던 채팅도 구현해보고 싶은 기능 중 하나였기에 더 흥미를 가지고 어려움을 극복하려 했던 과정이 기억에 남는다.
그리고 더불어 협업과정에서 의사소통의 중요성을 많이 느꼈던 것 같다. 같은 분야에서의 소통 뿐만 아니라 다른 분야와의 소통이 잘 이루어지지 않았을 때 결국 돌고돌아 모두에게 안좋은 결과를 가져온다는 것을 깊이 알게되어 앞으로는 개발 한 기능과 기한, 코어 타임 등 정확히 공유하고 개발이 진행되도록 해야겠다는 생각을 많이 했다.
또 프로젝트 일정 관리도 굉장히 중요하다고 느꼈는데 이는 처음에 너무 이상적으로 생각해버린 탓이기도 하지만 중간에 흐지부지된 탓이기도 하다고 생각해 프로젝트 일정 관리에 대해 모두가 신경쓰고 열심히 임해야 함을 다시금 깨달았다!
Q2. 아쉬웠던 점 그리고 이번 프로젝트의 앞으로의 계획
: 기획 회의에서 처음부터 완벽하게 개발하고 출시를 하기 보다는 애자일 방식으로 빠르게 출시를 하고 사용자 피드백을 받으면서 이를 반영하고 디벨롭해 나가는 방식으로 진행하기로 했다. 그러나 학생 신분상 학기 중이다 보니 공부에 집중해야 하는 시기도 생기면서 예상보다 느리게 개발이 진행되었고 결국 동아리 최종 발표회까지는 출시를 하지 못한 상태였기 때문에 피드백을 받고 조금 더 디벨롭시킬 수 있는 시간이 부족했다. 결국, 처음에 깊이 있는 개발을 하지 못하고 발표회까지의 목표였던 출시도 미루어지게 되는 상황이 만들어져 아쉬운 마음이 컸다. 현실적으로 시간을 맞춰서 착착 진행하는 것이 너무 이상적으로만 생각하는 것인가 싶기도 하지만 여기에서 다음에는 조금 더 현실적으로 기간을 잡는 것과 더불어 기한을 맞추기 위한 노력도 부지런히 해야겠다는 생각도 했다.
그럼에도 긍정적인 부분은 최종 발표회 때 해당 프로젝트를 소개하고 쓰고자 하는 의지가 어느 정도인지를 파악해보았을 때 상당히 괜찮은 반응이 많았다. 이 중 몇분은 실제로 출시 후 메일을 드리겠다고 말씀드리자 오히려 기대감을 표하시며 흔쾌히 이메일을 주셨다. 주간발표 때 '적극적 투자'라는 개념을 들었는데 그 안에서도 '유효한 이메일'은 점수를 받을 수 있는 수준이기에 더욱 프로젝트를 잘 마무리해서 출시까지 잘 해보자하는 의지가 더 강해졌던 것 같다.
해서 3월부터 1차적인 개발 마무리를 한 후 출시를 진행해볼 계획이다. 3월이면 팀원 중 2명이 서울에서 지내게 되므로 출시된 어플을 서울, 광주를 시작으로 차근차근 당구장에 컨택해 홍보하고 실사용자를 늘려가면 어떨까 싶다.
Q3. 어떤 목표로 이번 학기를 보낼 것인가
: 일단 기본적으로 이번학기는 프로젝트가 크게 너쫌친당, 그리고 새롭게 들어가게 될 프로젝트, 또 새로 인수인계받은 프로젝트(미확정) 이렇게 3가지가 될 것 같다. 먼저, 너쫌친당은 3~4월 쯤부터 출시 이후에 피드백을 통해 받은 내용을 디벨롭해보려 한다. 개발적인 측면에서도 보안이나 프로젝트 아키텍쳐 변경 등 조금 더 우리 프로젝트에 적합하고, 그간의 불편함(불필요하게 같은 코드를 여러번 작성하게 되는 아키텍쳐의 한계 등)을 개선할 수 있도록 개선시켜볼 것이다.
또 새롭게 들어가게 될 프로젝트는 현실적인 계획을 잘 세울 것, 하나를 하더라도 제대로 해보자는 마음으로 진행하고 싶다. 마지막으로 새로 인수인계 받은 프로젝트의 경우, 헥사고날 아키텍쳐를 가진 폴더 구조이고 배울 내용이 많아 공부하는 마음으로 체화시킬 수 있도록 만들어 보려 한다.
또 이번 학기에 새로운 목표가 2학기에 ICT 학점 연계 인턴십 글로벌 과정을 가는 것이기에 이를 위해 준비하는 학기가 될 것 같다. 스피킹부터 포폴 영문버전 정리 등 이번 기회에 그간 프로젝트 경험들도 정리해보고 결과에 상관없이 의미있는 준비기간이 될 것 같다. 하지만..? 무조건 합격하고 싶다!!!!!!!!!!🙌
'프로젝트' 카테고리의 다른 글
구글 로그인 아키텍처 설계 (Spring Boot + MongoDB) (0) | 2025.05.11 |
---|---|
[프로젝트] 코드 리펙토링 도전기 step 1. 코드 분리하기 (0) | 2025.04.07 |
웹소켓 연결, 끊김 감지 (feat. 채팅 목록 unreadCount 구현) (0) | 2025.01.31 |
웹소켓 STOMP로 채팅구현하기 (with Spring) +웹소켓 테스트 사이트 추천 (0) | 2024.11.17 |
[데이터베이스 설계] Null을 피해야 하는 이유? (4) | 2024.10.13 |