Sparta 내일배움캠프 Java 5기/[10주차] 아웃소싱 프로젝트 Team Project ✓by Genie;2024. 6. 25.
(24.06.25) A11조 XI Sparta 아파트 아웃소싱 Project - KPT 회고
Summary
👍KEEP
프로젝트 시작 전에 팀원 각자 DB 환경을 설정하는데 application-secret.properties 파일로 각자 설정을 해서 환경을 서로 간섭하지 않을 수 있었다.
서로 개발 역량간의 편차가 큼에도 불구하고, 협업을 주도하는 PM역할의 조장 중심으로 역량별 역할 분배 및 협의가 잘 이뤄질 수 있었다.
협업 간에 서로 할 수 있다고 믿어주고 존중해주는 분위기 때문에 적극적으로 개발에 집중하고 기여할 수 있었다.
하루에 1~2회 지정된 소통하는 시간을 따로 가져서, 개발 진척도를 파악하고, 서로 부족한 코드에 대해 리뷰하거나 도움을 주는 시간이 따로 배정되어 있어서 개발을 원활하게 진행할 수 있었다.
프로젝트 전 협의를 통해 팀원 각 개발의 진행 List를 GitHub의 Issues 기능 활용을 결정, 템플릿을 제작해, 각자의 업무 진척도 확인 및 기능 충돌, 유지보수를 원활하게 할 수 있는 환경을 세팅을 할 수 있었다.
Slack 및 Notion 협업 툴에 개발 진척도 및 필수 사항들을 팀원 모두가 최신화 시키는데 힘을 써 놓친 부분 없이 완성을 시킬 수 있었다.
⛳TRY
협업툴을 사전에 활용하자고 협의가 되었을 때, 활용할 기능을 충분히 팀원들 모두가 활용할 수 있도록, 전문적인 강의 또는 튜터님들의 도움을 받아서 충분히 숙지하고 프로젝트를 진행하고, 이를 최대한 활용하도록 한다.
각자 객관적으로 자신의 역량을 파악하고 팀원들의 협업에 있어서 충분히 어필하여 불필요한 리소스를 낭비하지 않는다.
팀원간 역량차이가 파악된다면 빠르게 프로젝트의 틀을 구상하고 코드를 작성할 수 있는 팀원이 적극적으로 스켈레톤 코드 또는 환경 세팅을 미리 진행해서 모두가 효율적으로 프로젝트를 진행할 수 있는 환경을 구성한다.
코드 리뷰가 부족하여 스스로 코드를 개선하는 것이 아닌 보다 충분한 팀원간 코드 리뷰만의 시간을 배정하여 서로 학습하면서 배우는 시간을 충분하게 확보할 수 있도록 한다.
주석 등을 적극적으로 활용하여 각 팀원이 개발한 코드를 서로 충분히 인지할 수 있도록 한다.
❗PROBLEM
모두가 GitHub의 Issues기능, Slack 협의에 대한 리액션, 댓글 활용이 부족해서 툴을 적극적으로 활용하여 생산성을 높일 수 없었다.
Merge 시 코멘트 및 리뷰를 진행하지 않아서, 코드의 오류나 문제를 Merge 후 팀 회의 시간에 확인해야하는 단계가 비효율적이었다.
내일배움캠프에서 제공되는 강의진행과 팀과제를 동시에 진행하는 팀원들이 있었고, 이에 따라 각 개인 역량차이가 발생해 필수적인 요구사항에 한정하여 개발 Scope 를 구상하고 설계했다.
과도하게 팀원 각 개발 담당에 몰두를 해서 다른 사람의 코드를 보면서 다른 부분의 개발 상황이나 진행을 충분히 이해할 수 없었다.
TRY / Action Plan
자신이 구현한 기능을 이해하기 쉽게 JavaDoc(Plugin Tool)과 같이 주석으로 자세하게 설명을 하거나, ReadMe에 각자 기능 에 대한 메뉴얼을 기록하여 충분히 서로의 코드와 그 기능에 대해서 충분히 인지하면서 개발을 진행할 수 있도록 한다.
협업툴을 충분히 활용할 때, 더 생산성을 높이기 위한 Slack의 댓글을 활용하여 같은 토픽으로 의논하기 등 팀 규칙을 따로 계획도 동시에 진행한다.
팀원들은 각자 자신의 개발 역량을 객관적으로 파악한 후, 구체적인 프로젝트의 기능 및 개발에 대해 분업이 진행 될 때, 무작정 Try 도전하기 보다 할 수 있는 것과 할 수 없는 것을 명확하게 팀원들에게 전달하여, 과도하게 많은 코드 개발 시간 등 불필요한 개발 리소스 낭비를 방지한다.