2026 All-Day-Project (107/365)
만드는 사람들의 협업법 — 1편: 누구와 함께할 것인가
만드는 사람들의 협업법 — 3편: 매일 이기려 하면 지는 이유
제품팀에서 자주 듣는 말이 있어요. "이번 스프린트가 중요합니다." 그런데 돌이켜보면 중요하지 않았던 스프린트가 있었나 싶습니다. 매번 중요하고, 매번 급하고, 매번 이번만 버티면 될 것 같았어요. 그런데 이번이 끝나면 또 다음 이번이 옵니다. 끝나지 않는 '이번'의 연속 속에서 팀은 조금씩 닳아갑니다.
메이저리그 야구에는 162경기라는 숫자가 있습니다. 한 시즌에 162경기. 역대 최강이라 불리는 팀도 시즌에 50패 이상은 합니다. 모든 경기를 이기려는 팀은 없어요. 그런 팀이 있다면 시즌 중반에 선수단이 먼저 무너질 겁니다. 좋은 팀의 목표는 매 경기 이기는 게 아니라, 시즌이 끝났을 때 충분히 이겨 있는 것이에요. 그래서 단장은 경기 하나하나에 일희일비하지 않습니다. 이번 주에 세 경기를 져도 "시즌 전체로 보면 괜찮다"고 판단할 수 있는 시야가 있어야 해요.
제품팀에도 시즌이 있습니다. 다만 우리는 그걸 시즌이라 부르지 않을 뿐이에요. 분기, 반기, 연간 로드맵. 이름은 다르지만 구조는 같습니다. 일정한 기간 안에 정해진 목표를 향해 달리는 것. 문제는 이 기간을 어떤 리듬으로 채우느냐예요.
많은 팀이 빠지는 함정은 "항상 전력 질주"입니다. 스프린트라는 이름 자체가 이미 전력 질주를 암시하잖아요. 2주 전력 질주, 쉴 틈 없이 다음 2주 전력 질주, 또 다음 2주. 단거리 선수가 100미터를 전력으로 뛰고 나면 쉬어야 하는데, 우리는 100미터를 뛴 직후 또 100미터를 뛰라고 합니다. 그것도 1년 내내. 사람이 버틸 수 있을 리가 없어요.
처음에는 표가 안 납니다. 한 달, 두 달은 괜찮아요. 아드레날린이 나오고, 성과가 보이고, "우리 팀 대단하다"는 에너지가 돌죠. 그런데 석 달, 넉 달이 되면 미세한 균열이 생깁니다. 코드 리뷰가 대충 돼요. 테스트를 건너뛰게 됩니다. "이건 다음에 고치자"가 습관이 되고, 그 '다음'은 오지 않아요. 여섯 달쯤 되면 버그가 늘고, 버그를 잡느라 새 기능 개발이 느려지고, 느려진 속도를 만회하려고 또 무리하는 악순환에 빠집니다. 팀원의 눈에서 빛이 사라지는 건 이쯤이에요.
이 과정에서 쌓이는 것이 기술부채입니다. 기술부채라는 말이 좀 추상적으로 들릴 수 있는데, 일상의 비유로 옮기면 이래요. 급하니까 설거지를 나중으로 미루는 거예요. 한 끼는 괜찮습니다. 두 끼도 버틸 만해요. 하지만 일주일치 설거지가 쌓이면 싱크대 앞에 서는 것 자체가 끔찍해져요. 그때는 밥을 해먹는 시간보다 설거지하는 시간이 더 길어집니다. 새 기능을 만드는 시간보다 과거의 코드를 수습하는 시간이 더 긴 팀. 그게 기술부채가 쌓인 팀의 풍경이에요.
그러면 해답은 뭘까요? 천천히 가자는 건 아닙니다. 현실적으로 제품팀에게 "느긋하게 하세요"라고 말하는 건 무바카라임해요. 시장은 기다려주지 않고, 경쟁사는 달리고 있으니까요. 중요한 건 속도를 내지 말라는 게 아니라, 속도를 내는 시기와 숨을 고르는 시기를 구분하는 것입니다. 리듬을 설계하는 거예요.
구체적으로 말하면 이런 겁니다. 한 분기를 열두 주라 하면, 아홉 주는 달리고 세 주는 숨을 고릅니다. 아홉 주 동안은 기능을 만들고 출시하고 사용자 반응을 봐요. 빠르게 갑니다. 그리고 세 주는 의도적으로 멈춥니다. 쌓인 설거지를 합니다. 미뤄뒀던 리팩토링을 하고, 테스트를 보강하고, 문서를 정리해요. 새로운 기능은 만들지 않습니다. 겉으로 보면 세 주 동안 "아무것도 안 하는" 것처럼 보여요. 하지만 이 세 주가 다음 아홉 주의 속도를 만듭니다.
이게 말처럼 쉽지 않은 이유가 있어요. 리더에게 "이번 달은 새 기능 없습니다"라고 보고하는 건 꽤 용기가 필요한 일이거든요. 대부분의 조직에서 "이번 스프린트에 뭘 출시했나"가 성과의 기준이니까요. 눈에 보이는 산출물이 없으면 놀고 있는 것처럼 보입니다. 기술부채를 갚는 일은 사용자에게도 경영진에게도 보이지 않아요. 하지만 그 보이지 않는 일을 하지 않으면, 보이는 일의 품질이 계속 떨어집니다.
여기서 단장의 시선이 필요합니다. 선수는 눈앞의 경기에 집중하는 게 맞아요. 오늘 경기에서 최선을 다하는 게 선수의 일이죠. 하지만 단장은 다릅니다. "이번 주는 주전 투수를 쉬게 하자. 이번 경기는 질 수도 있지만, 다음 주 중요한 시리즈에서 완전한 상태로 던지게 해야 한다." 이런 판단을 내리는 게 단장이에요. 한 경기를 지더라도 시즌 전체의 승률을 높이는 선택.
제품팀 리더에게도 같은 판단이 필요합니다. "이번 분기는 기능 출시를 줄이겠습니다. 대신 다음 분기에 두 배 빠르게 갈 수 있는 기반을 만들겠습니다." 이 말을 할 수 있으려면, 자기 팀의 상태를 정확히 읽고 있어야 하고, 왜 지금 쉬어야 하는지를 설명할 수 있어야 하며, 무엇보다 "매 스프린트마다 성과를 보여야 한다"는 압력 앞에서 버틸 수 있어야 해요.
한 가지 더 이야기하고 싶은 게 있어요. 리듬은 팀의 에너지만의 문제가 아니라 제품의 품질과도 직결됩니다. 계속 달리기만 하는 팀은 "만드는 것"에만 집중하게 돼요. 하지만 좋은 제품은 만드는 것만으로 완성되지 않습니다. 만든 것을 돌아보고, 사용자 반응을 살피고, "이게 정말 필요했나"를 물어보는 시간이 있어야 해요. 숨을 고르는 시간은 기술부채만 갚는 게 아니라, 방향을 점검하는 시간이기도 합니다. 달리는 중에는 보이지 않던 것들이 멈추면 보이거든요.
매일 이기려 하면 시즌을 지게 됩니다. 반대로 질 수 있는 경기를 알고, 쉬어야 할 때를 알고, 다시 달려야 할 때를 아는 팀은 시즌이 끝났을 때 더 높은 곳에 서 있어요. 속도가 아니라 리듬. 이것이 장기전을 버티는 팀의 비밀입니다.
팀의 리듬을 잡았다면, 다음 질문은 판단의 기준에 관한 것이에요. 우리가 잘하고 있는지를 어떻게 알 수 있을까? 숫자는 많은 것을 말해주지만, 동시에 많은 것을 숨기기도 합니다. 다음 편에서 그 이야기를 해보겠습니다.