뒤로
오영준
오영준 ·

1000번째 배포 회고 : 소프트웨어가 가진 본질적인 특징

저는 퍼블리라는 스타트업에서 APM(Associate Product Manager)로 1년 반 정도 일했는데요, 퍼블리가 정말 좋은 제품팀 문화를 가지고 있는 회사라는 걸 재직 기간 내내 느꼈습니다.

이 얘기를 드리는 이유는, 오늘 오전에 휴튼 질문 패키지의 코드를 수정하여 배포했는데 정말 우연히 이것이 휴튼의 1000번째(!) 배포*라는 걸 알게 됐기 때문입니다. 아니 벌써 1000번이나 배포했다고? 하며 제가 퍼블리에서 배운, 소프트웨어 제품이 가진 본질적인 특징에 대해 다시 생각해보게 되었어요.

*저는 사소한 수정사항이라도 바로바로 배포하려고 해요(오히려 사소한 수정사항일수록 더 즉각적으로). 웬만하면 한 명의 유저라도, 1분이라도 일찍 더 나은 경험을 하면 좋으니까요. 물론 휴튼이 아직은 웹만 서비스하는 극초기 프로덕트이기 때문에 가능한 것이기도 합니다.

스크린샷 2023-09-02 오후 1.50.43.png

퍼블리에서 온보딩 기간동안 제품팀이 일하는 방식에 대해 설명을 하며 강조하는 것 중 하나가 우리는 소프트웨어 제품을 만든다는 사실입니다. 여기에 너무 당연하지만 또 너무 중요한 사실이 있는데, 바로 소프트웨어는 극단적으로는 하루에도 수십수백번, 또 매우 빠르게, 그리고 꾸준히 개선/수정을 하며 사실상 무한한 최적화를 할 수 있다는 것입니다. 이것이 하드웨어 제품과의 가장 크게 다른 점이죠.

이 특징 하나 때문에 제품팀이 일하는 방식이 결정됩니다. 이 특징으로 인해 초기에는 제품의 다소 낮은 완성도가 용인되기도 하고, 완성도보다는 속도가 우선시되어 제품을 매우 빠르게 출시할 수 있고, 그 덕분에 사용자의 반응을 빠르게 확인하고 이터레이션을 돌릴 수 있는 것이죠.

사소한 개선을 끊임없이 할 수 있다는 것도 이 특징이 가져오는 장점입니다. 과거에 현대자동차에서 PM(Project Manager)을 하던 친구가 일하는 방식을 본 적이 있는데, 제품(자동차)의 기획/개발부터 출시까지 1년~1년 반 정도가 걸렸던 것 같아요. (몇 년 전 기억이라 정확하지는 않습니다)

아무튼 그 긴 기간동안 모든 부서들이 착착착 맞춰 일해서 마지막에 짠! 하고 멋진 제품을 내놓는 것이죠. 그렇기 때문에 예를 들어 트렁크 문을 이렇게 만들지 저렇게 만들지 결정하는 데만 몇 주를 쏟았다고도 합니다.

소프트웨어는 근본적으로 다릅니다. 우리는 보통 그 기간을 ‘스프린트’라는 이름으로 1~3주 단위로 잘게 쪼개서 채우니까요. 소프트웨어는 트렁크 문을 이렇게도 만들어보고 저렇게도 만들어보고 그렇게도 만들어본 뒤에 셋 다 세상에 내놓아볼 수 있으니까요. 하나로 결정한 뒤에도 고객이 원하는 방향으로 조금씩 (바로바로) 개선할 수 있으니까요.

물론 이것이 마냥 장점이냐고 물으면 꼭 그렇다고 할 수는 없을 것 같습니다. 앞서 말씀드린 것처럼 소프트웨어는 초기의 다소 낮은 완성도가 용인되는데 이것은 제품의 특성에 따라 치명적인 리스크로 작용할 수도 있기 때문입니다. 또 저는 개발자가 아니라 깊이 알지는 못하지만, 너무 잦은 배포로 인한 단점도 분명 있을 거예요.

아무튼 소프트웨어가 가진 당연하지만 중요한 본질적인 특징을 이해하고 있으면 이 제품을 어떤 프로세스로 발전시키고, 나아가 제품팀, 더 나아가 회사 자체가 어떻게 일하는지까지도 더 깊이 고민해볼 수 있을 것 같습니다.

...그럼 저는 이만 1001번째 배포를 하러! 🚀

휴튼

나도 몰랐던 나를 알아가는 질문들

10

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.