크게 생각하고 빠르게 배우고 경청: WordPress SaaS 제품 구축에서 얻은 교훈
게시 됨: 2017-04-191년 반 전에 다음 사이드 프로젝트가 무엇일지 생각하기 시작했을 때 그 성공을 상상할 수 없었습니다. 어떤 사람들에게는 그것이 작게 보일 수 있지만, 누군가가 당신의 제품에 대해 충분히 믿게 하여 당신에게 돈을 준다는 것은 당신이 자랑스러워해야 할 엄청난 성취입니다.
하지만 쉽지 않습니다. 첫 번째 고객을 얻으려면 헌신, 노력 및 약간의 운이 필요합니다. 노자가 말했듯이 " 천리의 여행은 한 걸음에서 시작됩니다 ".
문제 식별
비즈니스를 구축하기 전에 제품이 필요합니다. 제품을 만들기 전에 문제가 필요합니다. 해결해야 할 문제를 찾는 것이 여정에서 가장 어려운 부분일 수 있으므로 시간을 들여 해결하십시오. 생각해 본 적 있습니까:
"<문제>에 대한 <것>이 있었으면 좋겠어"?
당신이 가지고 있다면 다른 사람들도 마찬가지일 것입니다. 이것은 제품 아이디어를 탐색하기 시작하기에 좋은 곳입니다.
수많은 실패한 제품을 통해 배운 것 중 하나는 성공하고 싶다면 자신이 안고 있는 문제를 해결하는 것이 많은 도움이 된다는 것입니다. 내가 여전히 프리랜서 WordPress 개발자였을 때 클라이언트 호스트에서 테마와 플러그인을 업데이트하는 문제에 자주 부딪쳤습니다. 하는 것은 항상 큰 고통이었습니다. 그래서 워드프레스 업데이트 시스템에 연결할 수 있으면 삶이 훨씬 쉬워질 거라고 생각했습니다. Kernl은 이 문제에서 탄생했고, 이것이 제품의 핵심을 형성했습니다.
Kernl의 핵심은 사용하기 쉬운 WordPress SaaS 제품이 되기를 원했습니다. 내 의심은 사람들이 실제로 자체 업데이트 인프라를 실행하고 싶어하지 않고 신뢰할 수 있는 제공업체에 기꺼이 비용을 지불할 것이라는 점이었습니다. 고객은 플러그인 또는 테마의 ZIP 파일만 업로드하면 나머지는 저희가 처리합니다. 핵심 제품의 범위를 엄격하게 유지하는 것은 가치 제공에 집중하는 데 정말 도움이 되었습니다.
문제 공간에 기존 플레이어가 있으면 문제 검증 역할을 합니다.Tweet
문제를 식별하는 주제에 대해 잠시 시간을 내어 시장의 규모에 대해 이야기하고자 합니다. 누군가가 이미 귀하의 문제를 해결하는 제품을 만들었다고 해서 귀하의 솔루션을 위한 여지가 없다는 의미는 아닙니다. 그들이 하는 일을 더 잘하고 자신을 차별화할 수 있다면 고객을 확보할 수 있습니다. 문제 공간에 기존 플레이어가 있는 것이 문제 검증 역할을 한다는 점도 주목할 가치가 있습니다.
작게 시작하고 크게 생각하되 항상 끝내라
우리 커뮤니티에서 사람들이 "린 스타트업 방법론"에 대해 이야기하는 것을 자주 듣습니다. 사람들은 린 스타트업의 어떤 부분을 따를 것인지 선택하는 경향이 있으며 저도 예외는 아닙니다. 나는 확실히 그것을 정확히 따르지 않았지만 한 가지 확신한 것은 작업을 시작하기 전에 Kernl을 가능한 가장 작은 단위로 추출하는 것이었습니다.
특히 여가 시간에 이 작업을 수행하는 경우 증가분을 위해 결승선을 통과하는 것이 어려울 수 있습니다. 한 가지 기억해야 할 점은 반복해도 괜찮다는 것입니다. Kernl의 첫 번째 증분을 출시했을 때 완벽하지는 않았지만 개인 플러그인 및 테마 업데이트 제공이라는 내가 말한 대로 수행했습니다. 첫 번째 증분 동안에는 아직 완료해야 하는 작업의 백로그를 계속 유지했습니다. 늘 성장하고 있는 것 같고 나쁘지 않은 것 같았다. 항상 해야 할 일이 더 많지만 집중하는 것이 제품을 발전시키는 원동력입니다.
Kernl을 위한 "빅뱅" 릴리스를 시도한 적이 한 번은 실패했습니다. 분석 제품을 만들려고 했지만 일이 잘 되지 않았습니다. 나는 내가 만들고 있는 기능을 믿지 않았고, 그것은 나의 헌신과 의욕 저하로 나타났습니다. 한 달 동안 일한 후 나는 손실을 줄이고 모든 것을 허물었습니다. 그것은 내가 끝내고 싶지 않다면 무엇인가를 시작해서는 안 된다는 중요한 교훈이자 일깨워주는 것이었습니다. 불행히도, 내 시간은 자유롭지 않고 항상 다른 것들이 그것을 요구합니다.
"자전거 보관소는 무슨 색이야?"
약 1년 전에 동료가 저에게 "자전거 셰딩"이라는 용어를 소개했습니다. Bikeshedding은 Parkinson의 사소한 법칙에 대한 은유로 만들어진 용어입니다. 한 무리의 엔지니어들이 원자력 발전소를 짓기 위해 일하고 있지만 현명하게 시간을 보내고 원자로 설계에 대해 토론하는 대신 발전소 앞 자전거 보관소의 색상이 어떤 색이어야 하는지에 모든 시간을 낭비하게 된다는 이야기가 있습니다. 이다.
일상 업무에서 우리는 사소한 주제에 대해 토론하고 있다는 사실을 깨달을 때마다 "bikeshedding"이라는 용어를 사용합니다. 질문에 대한 답변이 실제로 중요하지 않거나 제안된 솔루션 중 하나라도 괜찮으면 하나만 선택하고 계속 진행하십시오. 여가 시간에 SaaS 제품을 만들 때는 결단력이 매우 중요합니다. 고객은 Node.js 또는 PHP를 사용하는지 여부에 신경 쓰지 않고 하나만 선택하여 사용합니다.
여가 시간에 SaaS 제품을 만들 때 결단력이 매우 중요합니다.Tweet
고객에게 결과는 동일하며 고객에게 직접적인 영향을 미치는 기능에 대해 작업할 수 있도록 시간을 절약했습니다. 어떤 경우이든 결단력을 갖고 자전거를 타지 마십시오 .
당신을 빠르게 만드는 기술을 선택하십시오
개발자로서 내가 기술 A 또는 기술 B를 선택한 이유를 들어줄 사람과 몇 시간 동안 토론하게 되어 기쁩니다. 하지만 제품을 빌드할 때는 아마 중요하지 않을 것입니다. 자신이 잘 알고 있는 기술을 선택하고 작업하십시오. 빠르게 구축할 수 있다면 거의 항상 올바른 선택입니다.
Kernl에서 선택한 기술은 프로젝트의 목표를 반영합니다. 성공적인 WordPress SaaS 제품을 구축하고 그 과정에서 기술적인 부분을 배우고 싶었기 때문에 주로 내가 이해한 기술(프론트엔드에 Angular 1이 있는 백엔드용 Node.js)로 Kernl을 구축하기로 결정했습니다. 이러한 기술 중 어느 것도 방해가 되지 않았으며 저는 이 기술을 사용하여 매우 생산적이었습니다.
개발할 때 고려해야 할 또 다른 사항은 기술 부채입니다. 빠르게 움직이고 첫 번째 증분을 제공하려는 경우 기술적 부채를 떠맡는 것이 좋습니다. 기술 부채는 예상치 못한 상황에서 추악한 머리를 기르는 방법이 있음을 기억하십시오. 미래의 어느 시점에서 당신은 그것을 갚아야 할 것이라고 예상하십시오. Kernl의 사전 알파 및 알파 단계에서 저는 수동 배포 프로세스, 콜백 지옥, 잘못된 인프라, 그리고 단위 또는 통합 테스트가 없는 형태로 엄청난 기술적 부채를 떠맡았습니다. 처음 몇 명의 고객을 확보하는 과정에서 나는 괜찮았지만 일단 그들이 Kernl에 의존하기 시작하면 가능한 최고의 서비스를 제공할 수 있도록 갚아야 했습니다.

