피드로 돌아가기
Sprint 7 Retrospective: Quality Gates & Human Experience
Dev.toDev.to
Backend

ORCHESTRATE 팀이 118개 V3 서비스를 단일 REST API에 통합하고 6단계 엔드-투-엔드 파이프라인 검증으로 9개 스프린트 연속 배포 달성

Sprint 7 Retrospective: Quality Gates & Human Experience

ORCHESTRATE2026년 3월 29일7intermediate

Context

Sprint 3~6에서 개별 기능들(TTS, 미디어 오케스트레이션, 유튜브 파이프라인, RSS 배포)을 각각 구축했으나 통합된 상태에서의 동작을 검증하지 못했다. 소스 코드 수준의 라우트 검사만 수행했기 때문에 런타임 바인딩 오류, 잘못된 응답 형식, 미들웨어 문제를 감지할 수 없었다. api-server.mjs 단일 파일에 118개 서비스가 모두 연결되면서 도메인 분리가 없고 병합 충돌과 인지 과부하가 발생했다.

Technical Solution

  • 118개 V3 서비스를 api-server.mjs REST 엔드포인트로 통합: 각 서비스마다 전용 REST 라우트 생성 및 소스 검사 테스트로 라우트 파일 검증
  • 6단계 엔드-투-엔드 파이프라인 통합 테스트 구축: Source → Script → Audio → Assembly → Quality Gate → RSS 흐름을 PipelineExecutor와 StageResult 인터페이스로 자동화
  • PipelineStageValidator로 체인 단절, 중복 스테이지, 계약 위반 감지: 런타임 레벨에서 파이프라인 무결성 검증
  • ADR-032 기반 페르소나 메모리 저장소 의무화: DONE 및 스프린트 종료 시 권고 경고 발행 (현재 권고 수준, Sprint 8 차단으로 확대 예정)
  • OAuth2 자격증명 순환 테스트 구현: AES-256-GCM 암호화 저장소와 PBKDF2 키 유도를 사용한 다운타임 없는 순환, 긴급 취소, 동시 접근 패턴 검증
  • ComfyUI와 FFmpeg 컨테이너화: Docker 빌드 중 TypeScript 컴파일 자동화로 배포 전 수동 npm run build 제거

Impact

스프린트 예상치 58포인트를 38포인트로 우측정렬하면서도 품질 저하 없이 배포: 9개 스프린트 연속 배포 달성 테스트 100개 이상 추가로 파이프라인 신뢰도 향상 페르소나 메모리 스토리지 준수율 3개 스프린트 연속 0%: 권고 수준의 지시만으로는 충분하지 않음을 증명

Key Takeaway

통합 검증은 소스 검사 수준을 넘어 엔드-투-엔드 파이프라인 테스트로 구현해야 런타임 계약 위반을 실제로 감지할 수 있다. 프로세스 개선(권고 경고)이 세 번 실패한 경우 다음 스프린트에서 기술적 강제(차단)로 선택지를 좁혀야 준수 결과를 얻을 수 있다.


다중 서비스를 단일 API 진입점으로 통합하는 팀에서 StageResult와 같은 표준화된 파이프라인 결과 구조를 설계한 후 각 스테이지를 독립적으로 통과/실패/스킵 상태로 추적하면, 어느 단계에서 체인이 끊겼는지 정확히 파악할 수 있고 소스 레벨 라우트 검사만으로는 놓치는 런타임 오류를 조기에 발견할 수 있다.

원문 읽기
Sprint 7 Retrospective: Quality Gates & Human Experience | Devpick