Gândește mare, învață rapid și ascultă: lecțiile mele din construirea unui produs SaaS WordPress
Publicat: 2017-04-19Acum un an și jumătate, când am început să mă gândesc care va fi următorul meu proiect secundar, nu mi-aș fi putut imagina succesul pe care îl va avea. Deși poate părea puțin pentru unii oameni, a face pe cineva să creadă suficient în produsul dvs. pentru a vă oferi bani pentru acesta este o realizare uriașă de care ar trebui să fiți mândri.
Nu este ușor, totuși. Este nevoie de dăruire, muncă grea și puțin noroc pentru a obține primul tău client. După cum spunea Lao Tzu: „ O călătorie de o mie de mile începe cu un singur pas ”.
Identificați problema
Înainte de a putea construi o afacere, ai nevoie de un produs. Înainte de a construi un produs, ai nevoie de o problemă. Găsirea unei probleme care trebuie rezolvată ar putea fi cea mai grea parte a călătoriei tale, așa că fă-ți timp cu ea. Te-ai gândit vreodată:
„Aș vrea să existe <lucru> pentru <problemă>”?
Dacă ai, probabil că au și alți oameni. Acesta este un loc bun pentru a începe să explorați ideile dvs. de produse.
Un lucru pe care l-am învățat prin multele mele produse eșuate este că, dacă vrei să ai succes, te ajută foarte mult dacă rezolvi o problemă pe care o ai tu însuți. Pe vremea când eram încă un dezvoltator WordPress independent, m-am întâlnit adesea cu problema actualizării temelor și pluginurilor pe gazdele clienților. A fost întotdeauna o mare durere de făcut, așa că m-am gândit că posibilitatea de a te conecta la sistemul de actualizare WordPress ar face viața mult mai ușoară. Kernl s-a născut din această problemă și a format nucleul produsului.
La baza lui Kernl, am vrut să fie un produs WordPress SaaS ușor de utilizat. Bănuiala mea era că oamenii nu doreau cu adevărat să ruleze propria infrastructură de actualizare și ar plăti cu plăcere pentru un furnizor de încredere. Clienții ar trebui doar să încarce un fișier ZIP al pluginului sau al temei lor, iar noi ne ocupăm de restul. Menținerea strânsă a produsului de bază m-a ajutat cu adevărat să mă concentrez pe furnizarea de valoare.
A avea un jucător existent în spațiul cu probleme acționează ca validare a problemei.Tweet
În timp ce mă refer la identificarea problemei, vreau să îmi iau un moment pentru a vorbi despre dimensiunea unei piețe. Doar pentru că cineva a creat deja un produs care îți rezolvă problema nu înseamnă că nu mai este loc și pentru soluția ta. Dacă poți să faci ceea ce fac ei mai bine și să te diferențiezi, vei obține clienți. De asemenea, merită remarcat faptul că a avea un jucător existent în spațiul cu probleme acționează ca validare a problemei.
Începe cu mic, gândește mare, dar termină întotdeauna
Auzi adesea oameni vorbind despre „metodologia lean startup” în comunitatea noastră. Oamenii au tendința să aleagă și să aleagă ce fragmente din startup-ul slab pe care le urmăresc și eu nu fac excepție. Cu siguranță nu l-am urmat exact, dar un lucru pe care eram sigur că îl voi face a fost să distilez Kernl până la cea mai mică piesă posibilă de expediat înainte de a începe să lucrez la el.
Trecerea liniei de sosire pentru orice creștere poate fi o luptă, mai ales dacă faci asta în timpul liber. Un lucru de reținut este că este ok să repeți. Când am expediat primul increment de Kernl, nu a fost perfect, dar a făcut ceea ce am spus că va oferi: furnizarea de actualizări private de plugin și teme. De-a lungul primei trepte, am păstrat un stoc de lucruri care mai aveau de făcut. Am simțit că crește mereu și nu era un lucru rău. Întotdeauna sunt mai multe lucruri de făcut, dar păstrarea concentrării este ceea ce face ca produsele să avanseze.
Singura dată când am încercat să fac o lansare „big bang” pentru Kernl a fost un eșec. Am încercat să creez un produs de analiză și lucrurile pur și simplu nu au funcționat. Nu credeam în caracteristica pe care o construiam și s-a dovedit în scăderea dăruirii și a motivației mele. După o lună de muncă, mi-am redus pierderile și am scufundat totul. A fost o lecție importantă și o reamintire că nu ar trebui să încep ceva dacă nu sunt dispus să termin. Din păcate, timpul meu nu este liber și întotdeauna există alte lucruri care îl solicită.
„De ce culoare are bicicletele?”
În urmă cu un an și ceva, un coleg de muncă mi-a făcut cunoștință cu termenul „bikeshedding“. Bikeshedding este un termen care a fost inventat ca o metaforă pentru legea Parkinson a trivialității. Povestea spune că există un grup de ingineri care lucrează pentru a construi o centrală nucleară, dar în loc să-și petreacă timpul cu înțelepciune și să dezbată despre proiectarea reactorului, ajung să-și piardă tot timpul cu ce culoare ar trebui să fie bicicletele aruncate în fața centralei. fi.
În slujba mea de zi cu zi, folosim termenul de „alungare a bicicletelor” ori de câte ori realizăm că dezbatem subiecte banale. Dacă răspunsul la întrebare chiar nu contează sau oricare dintre soluțiile propuse ar fi în regulă, alegeți una și continuați. A fi hotărâtor este incredibil de important atunci când creați un produs SaaS în timpul liber. Clienților chiar nu le pasă dacă utilizați Node.js sau PHP, alegeți unul și mergeți la el.
A fi hotărâtor este incredibil de important atunci când creați un produs SaaS în timpul liber.Tweet
Pentru client, rezultatul este același și ați economisit timp, astfel încât să puteți lucra la funcții care vă afectează direct clientul. Oricare ar fi cazul, fiți hotărâți și nu vă băgați cu bicicleta .
Alege tehnologie care te face să mergi repede
În calitate de dezvoltator, sunt bucuros să discut ore în șir cu oricine va asculta de ce am ales tehnologia A sau tehnologia B, dar atunci când construiești un produs, probabil că nu contează. Alege o tehnologie pe care o cunoști bine și apucă-te de treabă. Dacă puteți construi rapid în el, este aproape întotdeauna alegerea potrivită.
Alegerile mele tehnologice cu Kernl reflectă obiectivele mele pentru proiect. Am vrut să construiesc un produs WordPress SaaS de succes și poate să învăț ceva tehnic în acest proces, așa că am ales să construiesc Kernl mai ales în tehnologiile pe care le-am înțeles (Node.js pentru backend cu Angular 1 pe frontend). Niciuna dintre aceste tehnologii nu mi-a ieșit în cale și am fost super productiv cu ele.
Un alt lucru de luat în considerare atunci când dezvoltați este datoria tehnică. Dacă încercați să vă mișcați rapid și să livrați primul dvs. increment, este în regulă să vă asumați datorii tehnice. Amintiți-vă doar că datoria tehnică are o modalitate de a-și ridica capul urât atunci când vă așteptați mai puțin. Așteptați-vă că la un moment dat în viitor va trebui să plătiți înapoi. În timpul fazei pre-alfa și alfa a lui Kernl, mi-am asumat o mulțime de datorii tehnice sub forma unui proces de implementare manuală, iad de apel invers, infrastructură proastă și fără teste de unitate sau de integrare. În timp ce eram în procesul de a-mi achiziționa primii clienți, am fost de acord, dar odată ce au început să se bazeze pe Kernl, a trebuit să-l plătesc înapoi pentru a le putea oferi cel mai bun serviciu posibil.
Marketing Un SaaS WordPress
Încercarea de a fi marketer atunci când ești dezvoltator poate fi dificil. Eu personal sunt o persoană foarte privată. Comunic bine cu ceilalți, dar prefer să petrec timp cu mine sau cu prietenii/familia apropiați. Când îți comercializați produsul, înveți să treci peste sentimentul incomod de respingere. Nu tuturor le va plăcea ceea ce faci și tu trebuie doar să faci față.
Kernl a fost comercializat inițial printr-o postare „Show Hacker News” și câteva postări pe Reddit. După aceea, am început să caut pe Twitter cuvinte cheie relevante și am interacționat direct cu oamenii. Acest proces a fost foarte manual și a consumat forță de muncă, dar a funcționat suficient de bine pentru a obține câțiva clienți plătitori.
Uneori, începerea unui produs necesită și un pic de noroc. Chiar în acel moment, lansam Kernl, principalul meu concurent (Actualizări WP) a fost vândut într-o tranzacție umbrită unei terțe părți. Comunitatea lor de utilizatori a fost supărată de acest lucru, și cu atât mai mult când serviciul lor a scăzut și nu a mai revenit timp de câteva zile. Recunoscând că oportunitatea îmi bătea la ușă, am început să trimit pe Twitter tuturor celor care se plângeau. Acesta a fost, fără îndoială, cel mai bun aflux de clienți pe care l-am primit vreodată. Acești oameni aveau nevoie de un produs pe care să se poată baza, iar eu eram hotărât să fac Kernl acel produs.
Totuși, am făcut niște pași greșiți pe parcurs. Am efectuat câteva experimente cu Google Adwords, dar nu părea să facă o conversie bună. După două luni am încetat să difuzez reclamele și am decis să urmăresc alte opțiuni. În mod realist, cred că cea mai bună abordare a marketingului Kernl este prin marketingul de conținut. Acestea pot fi multe lucruri, dar cred că a avea un blog frumos cu o mulțime de articole WordPress specifice dezvoltatorilor ar ajuta la atragerea multor trafic și clienți potențiali către Kernl.
Ascultă-ți clienții
Un lucru pe care l-am învățat de-a lungul anilor este că este foarte important să fii receptiv la clienți. Când vine vorba de Kernl, sunt cât se poate de receptiv și se pare că clienții îl apreciază în general. Întotdeauna fac un punct să răspund la întrebări imediat, chiar dacă nu am un răspuns, astfel încât clientul să știe că problema lui a fost recunoscută.
Pe lângă faptul că comunic rapid, încerc cât de des posibil să ofer răspunsuri detaliate și explicații clienților Kernl. 95% din timp comunic cu un coleg dezvoltator și știu că, dacă situația s-a inversat, aș dori să știu mai multe despre motivul pentru care s-a întâmplat ceva și ce se face pentru a o remedia. Unii ar putea considera că este supracomunicare, dar cred cu tărie că supracomunicarea este mai bună decât subcomunicarea.
Unul dintre cele mai importante lucruri pe care le-am învățat vorbind cu clienții a fost nevoia de stabilitate.
Am decis să dedic întreaga fază beta a lansării Kernl stabilității și automatizării.Tweet
O mână mare din baza de clienți inițială a Kernl a migrat din WP-Updates din cauza problemelor de nefuncționare pe care le aveau și nu voiam să înceapă să vadă Kernl în această lumină dacă nu puteam menține serviciul. Având în vedere asta, am decis să dedic întreaga fază beta a lansării Kernl stabilității și automatizării. Nu au fost scrise funcții noi în acea perioadă de 2-3 luni, dar refactorizarea grea, testarea automată și îmbunătățirile de infrastructură au făcut din Kernl un produs mult mai bun decât fusese în alfa.
Stabiliți obiective realiste
Există o mulțime de moduri în care am abordat Kernl care au fost diferite de încercările anterioare de a avea un produs SaaS. Unul dintre cele mai de impact pentru mine a fost stabilirea unor obiective realiste. Nu am spus „Vreau 1000 de clienți și 50.000 USD în venituri la sfârșitul a 3 luni”. În schimb, mi-am stabilit un obiectiv pe termen scurt: „Vreau să pot să-mi iau soția la o cină drăguță o dată pe lună doar cu bani obținuți din Kernl”. Odată atins acel obiectiv, mi-am stabilit un obiectiv puțin mai mare: „Plată cu mașina” + primul meu obiectiv.
Pentru mine, stabilirea unor obiective care nu erau atinse era importantă. Mi-a dat ceva pentru care am crezut că este posibil să mă străduiesc. Desigur, există și alte obiective mai mari pe care le am pentru Kernl (face din Kernl locul meu de muncă cu normă întreagă), dar acestea sunt încă departe. Trebuie să ai la ce să te străduiești pe termen scurt dacă vrei să rămâi motivat.
Gândește înainte
La un moment dat în călătoria mea cu Kernl ca produs WordPress SaaS, am simțit că am început să lovesc un perete. Poate că era din ce în ce mai greu să achiziționez clienți, sau poate că nu mă străduiam suficient, dar simțeam că Kernl avea nevoie de ceva nou pentru a rămâne relevant. Când am început să mă simt așa, am început să mă gândesc mai departe. Am întrebat „Ce este ceva ce pot ajuta să introduc în ecosistemul WordPress cu multă valoare?” și „Poate această idee să extindă Kernl dincolo de ecosistemul WordPress?”.
Scopul inițial al Kernl a fost să ofere actualizări pentru pluginurile și temele WordPress private, dar pe măsură ce Kernl a crescut, m-am gândit că aș putea ajuta dezvoltatorii să își modernizeze fluxul de lucru de implementare. De când s-a lansat Kernl, am adăugat push to deploy (GitHub, BitBucket, GitLab), notificări Slack, notificări webhook și multe altele. Dar am simțit că următoarea caracteristică trebuie să fie mai mare. Mai mult decât un șurub. Ceva complet diferit.
Următorul mare obiectiv pe care îl am pentru Kernl este cel mai înalt pe care l-am stabilit până acum: Folosește Kernl ca platformă pentru semnalarea caracteristicilor. Puteți implementa încet implementări pentru un procent de oameni, indivizi sau toată lumea, fără a fi nevoie să faceți implementări. Toate lucrările serverului și front-end-ului sunt finalizate în acest moment, așa că testez încet produsul pentru a mă asigura că se scalează bine și este extrem de ușor de utilizat. De asemenea, mă adresez dezvoltatorilor atât din interiorul, cât și din afara ecosistemului WordPress, ceea ce va fi o provocare distractivă.
A avea o afacere cu produse înseamnă că trebuie să fii mereu în mișcare. Minutul în care încetați să mai inovați este momentul în care un nou jucător vine în spațiu și vă ia clienții.