워드프레스 SaaS 마케팅
개발자일 때 마케터가 되려는 것은 어려울 수 있습니다. 저는 개인적으로 매우 사적인 사람입니다. 나는 다른 사람들과 잘 의사 소통하지만 나는 나 자신이나 가까운 친구/가족과 시간을 보내는 것을 선호합니다. 제품을 마케팅할 때 거부감이라는 불편한 감정을 극복하는 방법을 배웁니다. 모든 사람이 당신이 하는 일을 좋아하지는 않을 것이며, 당신은 그것에 대처해야 합니다.
Kernl은 처음에 "Show Hacker News" 게시물과 Reddit의 몇 가지 게시물을 통해 마케팅되었습니다. 그 후 트위터에서 관련 키워드를 검색하기 시작했고 사람들과 직접 소통했습니다. 이 프로세스는 수작업이 많이 필요하고 노동 집약적이지만 몇 명의 유료 고객을 확보할 수 있을 정도로 잘 진행되었습니다.
때로는 제품을 시작하는 데에도 약간의 운이 필요합니다. 바로 그 당시 나는 Kernl을 시작하고 있었고 주요 경쟁자(WP Updates)는 제3자에게 일부 은밀한 거래에서 판매되었습니다. 그들의 사용자 커뮤니티는 이것에 대해 화를 냈고, 서비스가 다운되고 며칠 동안 다시 나타나지 않으면 더욱 그렇습니다. 기회가 내 문을 두드리고 있음을 인식하고 불평하는 모든 사람들에게 트윗을 시작했습니다. 이것은 내가 받은 최고의 고객 유입이었습니다. 이 사람들은 그들이 의지할 수 있는 제품이 필요했고 나는 Kernl을 그 제품으로 만들기로 결심했습니다.
나는 도중에 약간의 실수를 저질렀다. Google Adwords로 몇 가지 실험을 실행했지만 제대로 전환되지 않는 것 같았습니다. 2개월 후 나는 광고 게재를 중단하고 다른 옵션을 찾기로 결정했습니다. 현실적으로 Kernl을 마케팅하는 가장 좋은 방법은 콘텐츠 마케팅이라고 생각합니다. 여러 가지가 있을 수 있지만 WordPress 개발 관련 기사가 많은 멋진 블로그를 운영하면 많은 트래픽과 잠재 고객을 Kernl로 유도하는 데 도움이 될 것입니다.
고객의 말을 들어라
제가 수년 동안 배운 한 가지는 고객에게 반응하는 것이 매우 중요하다는 것입니다. Kernl에 관해서는 가능한 한 반응이 빠르며 고객이 일반적으로 그것을 높이 평가하는 것 같습니다. 저는 답변이 없어도 문의에 바로 답변을 드리는 점을 항상 강조하여 고객이 문제를 인지한 것으로 알고 있습니다.
빠른 의사소통과 더불어 Kernl의 고객들에게 자세한 답변과 설명을 최대한 자주 제공하려고 노력하고 있습니다. 시간의 95%는 동료 개발자와 의사 소통하고 있으며 상황이 역전되면 문제가 발생한 이유와 해결하기 위해 수행 중인 작업에 대해 더 알고 싶습니다. 어떤 사람들은 의사 소통이 과하다고 생각할 수도 있지만 나는 의사 소통이 부족한 것보다 과도한 의사 소통이 낫다고 강하게 느낍니다.
고객과의 대화를 통해 배운 가장 중요한 것 중 하나는 안정성의 필요성이었습니다.
Kernl 출시의 전체 베타 단계를 안정성과 자동화에 전념하기로 결정했습니다.Tweet
Kernl의 초기 고객 기반 중 상당수는 다운타임 문제로 인해 WP-Updates에서 다른 곳으로 이전했으며 서비스를 계속 유지할 수 없는 경우 그들이 Kernl을 그런 관점에서 보기 시작하는 것을 원하지 않았습니다. 이를 염두에 두고 Kernl 출시의 전체 베타 단계를 안정성과 자동화에 전념하기로 결정했습니다. 그 2~3개월 동안 새로운 기능이 작성되지는 않았지만 무거운 리팩토링, 자동화된 테스트 및 인프라 개선으로 Kernl은 알파 버전보다 훨씬 더 나은 제품이 되었습니다.
현실적인 목표 설정
이전에 SaaS 제품을 시도했던 것과는 다른 방식으로 Kernl에 접근했습니다. 저에게 가장 큰 영향을 미친 것 중 하나는 현실적인 목표를 설정하는 것이었습니다. 나는 "3개월 말에 1000명의 고객과 $50,000의 수익을 원한다"고 말하지 않았습니다. 대신 "순전히 Kernl로 번 돈으로 한 달에 한 번 아내를 멋진 저녁 식사에 데리고 가고 싶다"라는 단기 목표를 세웠습니다. 그 목표를 달성하고 나서 조금 더 큰 목표를 세웠습니다. "자동차 결제하기" + 첫 번째 목표입니다.
저에게는 도달할 수 없는 목표를 설정하는 것이 중요했습니다. 그것은 내가 노력해서 달성할 수 있다고 믿었던 것을 나에게 주었다. 물론 Kernl에 대한 다른 더 큰 목표가 있지만(Kernl을 정규직으로 만들기) 아직 갈 길이 멉니다. 동기 부여를 유지하려면 단기적으로 노력해야 할 것이 있어야 합니다.
앞으로 생각
Kernl을 WordPress SaaS 제품으로 사용하는 여정의 어느 시점에서 저는 벽에 부딪히기 시작한 것처럼 느꼈습니다. 고객을 확보하는 것이 점점 더 어려워지고 있거나 내가 충분히 노력하지 않았기 때문일 수도 있지만 Kernl이 관련성을 유지하려면 새로운 것이 필요하다고 느꼈습니다. 그렇게 느끼기 시작했을 때, 나는 더 앞서 생각하기 시작했습니다. 나는 “내가 워드프레스 생태계에 많은 가치를 도입하는 데 도움이 될 수 있는 것은 무엇입니까?”라고 물었습니다. "이 아이디어가 워드프레스 생태계를 넘어 Kernl을 확장할 수 있습니까?".
Kernl의 초기 목표는 비공개 WordPress 플러그인 및 테마에 대한 업데이트를 제공하는 것이었지만 Kernl이 성장함에 따라 개발자가 배포 워크플로를 현대화하는 데 도움이 될 수 있다고 생각했습니다. Kernl이 출시된 이후로 배포에 푸시(GitHub, BitBucket, GitLab), Slack 알림, 웹훅 알림 등을 추가했습니다. 하지만 다음 기능은 더 커야 한다고 느꼈습니다. 볼트온 이상입니다. 완전히 다른 것.
Kernl에 대한 다음 큰 목표는 내가 설정한 가장 고상한 목표입니다. Kernl을 기능 플래그 지정을 위한 플랫폼으로 사용하는 것입니다. 배포할 필요 없이 일정 비율의 사람, 개인 또는 모든 사람에게 배포를 천천히 배포할 수 있습니다. 이 시점에서 모든 서버 및 프런트 엔드 작업이 완료되었으므로 제품이 확장되고 사용하기 매우 쉬운지 확인하기 위해 제품을 천천히 dogfood하고 있습니다. 나는 또한 재미있는 도전이 될 WordPress 생태계 안팎의 개발자를 목표로 삼고 있습니다.
제품 사업을 한다는 것은 항상 움직여야 한다는 것을 의미합니다. 혁신을 멈추는 순간은 새로운 플레이어가 우주에 등장하여 고객을 데려가는 순간입니다.