성공하는 프로젝트는 끝난 뒤 무엇을 남기는가
프로젝트가 끝나면 사람들은 보통 결과물부터 확인한다.
계획한 기능이 모두 구현됐는지, 일정 안에 마무리됐는지, 예산을 초과하지 않았는지, 오픈 이후 장애는 없는지를 점검한다. 오픈보고서, 완료보고서(종료보고서)를 작성하고 운영 부서에 업무를 넘기면 프로젝트가 완전히 종료된 것처럼 느껴진다.
하지만 프로젝트가 끝난 뒤 결과물만 남기고 경험을 정리하지 않는다면, 그 조직은 다음 프로젝트에서도 비슷한 문제를 다시 겪을 가능성이 높다.
기획 단계에서 반복됐던 요구사항 변경, 부서 간 의사소통 오류, 뒤늦게 발견된 정바카라 누락, 부족했던 테스트 기간, 오픈 직전에 몰린 업무가 다음 프로젝트에서도 그대로 되풀이될 수 있다.
그래서 프로젝트가 끝난 뒤에는 반드시 한 번쯤 멈춰 서서 지난 과정을 돌아봐야 한다.
무엇이 잘됐는지, 무엇이 어려웠는지, 문제는 왜 발생했는지, 다음에는 무엇을 다르게 해야 하는지를 정리하는 과정이 바로 프로젝트 회고다.
회고는 프로젝트의 마지막 업무처럼 보이지만, 실제로는 다음 프로젝트를 준비하는 첫 번째 업무에 가깝다.
프로젝트 회고를 이야기하면 일부 구성원은 부담부터 느낀다.
누가 일정을 지연시켰는지, 어느 부서에서 실수했는지, 바카라임자를 찾는 자리가 될 것이라고 생각하기 때문이다. 실제로 회고가 잘못 운영되면 문제를 해결하는 시간이 아니라 바카라임을 떠넘기는 회의가 되기도 한다.
그러나 프로젝트 회고의 목적은 잘못한 사람을 찾는 것이 아니다.
회고에서 찾아야 하는 것은 사람의 잘못보다 문제가 반복될 수밖에 없었던 업무 구조와 프로세스다.
예를 들어 개발 일정이 늦어졌다고 가정해 보자.
겉으로 드러난 결과만 보면 개발자의 작업 속도가 느렸다고 판단할 수 있다. 그러나 과정을 자세히 살펴보면 개발이 시작된 뒤 요구사항이 여러 번 변경됐을 수 있다. 요구사항이 변경된 이유는 초기 검토 회의에 실제 의사결정권자가 참석하지 않았기 때문일 수 있다. 더 근본적으로는 요구사항을 누가 승인하고 언제까지 확정해야 하는지 정해진 절차가 없었을 수도 있다.
이런 상황에서 단순히 “개발 일정 관리가 부족했다”라고 결론을 내리면 다음 프로젝트에서도 같은 문제가 발생한다.
반대로 원인을 구체적으로 확인하고, 다음 프로젝트부터 요구사항 확정 회의에 현업 바카라임자와 최종 승인권자를 참여시키기로 결정한다면 회고는 실질적인 변화를 만든다.
좋은 회고는 사람을 평가하지 않는다.
문제가 발생한 환경과 절차를 살펴보고, 팀이 더 안정적으로 일할 수 있는 방법을 찾는다.
프로젝트 평가와 프로젝트 회고는 비슷해 보이지만 중심 질문이 다르다.
프로젝트 평가는 주로 결과를 확인한다.
목표한 기능을 구현했는지, 계획한 날짜에 오픈했는지, 예산을 지켰는지, 품질 기준을 충족했는지를 살펴본다. 즉, 프로젝트가 성공했는지 여부를 판단하는 데 초점이 맞춰진다.
반면 프로젝트 회고는 결과가 만들어진 과정을 살펴본다.
왜 일정이 지연됐는지, 어떤 협업 방식이 효과적이었는지, 어느 시점에 의사결정이 늦어졌는지, 테스트에서 동일한 유형의 오류가 반복된 이유가 무엇인지를 분석한다.
프로젝트 평가가 “목표를 달성했는가”를 묻는다면 회고는 “왜 이런 결과가 나왔는가”를 묻는다.
평가가 성과를 확인하는 과정이라면 회고는 경험을 학습으로 바꾸는 과정이다.
두 가지 모두 필요하지만, 평가만 하고 회고를 생략하면 프로젝트를 통해 얻은 경험이 조직의 자산으로 남기 어렵다.
프로젝트를 진행하면 계획대로 되지 않는 일이 반드시 생긴다.
처음에는 명확해 보였던 요구사항이 개발 과정에서 달라질 수 있다. 디자인이 확정된 뒤 새로운 정바카라이 발견될 수 있고, 개발이 끝난 기능이 실제 현업 업무와 맞지 않을 수도 있다. 테스트 기간이 예상보다 짧아지거나 운영 환경에서만 발생하는 오류가 발견되기도 한다.
이런 문제는 프로젝트가 끝난 뒤 자연스럽게 잊히는 경우가 많다.
당시에는 매우 중요한 문제였지만 새로운 업무가 시작되면 사람들의 관심은 다음 일정으로 이동한다. 문제를 경험한 담당자가 부서를 옮기거나 퇴사하면 그 경험 자체가 조직에서 사라지기도 한다.
회고는 개인의 기억으로 흩어질 수 있는 경험을 팀의 지식으로 바꾼다.
왜 문제가 발생했는지 기록하고, 해결 과정과 다음 대응 방안을 정리하면 다른 프로젝트에서도 참고할 수 있다. 같은 실수를 반복하지 않게 할 뿐 아니라 잘됐던 업무 방식도 다시 사용할 수 있다.
성공한 프로젝트에도 회고가 필요한 이유가 여기에 있다.
일정을 지켰다면 무엇이 일정 준수에 도움이 됐는지 확인해야 한다. 사용자 만족도가 높았다면 현업 참여 방식이나 테스트 과정에서 어떤 점이 효과적이었는지 살펴봐야 한다. 담당자의 개인 역량 덕분이라고만 결론 내리지 말고, 다른 팀도 재현할 수 있는 업무 방식으로 만들어야 한다.
실패 경험만 자산이 되는 것은 아니다.
성공을 반복할 수 있게 만드는 것도 회고의 중요한 역할이다.
가장 일반적인 회고 시점은 프로젝트 종료 직후다.
프로젝트에 참여한 사람들의 기억이 생생하게 남아 있을 때 진행해야 구체적인 의견이 나온다. 시간이 너무 오래 지나면 당시 왜 그런 결정을 내렸는지, 어떤 상황에서 문제가 발생했는지 정확하게 떠올리기 어렵다.
가능하다면 프로젝트가 끝난 뒤 일주일 이내에 회고를 진행하는 것이 좋다.
다만 프로젝트 기간이 길다면 종료 시점까지 기다릴 필요는 없다.
기획, 디자인, 개발, 통합 테스트, 오픈처럼 주요 단계가 끝날 때마다 짧게 중간 회고를 진행할 수 있다. 기획 단계에서 발견한 문제를 개발 단계 전에 개선하고, 개발 단계에서 확인한 문제를 테스트 단계에 반영하면 프로젝트가 끝나기 전에도 업무 방식을 바꿀 수 있다.
특히 6개월 이상 진행되는 프로젝트라면 중간 회고가 중요하다.
프로젝트 종료 후에야 문제를 발견하면 이미 일정과 비용이 모두 소진된 상태일 수 있기 때문이다.
서비스 장애나 배포 실패, 데이터 오류처럼 중대한 문제가 발생한 경우에도 별도 회고가 필요하다.
이때는 장애를 일으킨 담당자를 찾는 데 집중해서는 안 된다. 장애가 왜 발생했는지, 발견이 늦어진 이유는 무엇인지, 대응 과정에서 정보 전달은 원활했는지, 같은 문제가 다시 발생하지 않도록 무엇을 바꿔야 하는지를 정리해야 한다.
프로젝트 회고는 프로젝트 관리자 혼자 작성하는 보고서가 아니다.
한 사람의 관점만으로 프로젝트 전체를 이해하기는 어렵다. 같은 상황도 역할에 따라 전혀 다르게 보일 수 있기 때문이다.
프로젝트 관리자는 전체 일정과 범위, 비용, 위험요소, 의사결정 과정의 관점에서 프로젝트를 돌아본다.
기획자는 요구사항이 충분히 정리됐는지, 정바카라 결정이 적절한 시점에 이뤄졌는지, 현업과의 협의 과정에 누락은 없었는지를 살펴본다.
디자이너는 디자인 요청과 수정 과정, 화면 일관성, 사용자 경험, 개발 전달 과정에서 발생한 문제를 공유한다.
퍼블리셔와 개발자는 기술적인 난이도, 일정 산정, 개발 환경, 소스 관리, 구현 가능성 검토, 기획 및 디자인 전달 과정에서 겪은 어려움을 이야기할 수 있다.
QA와 테스트 담당자는 테스트 범위가 적절했는지, 반복적으로 발생한 결함 유형은 무엇인지, 수정과 재검증 과정에서 병목은 없었는지를 확인한다.
현업 담당자의 참여도 중요하다.
프로젝트를 수행한 조직이 기능 구현과 일정에 집중했다면, 현업은 실제 업무에서 시스템이 어떻게 사용되는지를 본다. 시스템이 요구사항대로 만들어졌더라도 실제 업무 흐름과 맞지 않을 수 있다. 현업이 참여하지 않는 회고는 사용자의 경험이 빠진 내부 평가에 머물 가능성이 높다.
지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.