느린 속도의 제품에 영향을 미치는 본질적인 이유들 10가지
Table of Contents >
01 강력한 PO의 부재
02 효과적인 프로젝트 관리 부재
03 서로 무슨 일을 하는지 알지 못하는 조직 불투명성
04 유연하게 대응하지 못하는 제품 설계 & 기술 부채
05 개발자가 함께 참여하지 않는 제품 기획
06 사용자 경험과 따로 움직이는 제품 개발
07 매우 긴 릴리즈 주기
08 제품의 비전 및 응집력 부족
09 체스 말처럼 움직이는 용병팀
10 신속한 대응이 불가능한 구조와 환경
시작하며
많은 제품팀에서 제품관리 업무를 수행하며 조직과 팀을 느리게 만드는 요인에 대해 몇 가지 패턴들을 인지하게 됩니다. 많은 팀과 조직에서 생각을 제품에 반영해서 결과를 보기까지 오래 걸린다고 생각하며 이에 많이들 좌절하곤 합니다. 그들 다수는 종종 개발자들의 능력 부족을 탓하지만, 이는 저의 그간의 경험을 놓고 보았을 때 근본적인 원인은 다른 곳에 존재합니다. 제가 생각하는 가장 빈번한 이유를 정리해보겠습니다. �
대다수의 느린 조직 또는 팀에서는 강력한 PO가 존재하지 않습니다.
강력하고 능력 있는 PO는 당면한 목표에 부합하는 문제 해결을 위해 팀이 만들어 낼 수 있는, 실현 가능성이 가장 높다고 예측되는 결과물의 최단 동선을 계획하고 실행합니다. 반대로 이야기하게 되면 느린 팀에는 결과물의 최단 동선을 계획하지 못하며 실행해내지 못합니다. 리더가 있더라도 응집력을 이끌어내지 못하며, 결과를 만들어내지 못할 경우 팀의 구성원들의 이탈하게 됩니다. 이탈로 인해 발생하는 손실은 팀의 사기에 균열을 발생시키며, 종국에는 심각한 타격을 주게 됩니다.
부족한 프로젝트 관리 능력은 일반적으로 느린 제품의 두 번째 이유입니다.
각 팀에는 목표를 효율적으로 달성해내게 만들어 줄 PM 프로젝트 관리자가 필요합니다. 프로젝트 관리자의 가장 중요한 작업은 목표 달성에 놓인 장애물들. 이슈들을 점진적으로 제거해내며 문제 해결 능력을 증명해 내는 것입니다. 대부분의 장애는 누군가 적극적으로 쫓아내지 않고는 빠르게 사라지지 않을 것입니다.
느린 속도의 조직과 팀에 속한 구성원들은 각자 무슨 일을 하는지 알지 못합니다.
자신의 일이 전후좌우로 어떻게 이어지고 연결되는지 알지 못합니다. 팀은 우리의 일이 목표를 달성하는데 어떤 퍼즐 조각으로 영향을 미치는지 알 수 없고, 상호 관계 종속성을 이해하지 못하기에 유기적인 연결로 인한 시너지를 기대할 수 없습니다.
이미 많은 회사에서 발생했으며 계속해서 발생되는 일 중 하나입니다.
스타트업에서 꽤나 자주 발생하는 일 중 하나는 누더기 같은 코드들로 더 이상 어떠한 기능도 추가 개발이 불가능하며, 다시 처음부터 설계되지 않을 경우 사용자 수를 따라갈 수 없고 카드로 지어진 집과 같은 상태에 봉착하게 되는 일입니다. 이러한 상황은 이미 많은 회사에서 발생했으며 계속해서 발생됩니다. 회사가 이러한 상황에 처하면 일반적으로 모든 사람들은 개발팀을 비난합니다. 그러나 이러한 문제가 발생되게 한 가장 본질적인 문제는 제품 관리 실패입니다. 이는 제품 관리자의 실패이기도 합니다. 인프라를 구축하고 큰 범주의 설계를 만들어 내지 못한 누적된 개발 부채가 시효가 만료된 것이죠. 이러한 상황을 타개할 최선의 비책은 이 지점에 도달하지 않는 것입니다. 개발 진행과정의 20%가량은 세금을 부여한다고 생각하고 이 개발 부채를 해소하는 데 리소스를 할당해야 가능한 일입니다.
제품 발견과 기획 과정에서 리드 개발자는 핵심 참가자가 되어야 합니다.
제품 관리자와 디자이너와 함께 리드 개발자가 초기 프로세스에 합류하게 되었을 때, 실제 구동되는 제품의 구현 속도는 더 빠른 대안으로 이뤄지게 될 것입니다. 리드 개발자가 포함되지 않는 제품 별견과 기획의 결과는 구현 가능성을 현저히 떨어트리는 결과로 이뤄지게 됩니다. 개발의 기간은 배로 연장되게 됩니다.
사용자 경험은 개발 실현 가능성을 토대로 점진적으로 구축되어야 합니다.
한 번에 완벽한 제품이 등장하지 않습니다. 팀의 역학관계에서 뿌리를 내리고 제품 개발 과정 내에 자연스럽게 녹아들 수 있어야 합니다. 사용자 경험에 대한 디자인은 제품의 유용성과 타당성에 대한 매우 어려운 질문을 다루게 됩니다. 보통 느린 속도를 보이는 팀들의 대다수는 이루고자 하는 사용자 경험에 대한 정의가 모호하거나, 없거나. 혹은 개발팀의 역학관계에 제대로 뿌리내리지 못하는 경우 발생하게 됩니다.
느린 속도로 움직이는 조직과 팀의 대부분은 매우 기나긴 릴리즈 주기를 보입니다.
몇 달의 긴 릴리즈 주기를 보이며 이 과정을 통해 학습하는 빈도의 수 또한 극히 적습니다. 긴 릴리즈 주기에는 너무나 많은 문서가 발행됩니다. 발행되는 문서의 대부분은 효과적으로 작동되지 않습니다. 실제 사용되는 고객에게 포커스 되는 제품이 만들어지진 않는 경우가 많습니다.
느린 속도의 가장 큰 원인 중 하나는 너무 많은 화살을 여러 곳에 쏜다는 것에 있습니다.
제품의 비전에 맞게 타게팅된 결과를 이끌어 내는 응집력이 필요하나, 여러 곳으로 산발적인 시도를 하며 시간과 화살을 낭비하게 됩니다. 이는 강력한 제품 관리자의 부재를 증명하는 것과도 같습니다. 산발적인 의견과 생각들을 하나로 모아서 같은 방향을 가리키도록 만들어내는 응집력이 부재할 경우, 모든 화살을 여러 곳의 과녁으로 쏘게 됩니다. 점수가 체크되지 않는 텅 빈 과녁들에 화살을 쏘게 되는 것이죠.
느린 속도의 조직과 팀의 개발 구성원들은 마치 용병팀처럼 움직입니다.
매번 다른 프로젝트들에 배치되고 순환됩니다. 하나의 제품을 처음부터 끝까지 파악하고 끝내지 못하게 됩니다. 태생적으로 팀이 큰 그림과 명확한 비전에 따라 자율적으로 움직일 수 있는 환경을 갖추지 못합니다. 해당 영역의 전문 지식을 얻고 학습하고 시행착오를 통해 배울 수 있는 경험의 질과 양은 제한되며, 이 과정에 얻게 될 끈끈한 팀 유대관계가 형성되지 못하게 됩니다.
실제 제품이 출시되고 고객과 사용자가 존재하게 되면 팀의 속도는 현저하게 느려지게 됩니다.
이제 막 팀이 시작되고 일이 빨리 진행되는 것 같지만, 실제 제품이 출시되고 고객과 사용자가 존재하게 되면 팀의 속도는 현저하게 느려지게 됩니다. 이것은 너무나 흔한 문제이며, 모든 면에서 좌절감을 유발하게 만듭니다. 항상 수정해야 할 버그가 존재하며 동시에 개발해야 될 신규 기능들 틈바구니 속에서 압박을 받게 됩니다. 어디에도 집중할 수 없는 구조 속에서 느릴 수밖에 없게 될 결과로 이어지게 됩니다. 취할 수 있는 선택은 어려 게 만드는 구조와 환경을 어떻게 제거해 주느냐가 핵심이 될 것입니다.
마치며.
느린 속도의 제품에 영향을 미치는 본질적인 이유들 10가지를 정리합니다. 좋은 소식은 이들 각각은 조직과 팀의 인식과 행동으로 해결될 수 있고 해결되어야만 한다는 것입니다. 또한 속도만큼이나 중요한 것은 비즈니스에서 시장과 고객에게 긍정적인 변화와 결과를 만들어 주는 것입니다. 본 글을 통해 좀 더 빠른 속도의 제품 개발에 대해 생각해 보실 수 있기를 기대합니다.