
왜 음악 앱은 요구사항이 무한히 팽창하는가 ― 실록과, AI가 놓친 스코프 크리프(Scope Creep)의 마지막 브레이크
요약
AI를 활용한 개발 과정에서 발생하는 요구사항의 무한 팽창(Scope Creep) 현상을 음악 앱 개발 사례를 통해 분석합니다. 구현 비용의 급감으로 인해 개발자가 스스로 스코프를 제어해야 하는 새로운 과제를 제시합니다.
핵심 포인트
- AI는 구현 비용을 제로에 가깝게 만들어 스코프 크리프를 가속화함
- 상호 의존적인 복잡한 시스템은 부분 구현 시 미완성 느낌을 줌
- 테스트 데이터(명곡)가 의도치 않게 요구사항 정의서가 될 수 있음
- 현대 개발의 핵심 가치는 '무엇을 만드는가'에서 '어디서 멈추는가'로 이동함
「음표를 클릭해서 도레미로 놀 수 있는 Web 앱을 만들고 싶다」——이 한 문장에서 시작된 개발이, AI와 함께한 하루 만에 「큰보표(Grand Staff)·음가(Note Value)·타이(Tie)·박자 전환·G선상의 아리아 전곡(양손)」을 가진 미니 악보 에디터가 되었다. 요구를 한 것도, 멈추지 못한 것도, 전부 나 자신이다.
에스컬레이션(Escalation) 기록
| 단계 | 요구사항 |
|---|---|
| v1 | 16칸의 오선보. 클릭하면 도레미가 울림 |
| ... | |
| 어느 한 걸음도, 그 시점에서는 완전히 합리적이었다. 그것이 무서운 점이다. |
멈추지 않는 구조 3가지
1. 악보는 1000년에 걸쳐 완성된 「잘라낼 수 없는 전체」이다. 높이를 넣으면 길이가, 길이를 넣으면 박자가, 박자를 넣으면 쉼표·부점·조표가 갖고 싶어진다. 상호 의존적인 폐쇄적 체계는 어디서 끊어도 「미완성」으로 보인다. TODO 앱의 부분 구현은 완성된 것처럼 보이지만, 악보의 부분 구현은 누구의 눈에도 결여된 것처럼 보인다.
2. 테스트에 사용하는 명곡이 그대로 요구사항 정의서가 된다. G선상의 아리아는 긴 유지음(Tie), 16분음표의 빠른 하행(음가), 그 걷는 듯한 베이스(큰보표)를 전부 가지고 있다. 동작 확인을 위해 진짜 곡을 선택한 순간, 그 곡이 스펙을 써 내려가기 시작한다.
3. AI가 「덤으로」 발생하는 한계 비용을 제로로 보이게 한다. 발주자=구현 의뢰자가 동일 인물이고, 구현을 AI로 몇 분 만에 끝낼 수 있다면, 스코프(Scope)를 멈출 사람이 어디에도 없다. 요구사항의 에스컬레이션은 의지의 문제가 아니라, 구현 속도의 함수였다.
개발로서의 수수께끼 풀이 3가지
수기 배열은 거짓말을 한다: 채보 데이터 200개를 대화 흐름 속에서 수기로 작성 → 기계 대조 결과 불일치 발견. 이후 데이터는 스크립트 생성 + 기계 교체 방식으로만 진행 -
협화음 체크가 명곡을 망쳤다: 「강박에서 불협화음이면 자동 수정」 기능을 넣었더니, 도입부의 상징적인 하행 「도→시→라→솔」의 '시'가 사라졌다. 4도까지 고치려는 과도한 이론이 원곡의 울림을 「버그」라고 판정했다. 기준을 2도·7도로 완화하여 해결 -
상하 리듬이 어긋나는 범인: 귀카피(Ear-copy) 유래 멜로디가 합계 23.56마디라는 애매한 길이여서, 그리드(Grid)에서 서서히 드리프트(Drift)하고 있었다. 근본적인 해결은 Mutopia Project의 퍼블릭 도메인 MIDI를 통한 기계 재채보——똑똑한 알고리즘보다 올바른 데이터 소스였다
현대 스코프 크리프(Scope Creep)의 어둠
이 하루는 업계가 수십 년간 괴로워해 온 질병의 실험실 버전이었다.
수탁(受託)의 「덤으로」는 선의에서 시작된다. 프로젝트를 망치는 것은 악의적인 사양 변경이 아니라, 「여기까지 만들었으니 이것도 들어가야겠죠?」라는 선의의 정론이 쌓이는 것이다. 하나하나 거절할 이유는 없으며, 고정 가격과 고정 납기 위에서 복리로 작용한다.
「애자일(Agile)이니까」는 면죄부가 되었다. 변화에 대한 적응은 현장에 따라 「요구사항은 정하지 않아도 된다」는 변명으로 소비되고, 백로그(Backlog)는 무덤이 된다. SaaS에서는 피처 팩토리(Feature Factory), OSS에서는 메인테이너의 번아웃(Burnout)으로 나타난다. 내가 이 앱을 공개하지 않는 이유의 절반은, 「쉼표는 아직인가요」라는 Issue가 올라올 미래가 보였기 때문이다.
그리고 AI가 마지막 브레이크를 해제했다. 스코프 크리프에는 천연의 억제력이 있었다. 바로 구현 비용이다. 「그거 3주 걸립니다」는 최강의 방파제였다. AI는 이것을 철거한다. 그리고 AI는 모두를 「발주자 겸 구현자」로 만든다. 업계 전체가 그 멈출 수 없음을 결재도 견적도 없이 개인의 스케일로 체험하는 시대에 진입했다. 가치의 중심은 「무엇을 만들 수 있는가」에서 「어디서 멈출 것인가」로 이동한다.
어디서 멈췄는가
「다음은 화음인가?」라는 생각이 들었을 때 멈춤을 선언하고 README에 적었다.
동일 단 내의 화음·쉼표 기호·부점·조표·강약은 지원하지 않는다. 이 프로젝트는 여기서 멈추는 것에 가치가 있다.
경계는 문서로 고정하지 않으면 다음 「덤으로」에 녹아버린다. 수탁이라면 계약서와 SOW(작업 기술서)가 이 역할을 담당하지만, 개인 개발과 AI 개발에는 계약서가 없다. 그래서 README에 적는다——경계의 문서화는 AI 시대의 새로운 필수 스킬이라고 생각한다. 그리고 이 앱은 공개하지 않기로 했다. 완성하고 공개하는 것은 별개의 의사결정이며, 다 즐긴 것을 즐긴 채로 선반에 올려두는 자유도 있다.
상세 버전(모든 에스컬레이션 경위와 각 사건의 로그)은 본래 블로그에서 확인하세요:
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기