팀 회고보드 (KPT 방식)

스프린트나 프로젝트가 끝났다면, Keep·Problem·Try 세 가지 질문으로 팀 회고를 정리해보세요.

👍 Keep 계속 유지할 것 · 0개

⚠️ Problem 아쉬웠던 점 · 0개

🚀 Try 다음에 시도할 것 · 0개

KPT 회고를 쓰는 때

KPT는 Keep(앞으로도 유지할 것), Problem(문제였던 것), Try(다음에 시도할 것) 세 칸으로 지난 기간을 정리하는 회고 방식입니다. 일본의 개발 현장에서 널리 퍼진 방식으로 알려져 있고, 구조가 단순해서 처음 회고를 도입하는 팀이나 짧은 시간에 끝내야 하는 스프린트 회고에 잘 맞습니다. 질문이 "잘한 것, 못한 것, 그래서 무엇을 바꿀 것"이어서 감정 토로로 흐르지 않고 마지막에 행동 항목이 남도록 설계되어 있습니다. 프로젝트 마무리, 릴리스 직후, 장애 대응이 끝난 뒤처럼 "방금 겪은 일"이 기억에 남아 있을 때 가장 좋습니다.

단계별 작성 순서 (60분 기준 예시)

  1. 규칙 확인 (5분): 사람이 아닌 상황과 사실에 대해서만 말하고, 여기서 나온 이야기는 평가에 쓰지 않는다는 점을 먼저 합의합니다.
  2. Keep과 Problem을 각자 조용히 작성 (10분): 말하기 전에 각자 적게 해야 말이 많은 사람의 의견만 남는 일을 줄일 수 있습니다. 한 항목에 한 가지 사실만 적습니다.
  3. 공유와 묶기 (10분): 같은 내용은 합치고 투표나 대화로 이야기할 순서를 정합니다. 항목이 많을 때는 닷보팅 도구로 다룰 항목을 추립니다.
  4. Problem의 원인 짚기 (15분): 가장 영향이 큰 문제 1~3개만 골라 "왜 그랬나"를 두세 번 되물어 구조적 원인을 찾습니다.
  5. Try 확정 (15분): 원인에 대응하는 행동을 정하고 담당자와 기한을 붙입니다. 이 부분은 SMART 목표 설정 도구의 기준으로 다듬으면 구체화됩니다.
  6. 정리 (5분): 회고 내용을 복사해 위키나 채널에 남기고, Try는 액션아이템 트래커로 옮겨 진행 여부를 추적합니다.

시간 배분은 어디까지나 예시입니다. 20~30분짜리 짧은 회고라면 2~4단계를 줄이고 Try 확정에 시간을 더 쓰는 편이 좋습니다.

작성 예시: 결제 모듈 개편을 마친 백엔드 5인 팀

아래는 가상의 팀이 2주 스프린트를 마치고 작성한 보드입니다. 항목이 모두 구체적인 사실이고, Try가 Problem 하나하나에 대응한다는 점을 눈여겨보세요.

칸내용
KeepPR은 반나절 안에 첫 리뷰를 달기로 한 약속
Keep배포 전 스테이징 결제 시나리오 체크리스트
Keep장애 대응 때 채널을 하나로 모은 것
Problem외부 PG사 스펙 변경이 개발 도중에야 공유됨
Problem테스트 데이터 준비에 개발자마다 반나절씩 씀
Problem금요일 오후에 큰 PR이 몰려 리뷰가 밀림
TryPG사 공지 메일을 팀 채널로 자동 전달하고 담당자 1명이 주 1회 변경 여부 확인
대응하는 Problem: PG사 스펙 변경 늦은 공유
Try공용 테스트 데이터 생성 스크립트를 이번 스프린트 안에 만들기 (담당: 도윤, 목요일까지)
대응하는 Problem: 테스트 데이터 준비 시간
TryPR 크기 상한(변경 300줄 안팎)을 권장하고 금요일 오후 대형 PR은 다음 주로 미루기
대응하는 Problem: 금요일 PR 쏠림

이 보드에서 Problem은 3개, Try는 3개이며 Try마다 실행 방법이 구체적이고 대응하는 Problem이 분명합니다. 반대로 Keep은 "분위기가 좋았다" 같은 막연한 칭찬이 아니라 다음에도 일부러 지킬 수 있는 행동이어야 의미가 있습니다. 위 예에서 "PR 첫 리뷰는 반나절 안에"는 약속이므로 유지하자고 말할 수 있지만, "협업이 좋았다"는 무엇을 유지할지 알 수 없습니다.

모호한 Try를 행동으로 바꾸기

회고가 흐지부지되는 가장 흔한 이유는 Try가 다짐에서 끝나기 때문입니다. 같은 문제를 어떻게 바꿔 적는지 보여 주는 예입니다.

