인크리먼트
Increment
산출물
한 주기가 끝났을 때 실제로 쓸 수 있는 상태로 더해진 결과물이고, 이전 주기들의 결과까지 합한 전체를 가리킵니다.
등장 배경
한 번에 몇 달을 들여 제품을 만들던 시절에는 중간에 손에 잡히는 것이 없었습니다. 설계서가 나오고 화면 시안이 나오고 개발이 시작되지만, 넉 달째까지 실제로 켜 볼 수 있는 것은 아무것도 없었습니다. 그러다 마지막 달에 전부 합쳐 보면 붙지 않는 곳이 쏟아졌고, 그때는 일정이 이미 없었습니다.
그 시절의 진척 보고는 이런 모양이었습니다. "로그인 80퍼센트, 결제 60퍼센트 진행했습니다." 듣는 사람은 고개를 끄덕이지만 그 80퍼센트가 무엇인지는 아무도 확인할 수 없습니다. 남은 20퍼센트가 하루치인지 3주치인지도 만든 사람만 알고, 대개는 만든 사람도 모릅니다. 절반쯤 만든 것이 여럿 쌓여 있는 상태에서는 지금 멈추면 남는 것이 없습니다. 몇 달을 쓰고도 쓸 수 있는 것이 0이 되는 겁니다.
인크리먼트는 이 상태를 없애려고 둔 기준입니다. 매 주기 끝에 실제로 켜서 쓸 수 있는 무언가가 더해져 있어야 한다는 약속이고, 진척을 퍼센트가 아니라 작동하는 결과물로 말하게 만듭니다. 그러면 어느 주기에 멈추더라도 그때까지 만든 것이 쓸모를 가집니다.
구성 항목
인크리먼트에 들어가는 것은 세 가지 조건을 모두 통과한 결과물뿐입니다.
- 이번 주기에 완성된 항목 — 스프린트 백로그에서 뽑아 이번 주기에 끝낸 작업입니다. 스프린트 백로그는 주기 시작에 하기로 골라 둔 작업 묶음이고, 그 안의 항목이 끝나야 이쪽으로 넘어옵니다.
- 완료 정의를 충족한 상태 — 완료 정의는 무엇을 끝났다고 부를지 팀이 미리 적어 둔 체크리스트입니다. 보통 코드 리뷰를 통과하고 테스트가 돌고 운영 환경에 올릴 수 있는 상태까지를 말합니다. 기준이 팀마다 다른 것은 괜찮지만 한 팀 안에서 사람마다 다르면 주기 끝마다 무엇이 끝난 것인지를 두고 다투게 됩니다.
- 지난 주기들의 결과까지 합한 전체 — 이번에 만든 것만이 아니라 지금까지 쌓인 전체가 인크리먼트입니다. 이번 주기의 기능이 지난 주기의 기능을 망가뜨렸다면 이번 인크리먼트는 완성되지 않은 것입니다. 그래서 주기가 끝날 때마다 이전 것이 여전히 돌아가는지 확인하는 일이 함께 들어갑니다.
들어가지 않는 것을 보면 기준이 더 분명해집니다. 절반쯤 만든 기능은 들어가지 않습니다. 검수만 남은 작업도 들어가지 않습니다. 개발은 끝났지만 배포가 막혀 있는 것도 들어가지 않습니다. 화면 시안과 설계 문서도 마찬가지입니다. 만드는 데 필요한 재료이지 사용자가 쓸 수 있는 결과물이 아니기 때문입니다.
이 기준이 엄해 보이지만 느슨하게 하면 값을 잃습니다. 90퍼센트 된 것을 포함하기 시작하면 주기 끝의 결과물이 다시 "거의 다 된 것" 이 되고, 처음에 없애려던 상태로 돌아갑니다.
작성자와 독자
만드는 쪽은 개발팀입니다. 개발자만 가리키는 말이 아니라 디자이너와 테스트를 맡은 사람까지 포함한 구성원 전체를 뜻하고, 한 사람이 한 가지만 맡는다고 나누지 않습니다. 결과물이 완료 정의를 충족했는지 판단하는 것도 이 팀입니다.
받는 쪽은 스프린트 리뷰 자리에 모이는 사람들입니다. 주기 마지막 날에 만든 것을 실제로 돌려 보이고 의견을 받는 자리인데, 여기서 보이는 것이 곧 인크리먼트입니다. 문서나 화면 캡처가 아니라 작동하는 것을 보여 주는 것이 규칙인 이유도 그래야 의견이 구체적으로 나오기 때문입니다. 시안을 보고는 "괜찮네요" 밖에 안 나오지만 직접 눌러 본 사람은 "저장 누르고 나서 아무 반응이 없어서 두 번 눌렀다" 고 말합니다.
리뷰에 오는 사람은 대개 영업, 고객 지원, 대표처럼 결과에 영향을 받는 쪽입니다. 이들이 보고 남긴 의견은 다음 주기의 후보 목록으로 들어갑니다.
쓸 수 있는 상태라는 말이 반드시 내보낸다는 뜻은 아닙니다. 언제든 내보낼 수 있는 상태까지가 팀의 책임이고, 실제로 언제 공개할지는 따로 정합니다. 기능 다섯 개가 모여야 말이 되는 경우라면 넷째 주기까지의 인크리먼트는 완성돼 있되 공개는 기다립니다.
실무 용례
"이번 주기 인크리먼트에 검색은 빠집니다. 완료 정의를 아직 못 채웠어요."
기능이 거의 다 됐더라도 이번 결과물에는 포함하지 않는다는 뜻입니다.
"리뷰에서 보일 인크리먼트를 운영 환경에 미리 올려 두죠."
시연용으로 따로 띄우지 말고 실제로 돌아가는 것을 보이자는 제안입니다.
"지난 주기 인크리먼트가 이번 변경으로 깨졌습니다."
새로 만든 것이 이미 쓰이던 기능을 망가뜨렸으니 이번 결과물은 아직 완성이 아니라는 신호입니다.
페이지덱에서는 2주 주기의 마지막 목요일에 리뷰를 엽니다. 지난 주기에는 문서 공유 링크에 만료 기간을 거는 기능을 만들었는데, 설정 화면은 다 됐지만 만료된 링크로 들어왔을 때 보여 줄 안내 화면이 남아 있었습니다. 태오는 그 항목을 인크리먼트에서 빼고 다음 주기로 넘겼습니다. 절반만 보이면 리뷰에서 나오는 의견도 절반짜리가 되기 때문입니다.
대신 지현은 그 자리에서 지난 세 주기에 쌓인 공유 기능 전체를 한 번에 눌러 보이며 지금까지 더해진 모습을 함께 보여 줬습니다. 수아가 고객이 자주 묻는 순서대로 눌러 보다가 링크 만료 설정을 찾는 데 시간이 걸린다는 말을 남겼고, 그 의견이 다음 주기 후보로 들어갔습니다.
흔한 오해
인크리먼트를 이번 주기에 만든 것만 가리키는 말로 읽는 경우가 가장 많습니다. 주기마다 더해진다는 설명 때문에 이번에 더한 조각을 떠올리기 쉽기 때문입니다. 하지만 이 말이 가리키는 것은 지금까지 쌓인 전체입니다. 이 구분이 중요한 이유는 확인 범위가 달라지기 때문입니다. 이번 조각만 보면 지난달 기능이 조용히 망가진 것을 주기 끝에 아무도 확인하지 않습니다.
주기가 끝나면 무조건 사용자에게 내보내야 한다고 읽는 것도 흔합니다. 쓸 수 있는 상태라는 말이 그렇게 들리기 때문입니다. 실제로는 내보낼 수 있는 상태를 유지하는 것과 내보내는 것이 다른 결정입니다. 이 둘을 붙여 두면 공개 시점이 아직 아닌 기능을 억지로 내보내거나, 반대로 공개할 수 없으니 완료 정의를 대충 넘기는 쪽으로 기웁니다. 후자가 되면 벨로시티 같은 숫자까지 같이 부풀어 다음 주기 계획이 어긋납니다.
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16