[Sprint 백엔드 초급 프로젝트 1일차] 프로젝트 시작 전, 주제부터 역할, 규칙까지

프로젝트 시작 전, 주제부터 역할, 규칙까지

백엔드 초기 프로젝트를 시작하면서 주제 선정, 팀 역할 분담, 일정 계획 등에 대한 가이드가 있었지만, 실제로 팀원분들과 대화를 나눠보니 고민할 부분이 많았다. 특히 API 문서와 기능 요구사항을 바탕으로 역할 분담을 어떻게 나눌지, 서로 다르게 사용하던 코드나 커밋 컨벤션을 어떤 기준에 맞출지가 큰 고민이었다.

아래에 오늘 논의한 결과를 정리해봤다.

주제 1. 프로젝트 주제 선정

하고 싶은 주제는 기업의 인사 데이터를 관리하는 “HR Bank”였다. 그 이유는 다른 외부적 요인 없이 기본적인 기능을 개발하고, 취업에 도움이 될만한 프로젝트라고 생각했기 때문이다.

하지만 논의 끝에 외부 Open API를 연동해 금융 지수 데이터를 처리해 볼 수 있는 Findex가 과반수로 선택되었다. 아마 Open API 연동이 매력적으로 다가왔던 것 같다.


주제 2. 일정 계획

[1단계] 설계 및 환경 구축 (3/11 ~ 3/12)

  • 3/11(수): 요구사항 확정, ERD 설계, API 명세서 초안 작성. (가장 중요!)
  • 3/12(목): 프로젝트 초기 설정(Spring Boot, JPA, Querydsl), DB 형상 관리(Flyway 또는 초기 스키마 공유), 공용 API 응답 규격 생성.

[2단계] 핵심 기능 개발 (3/13 ~ 3/17)

  • 3/13(금): 각 담당 도메인별 기본 CRUD 구현. (팀원 A는 API 연동 클라이언트 제작 시작)
  • 3/16(월): 핵심 비즈니스 로직 완성 (배치 스케줄러, No-Offset 페이징, 이동평균선 계산).
  • 3/17(화): 중간 통합. 각자 만든 기능을 붙여보고 API 호출 테스트. (이때 보통 에러가 많이 터지니 하루를 통째로 비우세요.)

[3단계] 고도화 및 안정화 (3/18 ~ 3/19)

  • 3/18(수): 예외 처리 강화, 성능 최적화(인덱스 확인), CSV Export 등 부가 기능 완성.
  • 3/19(목): 최종 테스트 및 버그 수정. 발표용 데이터 미리 넣어두기(데이터가 없으면 시연이 힘듭니다).

[4단계] 마무리 및 발표 (3/20)

  • 3/20(금): 최종 결과물 시연 및 발표.


주제 3. 역할 분담

API 명세서와 기능 요구사항을 바탕으로 도메인을 기준으로 삼아 역할을 나눴다. 지수 데이터 부분은 대시보드 기능도 포함되어 있어 한 사람만 맡기에 너무 방대하다고 생각되어서 2명으로 구성했다.

  • 지수 정보: 곽인성
  • 지수 데이터: 김현재, 박정현
  • 연동 작업: 이승민
  • 자동 연동 설정: 김혜성


주제 4. 팀 규칙 설정

개발 시작 전에 코드와 협업 규칙을 정하는 것이 중요하다고 생각했다. 그래서 패키지 구조, 메서드 명, 커밋 컨벤션, PR 규칙, Todo 규칙을 정리했다.

4-1. 코드 및 기술 규칙

  • 패키지 분류는 도메인별로
  • 메서드 명 컨벤션
    • Entity 붙이지 않기
    • create, find, findAll, update, delete
    • 그 외 추가 기능은 재량으로 하면서, PR에서 설명
  • 변수 명 컨벤션
    • 영어로 번역했을 때의 앞글자
  • 커밋 컨벤션
    • 예시 : feat: find
    • 종류
      • feat: 새로운 기능
      • fix: 버그 수정
      • docs: 문서만 변경
      • style: 코드의 의미에는 영향을 주지 않는 변경 사항 (공백, 서식, 세미콜론 누락 등)
      • refactor: 버그를 수정하거나 기능을 추가하지 않는 코드 변경
      • perf: 성능을 향상시키는 코드 변경
      • test: 누락된 테스트 추가
      • chore: 빌드 과정이나 문서 생성 같은 보조 도구 및 라이브러리에 대한 변경 사항

4-2. PR 규칙

  • PR이 Merge 되었을 때, 다같이.
  • PR Template

    ## 📝작업 내용
    
    이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)
    
    ### 스크린샷 (선택)
    
    ## #️⃣연관된 이슈
    
    ex) Closes #이슈번호, #이슈번호
    
    ## 💬리뷰 요구사항(선택)
    
    리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
    

4-3. Todo 규칙

  • GitHub Issues 이용
  • Todo template

    title : [이름|날짜] 작업 요약
    
    ## 어떤 기능인가요?
    
    > 추가하려는 기능에 대해 간결하게 설명해주세요
    
    ## 작업 상세 내용
    
    - [ ] TODO
    - [ ] TODO
    - [ ] TODO
    
    ## 참고할만한 자료(선택)
    

마무리

프로젝트를 생각하면 기능 구현에만 초점이 맞춰져 있었는데, 막상 시작해보니까 주제 선정부터 역할 분담, 팀 규칙 정리까지 많은 초기 준비가 필요하다는 것을 느꼇다.

이번 경험을 통해 초기 프로젝트 시작 전을 어떻게 준비하면 되는지 알게 되어 앞으로 좀 더 수월하게 준비할 수 있을 것 같다.


팀 Notion 주소

[SB10-3팀] Sprint Spring 백엔드 초급 팀 프로젝트


GitHub Repository 주소

https://github.com/sb10-team3/sb10-Findex-team3

Leave a comment