본문 바로가기
Sparta 내일배움캠프 Java 5기/[10주차] 아웃소싱 프로젝트 Team Project ✓ 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

  1. 자신이 구현한 기능을 이해하기 쉽게 JavaDoc(Plugin Tool)과 같이 주석으로 자세하게 설명을 하거나, ReadMe에 각자 기능 에 대한 메뉴얼을 기록하여 충분히 서로의 코드와 그 기능에 대해서 충분히 인지하면서 개발을 진행할 수 있도록 한다.
  2. 협업툴을 충분히 활용할 때, 더 생산성을 높이기 위한 Slack의 댓글을 활용하여 같은 토픽으로 의논하기 등 팀 규칙을 따로 계획도 동시에 진행한다.
  3. 팀원들은 각자 자신의 개발 역량을 객관적으로 파악한 후, 구체적인 프로젝트의 기능 및 개발에 대해 분업이 진행 될 때, 무작정 Try 도전하기 보다 할 수 있는 것과 할 수 없는 것을 명확하게 팀원들에게 전달하여, 과도하게 많은 코드 개발 시간 등 불필요한 개발 리소스 낭비를 방지한다.