총 4명의 개발진과 4명의 기획자 겸 디자이너가 함께 제작한 서비스로 기존 음악 재생 서비스의 기능을 확장하여 제작된 프로젝트입니다. 테스트 주도 개발 방식을 통해 소프트웨어의 품질을 향상시키고 커뮤니케이션 능력을 기를 수 있었던 프로젝트입니다. 협업 툴과 형상 관리 도구를 이용해 팀원과 효율적인 협업 방법과 , 팀원 간 의견 충돌 및 갈등을 해결하는 방법을 알게되었습니다.
주요 기능은 음악 탐색 , 가수 탐색 , 음악 재생 , 음악 아카이빙 ( 감정 기록 ) , 플레이리스트, 푸시알림 , OAuth2.0, 회원가입 및 로그인이 있으며 푸시 알림을 구현하기 위해 Spring scheduler
와 Server Send Events
를 사용했습니다. 또한 오픈소스인 Spotify API
를 활용했습니다.
첫 협업 작품인 것만큼 신중하면서 프로젝트를 진행했기에 목표했던 기간을 맞추진 못했지만, 구현하고자 하는 기능은 모두 구현했습니다. 더 자세한 정보는 하단 깃허브 주소의 Read.Me 에 상세히 작성을 해두었으며 참고해주세요.
해당 프로젝트의 백엔드 팀장으로서 백엔드의 컨벤션을 정하고 작업을 분배하는 역할을 했었습니다.
또한 구현한 로직은 다음과 같습니다.
2023 - 2 ~ 2023 - 9 ( 8 개월간 )
기획자 또는 프론트엔드와 의견을 나누는 것을 넘어, 팀원 간 발생할 수 있는 갈등을 유연하게 대처할 수 있게 되었습니다. 상대방과 내 의견의 차이점을 정확히 알고 타협점을 찾아 서로 원하는 것을 최대한 맞출 수 있는 능력을 기를 수 있었습니다.
효율적인 협업을 위해 JIRA 또는 GitHub 을 이용하여 브랜치 전략
과 애자일 방법론
을 활용하여 소프트웨어 품질을 향상시키고 모든 상황에 유연하게 대처할 수 있는 방법을 깨닫게 되었습니다.
CI/CD
를 활용하면서 끊임없이 수정 및 확장되는 어플리케이션을 자동으로 배포하는 로직을 구현했을 때 단순히 성취감을 넘어 깨달음을 얻을 수 있었습니다.
처음 CI/CD
의 이해가 부족했을 때 단순히 기업 지원요건에 있어서
라는 생각을 갖고 공부했지만, 직접 기술을 이해하고 사용해보니 개발의 생산성을 높혀준다
는 것을 알았습니다. 뿐만 아니라 이해없는 기술의 남용은 소프트웨어의 효율성을 저하시키고 유지보수에 걸림돌이 될 수 있다는 것을 알게되었습니다.
따라서 기술을 사용할 때는 많은 것을 아는것보단 하나라도 제대로 아는 것이 중요하다고 생각했습니다.
협업을 하면서 단순히 코드를 짜는 것은 위험성이 있다는 것을 알게 되었습니다. 각자의 스타일에 따라 코드를 작성하다 보면 다른 사람의 코드를 활용하기 어려워질 수 있으며 이는 레거시 코드로 변질
및 비효율적인 코드
가 되거나 클린하지 못한 코드
가 될 수 있다는 것을 알게 되었습니다.
따라서 컨벤션을 작성하여 코드 스타일과 명명 규칙을 가능한 통일하여 작업하는 것이 중요하다고 느꼈습니다.
초기에 작업 기간을 4개월로 설정했지만 프로젝트에 참여한 모든 팀원이 대학생인만큼 대외활동 , 공모전으로 일정이 변경되는 일이 잦았습니다. 팀원의 직업을 생각하고 프로젝트가 지연될 수 있다는 것을 항상 염두해두고 기간을 넉넉히 잡아야한다는 것을 깨닫게 되었습니다.
작업 기간이 길어지게 된 이유 중 하나라고 생각했습니다. 프로젝트 회의는 일주일에 1~2번이 적당하다고 생각했지만, 중간에 긴 기간동안 소통이 잘 되지않아 진행이 잘 되지 않았습니다.
그리고 작업 뿐만 아니라 팀원 관리에 미흡하여 프론트 팀의 리더가 개인적인 사유로 프로젝트 진행이 어려워졌을 때 이 문제를 빠르게 인지 하지 못해서 프론트 팀원 한명 이탈 및 팀원 사기 저하가 되었습니다.
따라서 하루에 한번씩 짧게라도 회의를 진행하면서 팀 간의 진행 사항을 공유하고 각 팀에서의 이슈를 빠르게 인지해야하는 것을 알게되었습니다.
이 프로젝트는 저에게 커뮤니케이션하는 방법을 깨닫게 해준 보석같은 프로젝트입니다. 하나하나 배워갈수록 성장하는 것을 느꼈지만, 앞으로 배워야할 것이 많다고 느꼈습니다.
많은 것을 알고 있다고 생각했지만 이 프로젝트를 하면서 우물 안의 개구리였다는 것을 알게 되었습니다. 따라서 항상 겸손한 마음을 갖고 모든 배움에는 마음을 열어두어야 끊임없이 발전할 수 있다는 것을 깨닫게 되었습니다.