모호한 Try왜 문제인가구체화한 Try
더 소통하자누가 무엇을 하는지 알 수 없어 다음 회고 때 확인할 방법이 없음변경 사항은 당일 안에 팀 채널에 한 줄로 공유 (담당: 전원, 다음 스프린트부터)
테스트를 열심히 하자"열심히"는 측정이 안 됨결제 관련 PR에는 시나리오 체크리스트 3개 항목을 PR 설명에 포함
일정 관리를 잘하자원인이 빠져 있어 어디를 고칠지 모름스프린트 2일차에 외부 의존 작업 목록을 점검하는 15분 미팅 추가

다른 상황의 예시: 고객지원팀과 디자인팀

위 예시는 개발 팀이라 PR이나 배포 같은 말이 나왔습니다. KPT는 개발 밖에서도 같은 구조로 쓸 수 있습니다. 아래는 직군이 다른 가상의 팀 두 곳이 적은 항목 일부입니다.

고객지원팀(6인, 한 달 운영 회고). Keep: "환불 문의는 접수 당일 안에 첫 답변을 보낸다는 규칙". Problem: "같은 질문에 담당자마다 다른 안내가 나감", "야간 문의가 월요일 오전에 한꺼번에 몰림". Try: "자주 오는 질문 10개를 팀 위키에 표준 답변으로 정리하고 금요일마다 1개씩 갱신(담당: 번갈아 가며)". 여기서 눈여겨볼 점은 Problem을 "응대 품질이 들쭉날쭉"처럼 평가어로 쓰지 않고 "같은 질문에 다른 안내"라는 관찰된 사실로 적었다는 것입니다.

디자인팀(4인, 앱 리뉴얼 프로젝트 종료 회고). Keep: "시안을 확정하기 전에 개발 담당과 15분 검토를 하는 습관". Problem: "최종 파일 이름 규칙이 없어 버전이 섞임", "피드백이 메신저·메일·회의에 흩어져 있었음". Try: "피드백은 한 도구의 한 스레드에만 모으고, 이름 규칙(날짜_화면명_버전)을 첫 주에 팀이 합의". 이처럼 프로젝트 단위 회고는 기간이 길어 항목이 많아지므로 Problem을 시기별(기획, 제작, 전달)로 나누어 적으면 정리하기 쉽습니다.

회고 시간별 단계 배분표

위 60분 예시의 비율(5·10·10·15·15·5분)을 그대로 두고 총 시간만 바꿔 환산한 표입니다. 반올림 때문에 합이 총 시간과 1~2분 다를 수 있으며, 권장 시간이라기보다 짧은 회고에서 어느 단계를 먼저 줄일지 가늠하는 참고입니다.

단계30분 회고45분 회고60분 회고90분 회고
규칙 확인3분4분5분8분
조용히 작성5분8분10분15분
공유와 묶기5분8분10분15분
원인 짚기8분11분15분23분
Try 확정8분11분15분23분
정리3분4분5분8분
합계32분46분60분92분

30분 회고에서는 비율대로 줄이면 "원인 짚기"와 "Try 확정"이 각각 8분과 8분이 됩니다. 시간이 이만큼 부족하다면 문제를 한 개만 골라 깊게 다루고 나머지는 보드에 남겨 다음 회고로 넘기는 편이 낫습니다.

인원수에 따라 보드에 쌓이는 양

각자 Keep 2개, Problem 2개를 적는다고 가정하면 인원이 늘수록 항목은 곱으로 늘어납니다. 원인을 짚는 15분을 문제 3개에 나누면 한 문제당 5분 안팎이므로, 인원이 많을수록 "묶기" 단계에서 비슷한 항목을 합치는 일이 중요해집니다.

참여 인원Keep 항목Problem 항목합계원인 짚기 15분을 문제 3개에 나눌 때 문제당
3명6개6개12개약 5.0분
5명10개10개20개약 5.0분
8명16개16개32개약 5.0분
12명24개24개48개약 5.0분

12명이 모두 같은 보드에서 회고하면 Problem만 24개가 올라올 수 있습니다. 이 규모에서는 팀을 둘로 나누어 각자 회고한 뒤 Try만 합치는 방식도 고려해 보세요. 이 도구는 한 화면에서 한 사람이 입력하는 보드이므로, 항목이 많을 때 진행자가 화면을 공유하며 비슷한 항목을 구두로 합친 뒤 입력하는 것이 현실적입니다.

Try 이행률로 회고의 효과를 점검하기

회고가 효과가 있었는지는 새 Try가 얼마나 나왔느냐가 아니라 지난 Try가 얼마나 실행됐느냐로 가늠합니다. 아래는 가상 팀이 4번의 스프린트 동안 기록한 예시이며 실제 통계가 아닙니다. 다음 회고를 시작할 때 지난 Try를 "완료 / 진행 중 / 중단"으로 표시해 보세요.

기간정한 Try실행한 Try이행률
스프린트 13개1개33%
스프린트 23개2개67%
스프린트 32개2개100%
스프린트 42개2개100%
합계10개7개70%

이 예시에서는 스프린트 1에서 Try 3개 중 1개만 실행됐지만 스프린트 3부터 개수를 2개로 줄이자 모두 실행됐습니다. 이행률이 낮으면 Try를 더 늘리지 말고 담당자와 기한이 빠졌는지, 크기가 너무 크지 않은지부터 살펴보세요. 이 도구에는 이행 여부를 표시하는 기능이 없으므로 복사한 Try를 액션아이템 트래커에 옮겨 추적하는 방법이 있습니다.

