역할 재배정

스프린트 1 도중에 담당 영역을 다시 나눴다.

담당자 이전 이후
박민호 데이터 파이프라인 PM (요구사항·일정, 스프린트 진행, QA 총괄)
백성검 PM 프론트·웹 (앱 UI/UX, 화면 구현, 웹 페이지)
정어진 Flutter 개발 백엔드·파이프라인 (DB·API, 영상 수집·전처리, 분석 파이프라인, 배포)
정상호 AI 에이전트 개발 변동 없음

구조상 두 가지가 달라진다.

PM이 구현 영역을 갖지 않는다. 이전에는 PM이 앱 화면을 겸해서, 시험 항목과 판정 기준을 정하는 사람이 그 기준으로 평가받는 코드를 쓰는 구간이 있었다. 앱 영역만 교차 리뷰를 따로 걸어 막던 것을 이제 걸지 않아도 된다 — 네 영역 모두 만드는 사람과 판정하는 사람이 갈라진다. 대신 PM이 코드로 진척을 확인할 수 없으므로, 완료 여부는 시연이 아니라 완료 조건(DoD) 통과로만 판단한다.

백엔드와 파이프라인이 한 사람에게 묶였다. 원래 두 사람이 나눠 맡던 범위다. 여기에 백성검이 기다리는 API 규격과 정상호가 기다리는 장면 색인 스키마가 함께 걸려 있어, 이 영역이 밀리면 세 사람이 동시에 밀린다. 완화책으로 이 영역은 구현보다 규격을 먼저 내기로 했다. 규격만 확정되면 나머지는 구현이 덜 끝나도 착수할 수 있다. 일정이 밀릴 때 PM이 가장 먼저 덜어낼 대상도 이 영역과 물린 항목으로 정했다.

Flutter 앱은 정어진이 만들어 둔 골격(로그인·홈·영상 분석 화면)을 백성검이 이어받는다.

지원 종목을 축구·야구·농구로 줄였다

루브릭 10종 중 5종(배드민턴·탁구·태권도·테니스·배구)을 걷어냈다. 남은 것은 축구 인스텝 슈팅·인사이드 패스, 야구 투구, 농구 점프슛·레이업 5종이다.

루브릭은 디렉터리에서 자동 탐색하므로 파일을 지우는 것으로 끝났고, 코드 변경은 없었다. 예시로 배구·테니스를 들던 주석만 남은 종목 기준으로 고쳤다. pose.pytennis_racket은 종목이 아니라 COCO 클래스 오검출을 막는 코드라서 그대로 뒀다. 테스트 55개 전부 통과.

종목을 더 쪼개야 하는가

쪼개야 한다. 같은 지표가 동작에 따라 반대로 채점되기 때문이다. 임팩트 시 무릎각 176도는 인스텝 슈팅에서 1점이지만 인사이드 패스에서는 0점이다 — “패스가 아니라 슈팅 궤적”이 된다. 농구는 더 분명해서, 점프슛은 extension_peak, 레이업은 distal_apex임팩트로 삼는 프레임 자체가 다르다. 종목 단위 루브릭은 성립하지 않는다.

동작을 자동 판별하는 방안은 넣지 않기로 했다. 임팩트를 찾으려면 먼저 impact_limb·impact_event를 알아야 하는데 그 둘을 루브릭이 선언하는 구조이고, 같은 종목 안의 슛/패스는 각도 분포가 겹쳐서 잘못 고르면 점수가 조용히 틀린다. 사용자가 업로드할 때 (종목, 동작)을 고르는 현재 방식을 유지한다.

여는 범위는 종목당 한 동작으로 줄였다

세분화가 구조상 필요한 것과, 지금 몇 개를 열 것인가는 다른 문제다. 동작을 하나 여는 실제 비용은 YAML 작성이 아니라 임계값 실측·지도자 검수·검증 클립 확보이고, 다섯 개 전부 아직 검수 전이다. 열린 동작이 늘면 미검증 상태로 남는 것도 그만큼 늘어난다.

그래서 축구 인스텝 슈팅·야구 투구·농구 점프슛 셋만 열고, 인사이드 패스와 레이업은 파일을 그대로 둔 채 닫았다. 이미 맞춰 둔 임계값과 칭호가 들어 있어 지우지 않았다.

닫는 장치는 루브릭의 status 필드다. 이 필드는 다섯 파일에 이미 있었는데 아무도 읽지 않는 죽은 값이었다 — 새 필드를 만드는 대신 여기에 의미를 주고 적재 시점에 검증하게 했다. review_required(검수 축)와 축이 다르다는 점을 주석과 테스트에 명시했다. 지금 열린 셋은 열려 있으면서 검수 전이고, 결과에는 계속 provisional이 붙는다.

닫아 둔 동작도 키를 직접 주면 분석은 된다. UI 목록(/api/rubrics)에서만 빠진다 — 검수와 실측은 UI를 열지 않고 돌려야 하기 때문이다. 계약 테스트는 draft까지 순회하므로, 닫혀 있는 동안 파이프라인이 바뀌어 지표 이름이 어긋나면 여는 날이 아니라 그날 걸린다.

미결 항목 3번(최초 지원 종목과 동작 범위)은 이 결정으로 해소했다.

다음 할 일

  • 지도자 검수로 루브릭 임계값 확정 (현재 임시값) — 끝나는 순서대로 draft를 연다
  • 야구 투구·농구 점프슛 실클립 확인 (아직 축구 슈팅과 레이업만 통과)
  • 야구 두 번째 동작(타격)은 검수 이후로 미룬다 — 양팔 회전 스윙이라 현재 스윙/지지 사지 모델에 맞는지 확인이 먼저다
  • API 규격 초안 회람 (백성검·정상호 착수 조건)

위로

Copyright © 2026 Super-Sub

This site uses Just the Docs, a documentation theme for Jekyll.