Myśl z rozmachem, ucz się szybko i słuchaj: moje lekcje z budowania produktu WordPress SaaS

Opublikowany: 2017-04-19

Półtora roku temu, kiedy zacząłem myśleć o tym, jaki będzie mój kolejny poboczny projekt, nie mogłem sobie wyobrazić sukcesu, jaki odniesie. Choć niektórym może się to wydawać małe, nakłonienie kogokolwiek do wiary w twój produkt, aby dać ci za to pieniądze, jest ogromnym osiągnięciem, z którego powinieneś być dumny.

Nie jest to jednak łatwe. Zdobycie pierwszego klienta wymaga poświęcenia, ciężkiej pracy i odrobiny szczęścia. Jak powiedział Lao Tzu: „ Podróż tysiąca mil zaczyna się od jednego kroku ”.

Zidentyfikować problem

Zanim zaczniesz budować biznes, potrzebujesz produktu. Zanim zbudujesz produkt, potrzebujesz problemu. Znalezienie problemu do rozwiązania może być najtrudniejszą częścią Twojej podróży, więc nie spiesz się. Czy kiedykolwiek pomyślałeś:

„Chciałbym, żeby nie było <rzeczy> dla <problemu>”?

Jeśli tak, prawdopodobnie inni też mają. To dobre miejsce do rozpoczęcia odkrywania pomysłów na produkty.

Odkrywanie pomysłów na produkty

Jedną z rzeczy, których nauczyłem się przez wiele nieudanych produktów, jest to, że jeśli chcesz odnieść sukces, bardzo pomaga, jeśli rozwiązujesz problem, który sam masz. Kiedy byłem jeszcze niezależnym programistą WordPress, często napotykałem problem z aktualizacją motywów i wtyczek na hostach klienckich. Zawsze było to bardzo trudne, więc pomyślałem, że możliwość podłączenia się do systemu aktualizacji WordPressa znacznie ułatwi życie. Kernl narodził się z tego problemu i stanowił rdzeń produktu.

W rdzeniu Kernl chciałem, aby był to łatwy w użyciu produkt WordPress SaaS. Podejrzewam, że ludzie tak naprawdę nie chcą prowadzić własnej infrastruktury aktualizacji i chętnie zapłaciliby za niezawodnego dostawcę. Klienci musieliby tylko przesłać plik ZIP swojej wtyczki lub motywu, a my zajmiemy się resztą. Utrzymanie ścisłego zakresu podstawowego produktu naprawdę pomogło mi skoncentrować się na dostarczaniu wartości.

Posiadanie istniejącego odtwarzacza w obszarze problemu działa jako walidacja problemu.Tweetuj

Jeśli chodzi o identyfikację problemu, chcę poświęcić chwilę na omówienie wielkości rynku. To, że ktoś już stworzył produkt, który rozwiązuje Twój problem, nie oznacza, że ​​nie ma też miejsca na Twoje rozwiązanie. Jeśli potrafisz robić to, co oni robią lepiej i wyróżniać się, zdobędziesz klientów. Warto również zauważyć, że posiadanie istniejącego gracza w obszarze problemu działa jako walidacja problemu.

Zacznij od małych rzeczy, myśl na dużą skalę, ale zawsze kończ

Często słyszysz, jak ludzie mówią o „metodologii lean startup” w naszej społeczności. Ludzie mają tendencję do wybierania, które fragmenty szczupłego startupu podążają i nie jestem wyjątkiem. Zdecydowanie nie podążałem za tym dokładnie, ale byłem pewien, że przed rozpoczęciem pracy nad tym na pewno zrobię destylację Kernla do najmniejszego możliwego do wysłania kawałka.