좋은 Problem 한 줄을 쓰는 기준

원인이 분명하지 않은 Problem은 바로 Try로 넘어가지 말고 5 Whys 근본 원인 도구로 "왜"를 몇 번 되물어 본 뒤에 대응 행동을 정하세요.

보드를 읽는 법

흔한 실수

한계

KPT는 단순한 대신 문제의 근본 원인을 깊이 파고드는 장치가 없습니다. 장애처럼 원인 분석이 중요한 사건은 별도의 사후 분석 절차를 병행하는 것이 좋고, 팀 내 심리적 안전감이 낮으면 Problem 칸이 비어 형식적으로 끝날 수 있습니다. 이 도구는 항목을 쌓는 보드일 뿐 투표·담당자 지정·알림 기능이 없으며, 실시간 공동 편집도 지원하지 않습니다.

입력과 복사가 동작하는 방식

입력한 데이터는 어디에 저장되나요?

보드의 모든 항목은 서버로 전송되지 않고 이 브라우저의 localStorage에만 저장됩니다. 다른 기기, 다른 브라우저, 팀원의 화면과는 동기화되지 않으니 회의에서는 진행자가 화면을 공유하며 입력하세요. 브라우저의 사이트 데이터를 지우거나 "보드 전체 초기화"를 누르면 삭제되므로, 남겨야 하는 회고는 "회고 내용 복사" 버튼으로 텍스트를 저장해 두세요.

함께 쓰면 좋은 도구

스프린트 속도를 돌아보려면 스프린트 벨로시티 계산기를, Try의 우선순위 정리는 아이젠하워 매트릭스를, 매일의 짧은 공유는 데일리 스탠드업 노트를 이용할 수 있습니다.

자주 묻는 질문

회고 내용을 팀원과 함께 실시간으로 편집할 수 있나요?

아니요. 이 도구는 이 브라우저에만 저장되는 개인용 보드라서 실시간 공동 편집은 지원하지 않습니다. 회의에서는 진행자가 화면을 공유하며 입력하거나, 각자 별도 협업 도구에 적은 뒤 정리된 결과를 여기에 옮기는 방식을 쓰세요.

Start-Stop-Continue 방식으로도 쓸 수 있나요?

네. Keep을 Continue(계속할 것), Try를 Start(새로 시작할 것), Problem을 Stop(그만둘 것)으로 바꿔 읽으면 같은 보드로 진행할 수 있습니다. 칸 이름은 고정이니 보드를 쓰기 전에 팀에 이렇게 읽는다고 알려 주세요.

회고는 얼마나 자주 해야 하나요?

정해진 정답은 없습니다. 스크럼 팀은 스프린트마다 하는 경우가 많지만, 변화가 크지 않다면 격주나 월 단위로 줄여도 됩니다. 중요한 것은 횟수보다 지난 Try의 실행 여부를 확인하는 습관입니다.

Try 항목은 몇 개가 적당한가요?

다음 기간에 실제로 해낼 수 있는 2~3개를 권하는 경우가 많습니다. 많이 정할수록 실행률이 떨어지기 쉬우므로 영향이 큰 것부터 고르고 나머지는 다음 회고로 넘기세요.

원격 회의에서는 어떻게 쓰는 것이 좋을까요?

진행자 한 명이 화면을 공유하고 입력하는 방식이 가장 단순합니다. 다만 각자 조용히 적는 단계는 공유 화면 대신 각자 메모 도구에 적게 한 뒤, 진행자가 취합해 입력하세요. 이 보드는 참가자 각자의 화면과 동기화되지 않습니다.

브라우저를 닫아도 항목이 남아 있나요?

이 브라우저의 localStorage에 남아 있습니다. 같은 브라우저로 다시 열면 이어서 볼 수 있지만, 시크릿 모드이거나 사이트 데이터를 삭제하면 사라지고 다른 기기에서는 보이지 않습니다. 중요한 회고는 복사해서 별도로 보관하세요.

새 회고를 시작할 때 이전 내용은 어떻게 하나요?

보드는 하나만 저장되므로 지난 회고는 먼저 "회고 내용 복사"로 위키나 문서에 옮겨 둔 뒤 "보드 전체 초기화"로 비우고 시작하세요. 초기화는 되돌릴 수 없습니다.

Keep·Problem·Try를 다른 이름으로 바꿀 수 있나요?

칸 이름은 고정입니다. 팀에서 다른 틀(예: 계속할 것·멈출 것·시작할 것)을 쓴다면 위 FAQ처럼 칸의 의미를 대응시켜 읽거나, 복사한 텍스트에서 제목만 고쳐 쓰세요.

회고 내용을 성과 평가에 써도 되나요?

권하지 않습니다. 평가에 쓰일 수 있다고 느끼는 순간 구성원이 솔직한 Problem을 적지 않게 되어 회고 자체가 무의미해집니다. 회고는 팀이 일하는 방식을 개선하는 대화로 한정하세요.