AI 코딩 에이전트를 위한 스크럼 워크플로우를 벤치마킹했습니다. 개선된 점과 비용을 알려드립니다.
요약
병렬 코딩 에이전트의 속도 저하 및 병합 오류 문제를 해결하기 위해 스크럼 워크플로우를 벤치마킹했습니다. 이 워크플로우는 각 역할(구현자, QA 등)에게 전용 git worktree와 엄격한 소유권 확인을 할당합니다. 그 결과, 프로세스 명확화가 모델의 완전성과 일관성을 높이는 데 핵심적인 가치를 제공함을 입증했습니다.
핵심 포인트
- 각 역할은 자체 git worktree를 할당받아 권한이 제한되며, 영역 밖 변경을 원천 차단합니다.
- 커밋 전 소유권 확인(ownership check)과 PR 헤드에서의 녹색 CI 통과가 필수입니다.
- 워크플로우의 가치는 모델이 건너뛸 작업을 수행하는 것이 아니라 완전성과 일관성을 확보하는 데 있습니다.
병렬 코딩 에이전트는 두 개 이상의 에이전트가 같은 파일을 편집하거나, 구현자가 테스트 코드까지 작성해야 하는 상황에서 속도가 느려집니다. 또는 '내 컴퓨터에서는 테스트가 통과했기 때문에' 무언가가 병합되는 경우에도 문제가 발생합니다.
저는 오랫동안 실제 프로젝트에 Claude Code 에이전트 팀을 이용해 스프린트를 진행해 왔습니다. 처음에는 제가 작성한 무료 플러그인인 scrum-kit을 사용했고, 이제는 재구축된 버전인 Lanewright를 사용하고 있습니다. 이 글은 워크플로우가 실제로 도움이 되는지 측정하는 것에 관한 것입니다. 왜냐하면 '더 체계적이라는 느낌'만으로는 추가 토큰 비용을 지불할 이유가 될 수 없기 때문입니다.
워크플로우
한 세션이 스크럼 마스터(Scrum Master) 역할을 수행합니다. 이 역할은 애플리케이션 코드를 작성하지 않습니다. 대신, 각 백로그 항목을 구현자(implementer), QA 엔지니어(QA engineer), 리뷰어(reviewer), 그리고 프로젝트에 필요할 경우 스키마 소유자(schema owner), API 계약 관리자(API contract keeper), 툴링 소유자(tooling owner), 보안 감사자(security auditor)와 같은 역할들에게 할당합니다.
대부분의 작업을 수행하는 세 가지 규칙이 있습니다:
- 모든 역할은 자체 git worktree를 할당받으며, 이는 리포지토리 내 자신의 영역으로 제한됩니다. .claude/kit.json이라는 설정 파일에 각 역할이 작성할 수 있는 경로가 명시됩니다. Claude Code에서는 작은 Python 스크립트가 이를 worktree 내부의 permissions.deny 규칙으로 변환하므로, 구현자가 해당 영역에서 시작하면 테스트 코드를 편집하는 것이 원천적으로 불가능합니다.
- 모든 에이전트에 대해 커밋(commit) 전에 소유권 확인(ownership check)이 실행됩니다. 이 과정은 역할의 영역 밖에 있는 변경되거나 스테이징되었거나 추적되지 않은 파일을 나열하고 실패 처리합니다.
- 증거 없이는 아무것도 병합되지 않습니다. 항목당 하나의 풀 리퀘스트(pull request, PR)가 생성되며, 해당 PR의 정확한 헤드(head)에 대한 녹색 CI(Continuous Integration) 실행과 코드나 테스트를 작성하지 않은 세션의 리뷰가 있어야만 병합 커밋(merge commit)으로 병합됩니다.
벤치마크
작은 두 모듈로 구성된 Go 리포지토리에서 한 스프린트를 진행했습니다. 첫 번째 항목은 함수를 추가했고, 두 번째 항목은 다른 모듈에도 파일을 작성하는 코드 생성기(code generator)를 실행했는데, 이 파일은 어떤 역할도 커밋할 수 없는 영역이었습니다.
두 에이전트 모두 동일한 서면화된 Definition of Done을 받았습니다: 별도의 구현자(implementer), QA 및 검토자(reviewer)가 필요하며, 각 항목당 하나의 PR은 헤드에서의 녹색 CI(green CI) 통과, 지역 준수, 보고서 작성, 그리고 초안 통합 PR이 완료된 후에만 병합됩니다. 유일한 차이점은 한 에이전트에게 스킬 사용을 지시했다는 것입니다. Claude Code (Opus 5.5)와 Codex CLI에서 각 에이전트당 3회 실행되었으며, git 및 GitHub API를 통해 점수가 매겨졌습니다.
결과 (Results)
완료된 실행: 스킬 사용 시 6/6회, 미사용 시 3/6회. 놓친 모든 부분은 동일했습니다: 보고서와 스프린트 요약이 커밋되지 않았습니다. 두 Codex 실행에서 설정(config)에 문서용 지역(region)이 없다는 메시지가 나왔습니다. 스킬은 이를 정의하므로 아무도 추측할 필요가 없습니다.
모든 12회 실행에서 26/26번의 병합이 PR 헤드에서의 녹색 CI(green CI)를 기다렸습니다. 프로세스를 명확히 작성하면, 강력한 모델은 대부분을 스스로 따릅니다. 이 스킬의 가치는 모델이 건너뛸 작업을 수행하는 것이 아니라 완전성과 일관성입니다.
비용 (Cost)
Claude Code에서 모든 부분에 Opus를 사용했을 때, 스킬 사용 시 스프린트당 $5.49였으며 미사용 시에는 $3.55였습니다. 이는 비용은 약 1.5배, 시간은 1.4배 차이입니다. 이 스킬의 비용 설정(오케스트레이터는 Sonnet 5.5, 역할은 Opus 5.5)을 사용하면 추가 3회 실행에 평균 $3.37가 들었으며 여전히 모든 항목을 충족했습니다.
제한 사항 (Limits)
Windows 환경에서 작은 레포지토리 하나에 대해 각 측면당 6회 실행을 진행했습니다. 이 숫자는 정확한 비율이 아닌 방향성으로 읽어주십시오. 도구 수준의 파일 잠금(file locks)은 Claude Code에서만 존재합니다. 다른 에이전트에서는 커밋 전 소유권 확인(ownership check)만이 유일한 강제 수단이며, 이는 차단하기보다는 보고하는 방식입니다.
직접 사용해 보기 (Try it)
The method, prompts, scoring script 및 각 실행 데이터는 공개되어 있습니다: [https://github.com/huzairsaputra/lanewright]
Lanewright 자체는 Agensi의 유료 스킬입니다 (이것은 제 추천 링크입니다): [https://www.agensi.io/r/HUZAIRSAPUTRA?to=/skills/lanewright-sprint-workflow-for-ai-coding-agent-teams]
무료로 시작하고 싶다면, scrum-kit은 GitHub에서 MIT 라이선스입니다. (프롬프트는 인도네시아어(Bahasa Indonesia)로 되어 있습니다): https://github.com/huzairsaputra/scrum-kit
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기