Przekroczenie linii mety o jakikolwiek wzrost może być trudne, zwłaszcza jeśli robisz to w wolnym czasie. Jedną rzeczą do zapamiętania jest to, że iteracja jest w porządku. Kiedy wysłałem pierwszy przyrost Kernla, nie był idealny, ale zrobił to, co powiedziałem: zapewniał prywatne aktualizacje wtyczek i motywów. Przez cały pierwszy przyrost utrzymywałem bieżące zaległości dotyczące rzeczy, które wciąż musiały zostać wykonane. Czułem się tak, jakby zawsze rósł, a to nie było złe. Zawsze jest więcej rzeczy do zrobienia, ale koncentracja jest tym, co popycha produkty do przodu.

Jeden raz, kiedy próbowałem wydać „big bang” dla Kernla, był porażką. Próbowałem stworzyć produkt analityczny, ale wszystko po prostu nie wyszło. Nie wierzyłem w funkcję, którą budowałem, co pokazało moje zmniejszone poświęcenie i motywację. Po miesiącu pracy ograniczyłem straty i uciekłem całą sprawę. To była ważna lekcja i przypomnienie, że nie powinienem zaczynać czegoś, jeśli nie mam ochoty dokończyć. Niestety mój czas nie jest wolny i zawsze są inne rzeczy, które o to proszą.

„Jakiego koloru jest szopa?”

Mniej więcej rok temu współpracownik wprowadził mnie do terminu „przerzucanie rowerów”. Bikeshedding to termin, który został ukuty jako metafora prawa trywialności Parkinsona. Historia mówi, że istnieje grupa inżynierów, którzy pracują nad budową elektrowni jądrowej, ale zamiast spędzać czas mądrze i dyskutować nad projektem reaktora, marnują cały swój czas na to, jaki kolor powinien wyrzucić rower przed elektrownią. być.

W mojej codziennej pracy rzucamy terminem „wyrzucanie rowerów”, ilekroć zdajemy sobie sprawę, że dyskutujemy na trywialne tematy. Jeśli odpowiedź na pytanie naprawdę nie ma znaczenia lub którekolwiek z proponowanych rozwiązań byłoby w porządku, po prostu wybierz jedno i przejdź dalej. Bycie zdecydowanym jest niezwykle ważne, gdy tworzysz produkt SaaS w wolnym czasie. Klienci naprawdę nie dbają o to, czy używasz Node.js czy PHP, po prostu wybierz jeden i wybierz go.

Bycie zdecydowanym jest niezwykle ważne, gdy tworzysz produkt SaaS w wolnym czasie.Tweetuj

Dla klienta wynik jest taki sam, a Ty oszczędzasz czas, dzięki czemu możesz pracować nad funkcjami, które mają bezpośredni wpływ na Twojego klienta. W każdym razie bądź zdecydowany i nie rezygnuj z roweru .

Wybierz technologię, która przyspiesza jazdę

Jako programista z przyjemnością rozmawiam godzinami z każdym, kto wysłucha, dlaczego wybrałem technologię A lub technologię B, ale kiedy tworzysz produkt, prawdopodobnie nie ma to znaczenia. Wybierz technologię, którą dobrze znasz i zabierz się do pracy. Jeśli możesz w nim szybko budować, prawie zawsze jest to właściwy wybór.

Moje wybory technologiczne z Kernlem odzwierciedlają moje cele związane z projektem. Chciałem zbudować odnoszący sukcesy produkt WordPress SaaS i być może nauczyć się czegoś technicznego w tym procesie, więc zdecydowałem się zbudować Kernl głównie w technologiach, które rozumiałem (Node.js dla backendu z Angular 1 na frontendzie). Żadna z tych technologii nie stanęła mi na drodze i byłam z nimi bardzo produktywna.

Zrzut ekranu strony głównej Kernl

