런칭보다 무서운 유지보수, 초기 설계로 리스크 관리하기
안녕하세요! 8년 차 PM이자 다양한 IT 툴과 서비스의 인사이트를 기록하는 리뷰온리에요!
오늘은 서비스 기획자와 운영자라면 누구나 한 번쯤 겪어봤을,
하지만 결코 마주하고 싶지 않은 상황에 대한 주제를 가져왔어요.
바로 MVP 런칭 성공 뒤에 숨겨진 기술적인 결함과
그로 인해 발생하는 운영 효율 저하에 대한 이야기인데요,
오늘 이 부분에 대해서 자세히 알아보도록 할게요!
새로운 서비스를 시장에 내놓고 유저들의 반응이 뜨거울 때
PM으로서 느끼는 즐거움은 정말 대단해요!!!
지표가 우상향하고 여기저기서 피드백이 쏟아지는 시기는
제품이 살아있음을 느끼게 해주는 아주 소중한 시간이죠~
하지만 이런 축제 분위기도 잠시뿐이고,
다음 기능 업데이트를 준비하려고 하면
갑자기 마음이 답답해지는 경험이 생기기도 해요...
분명히 MVP 단계에서는 개발이 아주 빨랐는데,
정작 유저들의 요구사항을 반영하려고 하니 개발 단계에서 구현이 안되는거죠...
런칭 초기에는 며칠이면 완성되던 기능들이
이제는 하나를 수정하는 데만 몇 주씩 걸린다고 하니
PM 입장에서는정말 당황스러운 상황인데요!
이런 현상은 서비스가 성장하고 있다는 신호이기도 하지만,
초기 개발 단계에서 간과했던 문제들이 수면 위로 올라오고 있다는 신호이기도 해요.
초기에 시장 검증을 위해 일단 작동하게만 만든 코드는
서비스의 성장을 가로막는 요소가 될 수 있어요...ㅠㅠ
유저가 늘어나고 데이터가 쌓일수록 이전에 부족하게 처리했던 부분들이
시스템의 전체적인 속도를 늦추고 오류를 발생시키기 때문이에요.
지금 당장 기능이 작동한다고 해서 안심할 것이 아니라,
우리 서비스의 내부 구조가 앞으로의 확장을 감당할 수 있는지 냉정하게 살펴봐야 해요!
우리가 처음 서비스를 기획하고 개발할 때는
시장의 반응을 확인하는 것이 가장 우선순위였을 거에요.
그래서 개발팀에 빨리 만들어달라고 요청하게 되고,
기능만 정상적으로 작동하면 큰 고민 없이 런칭을 진행하곤 해요.
저도 연차가 낮았을 때는 기획서의 세세한 수정 없이 결과물을 빨리 가져다주는 개발팀이
최고의 파트너라고 생각했던 적이 있었어요 ㅎㅎㅎ
당장 결과물이 나오는 속도는 빠를지 몰라도,
그 내부를 들여다보면 정리가 되지 않은 코드들이 쌓여있을 가능성이 높아요!
기획의 의도를 충분히 파악하지 않고 눈에 보이는 화면만 만드는 데 집중하면,
나중에 비즈니스 로직이 변경될 때 코드를 전부 새로 짜야 하는 상황이 발생해요.
기획자와 개발자 사이의 충분한 논의 없이 진행된 속도전은
결국 나중에 더 큰 비용으로 돌아오게 되어 있어요...ㅠㅜ
아키텍처나 코드의 확장성에 대한 깊은 고민 없이 기능을 쌓아 올리는 방식은
시간이 지날수록 큰 대가를 치르게 돼요!
특정 기능을 구현하기 위해 기존 코드를 복사해서 붙여넣거나,
전체적인 구조와 상관없는 임시방편의 코드를 추가하면
시스템은 점점 복잡해지고 관리하기 힘들어져요.
이런 방식으로 쌓인 결과물은
나중에 사소한 부분 하나를 고치려고 해도
시스템 전체가 작동을 멈출 수도 있는 아주 위험한 상태가 돼요.
유저들의 피드백을 받아서 버튼 위치 하나를 옮기거나 문구를 수정하는 간단한 작업조차도
1주일 이상 걸린다는 답변을 받으면 PM은 정말 답답해지기 마련인데요,
이런 현상이 발생하는 이유는 코드 사이의 연결 관계가 너무 복잡하게 얽혀있기 때문이에요.
하나의 기능을 수정했을 때 예상하지 못한 다른 부분에서 오류가 발생하는 일이 반복되면
개발자는 점점 조심스러워지게 되고 작업 시간은 길어질 수밖에 없어요...ㅠ
실제로 MVP 이후에 본격적인 성장을 준비해야 할 때, 신규 기능 개발보다
기존의 오류를 해결하는 데 더 많은 시간을 쓰는 팀들이 정말 많아요.
간단한 수정도 전체 시스템을 테스트해야 할 정도로 구조가 불안정하면
개발 효율은 급격하게 떨어지게 돼요.
결국 경쟁사는 새로운 기능을 출시하며 앞서나가는데,
우리 팀은 과거에 만든 코드의 문제를 해결하느라
제자리에 머물게 되는 상황이 벌어지는 거에요 ㅠㅠ
비즈니스 성과를 내야 하는 중요한 시점에
기술적인 한계로 인해 아무것도 할 수 없는 상태가 되면
PM의 고민은 깊어지게 돼요!
마케팅 비용을 들여서 유저를 유입시켜도
정작 필요한 기능이 제때 업데이트되지 않으면
유저들은 금방 떠나버리거든요.
그래서 서비스의 초기 단계부터 개발 효율을 유지할 수 있는 기반을 만드는 것이
얼마나 중요한지 깨닫게 되는 지점이 반드시 찾아와요!!!
이제는 눈에 보이는 기능을 빨리 구현하는 것에만 만족해서는 안 된다는 것을 알고 계실 거에요.
제품의 지속 가능성을 확보하는 것이야말로
서비스의 성패를 결정짓는 핵심적인 요소이기 때문이에요!
빨리 만드는 것과 잘 만드는 것은 서로 멀리 있는 개념이 아니라,
오히려 잘 만들어야 나중에 더 빠르게 수정하고 확장할 수 있다는 점을 인지해야 해요~ :)
서비스가 커졌을 때 누가 새로운 개발자로 들어오더라도
바로 코드를 이해하고 작업할 수 있는 환경이 조성되어 있는지가 정말 중요해요!!!
이를 위해서는 코드의 표준화가 이루어져 있어야 하고,
개발 과정에 대한 문서화가 꼼꼼하게 진행되어야 해요.
문서화가 되어 있지 않으면 특정 개발자가 부재할 때
서비스 운영 자체가 불가능해지는 리스크를 안게 되기 때문이에요.
저는 프로젝트를 진행하면서 내부 팀뿐만 아니라
외부 파트너사와 협업할 때도 항상 이 부분을 가장 먼저 체크하는데요!
나중에 서비스가 성공해서 개발팀을 구성하거나 규모를 키울 때,
기존의 코드가 큰 방해 요소가 되지 않도록 설계되어 있는지가
외주개발사의 실력을 확인하는 기준이 돼요~
제품의 미래 성장까지 고려하는 개발사를 만나는 것이
PM에게는 가장 큰 힘이 된다고 생각하거든요 :)
제가 여러 프로젝트를 거치며
신뢰하게 된 외주개발사 중 하나가 바로 똑똑한개발자에요!
이곳과 함께 일하면서 가장 좋았던 점은
그들이 사용하는 표준화된 자체 프레임워크와 철저한 개발 가이드였어요.
많은 외주 개발사들이 마감 기한에 쫓겨 코드를 엉망으로 작성하는 경우가 많지만,
똑똑한개발자는 누가 작업을 하더라도 일정한 품질이 유지되는 깨끗한 코드를 제공해 주더라고요.
똑똑한개발자에서 경험한 개발 방식은 제품의 전체 기간을 깊이 있게 고려하고 있었어요.
서비스의 확장성을 미리 제안해 주는 시야 덕분에 당장의 MVP 구현뿐만 아니라
1년 뒤, 2년 뒤의 서비스 성장까지도 든든하게 준비할 수 있었던 기억이 나요.
누가 코드를 봐도 명확하게 이해할 수 있도록 구조화된 결과물을 보니
PM으로서 마음이 정말 놓이는 경험이었죠! ㅎㅎ
나중에 내부 개발팀이 생겼을 때 별도의 긴 설명 과정이 없어도 될 정도로
문서화가 잘 되어 있어서 정말 편하기도 했어요.
서비스가 커졌을 때 발생할 수 있는 여러 상황을 대비해 미리 설계된 구조 덕분에
추가 기능을 붙이는 것도 아주 수월했어요.
기술적인 전문성과 비즈니스에 대한 이해도를 모두 갖춘 곳이라
프로젝트를 진행할 때마다 만족도가 정말 높았답니다~!!
MVP 제작을 고려중이신 분들이라면 똑똑한개발자에 한 번 문의해보세요!
아래 링크도 남겨드릴게요~ :)
기술적인 결함은 나중에 높은 비용을 지불해야 하는 손실과도 같아요.
초기에 제대로 된 파트너와 함께 탄탄한 기초를 다지는 것이
결국에는 서비스의 생존 확률을 높이는 가장 빠른 길이에요.
MVP 런칭은 서비스의 끝이 아니라 본격적인 시작이라는 점을 잊지 마세요!
오늘 제 글이 MVP 런칭을 앞두고 있거나
운영 중에 어려움을 겪고 계신 많은 PM분께 도움이 되었으면 좋겠어요.
오늘도 읽어주셔서 감사합니다!