Kolejną rzeczą do rozważenia podczas rozwoju jest dług techniczny. Jeśli próbujesz działać szybko i dostarczyć swój pierwszy przyrost, możesz wziąć dług techniczny. Pamiętaj tylko, że dług techniczny ma sposób na podniesienie swojej brzydkiej głowy, gdy najmniej się tego spodziewasz. Spodziewaj się, że w przyszłości będziesz musiał ją spłacić. Podczas fazy pre-alpha i alfa Kernl wziąłem na siebie mnóstwo długu technicznego w postaci ręcznego procesu wdrażania, piekła wywołań zwrotnych, złej infrastruktury i braku testów jednostkowych lub integracyjnych. Kiedy byłem w trakcie pozyskiwania moich pierwszych kilku klientów, nie przeszkadzało mi to, ale kiedy zaczęli polegać na Kernl, musiałem go spłacić, aby móc zapewnić im najlepszą możliwą obsługę.

Marketing SaaS WordPress

Próba bycia marketerem, gdy jesteś programistą, może być trudna. Osobiście jestem bardzo prywatną osobą. Dobrze komunikuję się z innymi, ale wolę spędzać czas ze sobą lub bliskimi przyjaciółmi/rodziną. Kiedy sprzedajesz swój produkt, uczysz się przezwyciężać nieprzyjemne uczucie odrzucenia. Nie wszystkim spodoba się to, co robisz i po prostu musisz sobie z tym poradzić.

Kernl był początkowo sprzedawany za pośrednictwem posta „Show Hacker News” i kilku postów na Reddit. Potem zacząłem szukać na Twitterze odpowiednich słów kluczowych i bezpośrednio wchodziłem w interakcję z ludźmi. Ten proces był bardzo ręczny i pracochłonny, ale zadziałał wystarczająco dobrze, aby zdobyć kilku płacących klientów.

Czasami uruchomienie produktu wymaga trochę szczęścia. W tym czasie, kiedy uruchamiałem Kernl, mój główny konkurent (aktualizacje WP) został sprzedany w jakiś podejrzanych transakcjach stronie trzeciej. Ich społeczność użytkowników była tym zdenerwowana, a tym bardziej, gdy ich usługa przestała działać i nie była dostępna przez kilka dni. Zdając sobie sprawę, że okazja puka do moich drzwi, zacząłem tweetować do wszystkich, którzy narzekali. To był zdecydowanie najlepszy napływ klientów, jaki kiedykolwiek otrzymałem. Ci ludzie potrzebowali produktu, na którym mogliby polegać, a ja byłem zdeterminowany, aby Kernl był tym produktem.

Po drodze popełniłem jednak kilka błędów. Przeprowadziłem kilka eksperymentów z Google Adwords, ale nigdy nie wydawały się dobrze konwertować. Po dwóch miesiącach przestałem wyświetlać reklamy i zdecydowałem się na inne opcje. Realistycznie myślę, że najlepszym podejściem do marketingu Kernl jest marketing treści. Może to być wiele rzeczy, ale myślę, że posiadanie fajnego bloga z wieloma artykułami poświęconymi programowi WordPress pomogłoby zwiększyć ruch i potencjalnych klientów w kierunku Kernl.

Słuchaj swoich klientów

Jedną z rzeczy, których nauczyłem się przez lata, jest to, że reagowanie na klientów jest bardzo ważne. Jeśli chodzi o Kernl, odpowiadam tak szybko, jak to tylko możliwe, i wygląda na to, że klienci generalnie to doceniają. Zawsze staram się od razu odpowiadać na zapytania, nawet jeśli nie mam odpowiedzi, aby klient wiedział, że jego problem został rozpoznany.

Oprócz szybkiej komunikacji staram się jak najczęściej udzielać klientom Kernl szczegółowych odpowiedzi i wyjaśnień. 95% czasu komunikuję się z innym programistą i wiem, że gdyby sytuacja się odwróciła, chciałbym dowiedzieć się więcej o tym, dlaczego coś się stało i co jest robione, aby to naprawić. Niektórzy mogą uznać to za nadmierną komunikację, ale jestem głęboko przekonany, że nadmierna komunikacja jest lepsza niż niedostateczna komunikacja.

Jedną z najważniejszych rzeczy, których nauczyłem się podczas rozmów z klientami, była potrzeba stabilności.

Postanowiłem poświęcić całą fazę beta uruchomienia Kernla stabilności i automatyzacji. Tweet

Duża garstka początkowej bazy klientów Kernla wyemigrowała z WP-Updates z powodu problemów z przestojami, które mieli, i nie chciałem, aby zaczęli widzieć Kernl w tym świetle, jeśli nie mogłem utrzymać usługi. Mając to na uwadze, postanowiłem poświęcić całą fazę beta uruchomienia Kernla stabilności i automatyzacji. W ciągu tych 2-3 miesięcy nie napisano żadnych nowych funkcji, ale ciężka refaktoryzacja, automatyczne testowanie i ulepszenia infrastruktury sprawiły, że Kernl był znacznie lepszym produktem niż w wersji alfa.

Ustaw realistyczne cele

Istnieje wiele sposobów, w jakie podszedłem do Kernla, które różniły się od poprzednich prób produktu SaaS. Jednym z najbardziej znaczących dla mnie było wyznaczanie realistycznych celów. Nie powiedziałem: „Chcę 1000 klientów i 50 tys. dolarów przychodu na koniec 3 miesięcy”. Zamiast tego postawiłem sobie krótkoterminowy cel: „Chcę móc raz w miesiącu zabierać moją żonę na miłą kolację wyłącznie za pieniądze z Kernl”. Gdy ten cel został osiągnięty, postawiłem sobie nieco większy cel: „Dokonaj płatności za samochód” + mój pierwszy cel.

Cel krótkoterminowy - Dokonaj płatności za samochód

Dla mnie ważne było wyznaczanie celów, które były poza zasięgiem. Dało mi to coś, do czego, jak sądziłem, można dążyć. Oczywiście, są inne większe cele, które mam dla Kernla (uczynienie Kernla moją pracą na pełen etat), ale to jeszcze długa droga. Musisz mieć coś, o co możesz dążyć na krótką metę, jeśli chcesz zachować motywację.

Myśl z wyprzedzeniem

W pewnym momencie mojej podróży z Kernlem jako produktem WordPress SaaS, poczułem, że zacząłem uderzać w ścianę. Może pozyskiwanie klientów stawało się coraz trudniejsze, a może dlatego, że nie starałem się wystarczająco mocno, ale wydawało mi się, że Kernl potrzebuje czegoś nowego, aby pozostać aktualnym. Kiedy zacząłem się tak czuć, zacząłem myśleć dalej naprzód. Zapytałem „Co mogę pomóc wprowadzić do ekosystemu WordPressa, co ma dużą wartość?” oraz „Czy ten pomysł może rozszerzyć Kernl poza ekosystem WordPressa?”.

Początkowym celem Kernla było dostarczanie aktualizacji dla prywatnych wtyczek i motywów WordPress, ale gdy Kernl się rozrósł, pomyślałem, że mogę pomóc programistom zmodernizować ich przepływ pracy. Odkąd Kernl został uruchomiony, dodałem push to deploy (GitHub, BitBucket, GitLab), powiadomienia Slack, powiadomienia webhook i wiele więcej. Ale czułem, że następna funkcja musi być większa. Więcej niż przykręcanie. Coś zupełnie innego.

Następny wielki cel, jaki mam dla Kernla, jest najwznioślejszy, jaki dotychczas wyznaczyłem: Użyj Kernla jako platformy do oznaczania funkcji. Możesz powoli wdrażać wdrożenia dla odsetka osób, osób lub wszystkich bez konieczności wykonywania wdrożeń. Cała praca serwera i front-endu jest w tym momencie zakończona, więc powoli testuję produkt, aby upewnić się, że dobrze się skaluje i jest niezwykle łatwy w użyciu. Celuję również w programistów zarówno z ekosystemu WordPressa, jak i spoza niego, co będzie ciekawym wyzwaniem.

Posiadanie biznesu produktowego oznacza, że ​​zawsze musisz być w ruchu. Moment, w którym przestajesz wprowadzać innowacje, to moment, w którym nowy gracz wkracza w kosmos i zabiera Twoich klientów.