Denke groß, lerne schnell und höre zu: Meine Lehren aus der Entwicklung eines WordPress-SaaS-Produkts

Veröffentlicht: 2017-04-19

Als ich vor anderthalb Jahren anfing, darüber nachzudenken, was mein nächstes Nebenprojekt sein würde, hätte ich mir nicht vorstellen können, welchen Erfolg es haben würde. Auch wenn es manchen Menschen vielleicht klein vorkommt, ist es eine große Leistung, auf die Sie stolz sein sollten, jemanden dazu zu bringen, genug an Ihr Produkt zu glauben, um Ihnen Geld dafür zu geben.

Es ist jedoch nicht einfach. Es braucht Engagement, harte Arbeit und etwas Glück, um Ihren ersten Kunden zu gewinnen. Wie Lao Tzu sagte: „ Eine Reise von tausend Meilen beginnt mit einem einzigen Schritt “.

Identifizieren Sie das Problem

Bevor Sie ein Geschäft aufbauen können, benötigen Sie ein Produkt. Bevor Sie ein Produkt bauen, brauchen Sie ein Problem. Ein Problem zu finden, das gelöst werden muss, könnte der schwierigste Teil Ihrer Reise sein, also nehmen Sie sich Zeit damit. Hast du jemals gedacht:

„Ich wünschte, es gäbe <Sache> für <Problem>“?

Wenn Sie haben, haben andere wahrscheinlich auch. Dies ist ein guter Ausgangspunkt, um mit der Erkundung Ihrer Produktideen zu beginnen.

Erkunden von Produktideen

Eine Sache, die ich durch meine vielen gescheiterten Produkte gelernt habe, ist, dass es, wenn man erfolgreich sein will, sehr hilft, wenn man ein Problem löst, das man selbst hat. Als ich noch freiberuflicher WordPress-Entwickler war, stieß ich oft auf das Problem, Themes und Plugins auf Client-Hosts zu aktualisieren. Es war immer ein großer Schmerz, also dachte ich, dass die Möglichkeit, sich in das WordPress-Update-System einzuklinken, das Leben viel einfacher machen würde. Kernl wurde aus diesem Problem heraus geboren und bildete den Kern des Produkts.

Im Kern wollte ich, dass Kernl ein benutzerfreundliches WordPress-SaaS-Produkt ist. Mein Verdacht war, dass die Leute eigentlich keine eigene Update-Infrastruktur betreiben wollten und gerne für einen zuverlässigen Anbieter bezahlen würden. Kunden müssten nur eine ZIP-Datei ihres Plugins oder Designs hochladen, und wir würden uns um den Rest kümmern. Das Kernprodukt eng begrenzt zu halten, hat mir wirklich geholfen, mich auf die Wertschöpfung zu konzentrieren.

Einen bestehenden Spieler in Ihrem Problembereich zu haben, dient als Problemvalidierung.Tweet

Da wir gerade bei der Identifizierung des Problems sind, möchte ich mir einen Moment Zeit nehmen, um über die Größe eines Marktes zu sprechen. Nur weil jemand bereits ein Produkt entwickelt hat, das Ihr Problem löst, heißt das nicht, dass es keinen Platz für Ihre Lösung gibt. Wenn Sie das können, was sie besser können, und sich von anderen abheben, gewinnen Sie Kunden. Es ist auch erwähnenswert, dass es als Problemvalidierung dient, einen vorhandenen Spieler in Ihrem Problembereich zu haben.

Fangen Sie klein an, denken Sie groß, aber beenden Sie immer

In unserer Community hört man oft von der „Lean-Startup-Methodik“. Die Leute neigen dazu, sich auszusuchen, welchen Teilen des Lean-Startups sie folgen, und ich bin da keine Ausnahme. Ich habe es definitiv nicht genau befolgt, aber eines war mir sicher, Kernl auf das kleinstmögliche lieferbare Stück zu destillieren, bevor ich anfing, daran zu arbeiten.

Es kann ein Kampf sein, die Ziellinie für jedes Inkrement zu überqueren, besonders wenn Sie dies in Ihrer Freizeit tun. Eine Sache, an die Sie sich erinnern sollten, ist, dass es in Ordnung ist, zu iterieren. Als ich das erste Kernl-Inkrement auslieferte, war es nicht perfekt, aber es tat, was ich versprochen hatte: Bereitstellung privater Plugin- und Design-Updates. Während des ersten Inkrements führte ich einen laufenden Rückstand von Dingen, die noch erledigt werden mussten. Es fühlte sich an, als würde es immer wachsen und das war keine schlechte Sache. Es gibt immer mehr Dinge zu tun, aber Konzentration bringt Produkte voran.

Das eine Mal, als ich versuchte, eine „Big Bang“-Veröffentlichung für Kernl zu machen, war ein Misserfolg. Ich habe versucht, ein Analyseprodukt zu entwickeln, aber es hat einfach nicht geklappt. Ich habe nicht an das Feature geglaubt, das ich erstellte, und es zeigte sich in meiner verringerten Hingabe und Motivation. Nach einem Monat Arbeit habe ich meine Verluste reduziert und die ganze Sache versenkt. Es war eine wichtige Lektion und Erinnerung daran, dass ich nichts anfangen sollte, wenn ich nicht bereit bin, es zu beenden. Leider ist meine Zeit nicht frei, und es gibt immer andere Dinge, die sie anfordern.

„Welche Farbe hat der Fahrradschuppen?“

Vor etwa einem Jahr hat mich ein Kollege auf den Begriff „Bikeshedding“ aufmerksam gemacht. Bikeshedding ist ein Begriff, der als Metapher für Parkinsons Gesetz der Trivialität geprägt wurde. Die Geschichte besagt, dass eine Gruppe von Ingenieuren daran arbeitet, ein Kernkraftwerk zu bauen, aber anstatt ihre Zeit sinnvoll zu verbringen und über das Reaktordesign zu diskutieren, verschwenden sie am Ende ihre ganze Zeit damit, welche Farbe der Fahrradschuppen vor dem Kraftwerk haben sollte sein.

In meiner täglichen Arbeit werfen wir den Begriff „Bikeshedding“ umher, wenn wir feststellen, dass wir über triviale Themen diskutieren. Wenn die Antwort auf die Frage wirklich keine Rolle spielt oder eine der vorgeschlagenen Lösungen in Ordnung wäre, wählen Sie einfach eine aus und fahren Sie fort. Entscheidungsfreudigkeit ist unglaublich wichtig, wenn Sie in Ihrer Freizeit ein SaaS-Produkt erstellen. Den Kunden ist es wirklich egal, ob Sie Node.js oder PHP verwenden, wählen Sie einfach eines aus und machen Sie es.

Entscheidungsfreudigkeit ist unglaublich wichtig, wenn Sie in Ihrer Freizeit ein SaaS-Produkt erstellen.Tweet

Für den Kunden ist das Ergebnis dasselbe, und Sie haben Zeit gespart, sodass Sie an Funktionen arbeiten können, die sich direkt auf Ihren Kunden auswirken. Seien Sie in jedem Fall entschlossen und verzichten Sie nicht auf das Fahrrad .

Wählen Sie Technologie, mit der Sie schnell fahren können

Als Entwickler diskutiere ich gerne stundenlang mit jedem, der zuhört, warum ich mich für Technologie A oder Technologie B entschieden habe, aber wenn Sie ein Produkt entwickeln, spielt es wahrscheinlich keine Rolle. Wählen Sie eine Technologie, die Sie gut kennen, und machen Sie sich an die Arbeit. Wenn man darin schnell bauen kann, ist es fast immer die richtige Wahl.

Meine Technologieentscheidungen mit Kernl spiegeln meine Ziele für das Projekt wider. Ich wollte ein erfolgreiches WordPress-SaaS-Produkt bauen und dabei vielleicht etwas Technisches lernen, also entschied ich mich dafür, Kernl hauptsächlich in Technologien zu bauen, die ich verstand (Node.js für das Backend mit Angular 1 am Frontend). Keine dieser Technologien kam mir in die Quere, und ich war super produktiv mit ihnen.

Screenshot der Kernl-Startseite

Eine andere Sache, die Sie bei der Entwicklung berücksichtigen sollten, sind technische Schulden. Wenn Sie versuchen, schnell voranzukommen und Ihr erstes Inkrement zu liefern, ist es in Ordnung, technische Schulden zu übernehmen. Denken Sie nur daran, dass technische Schulden ihren hässlichen Kopf aufrichten können, wenn Sie es am wenigsten erwarten. Erwarten Sie, dass Sie es irgendwann in der Zukunft zurückzahlen müssen. Während der Pre-Alpha- und Alpha-Phase von Kernl habe ich eine Menge technischer Schulden in Form eines manuellen Deployment-Prozesses, Callback-Hölle, schlechter Infrastruktur und fehlender Einheiten- oder Integrationstests übernommen. Während ich dabei war, meine ersten Kunden zu gewinnen, war ich damit einverstanden, aber als sie anfingen, sich auf Kernl zu verlassen, musste ich es zurückzahlen, damit ich ihnen den bestmöglichen Service bieten konnte.

Marketing Ein WordPress-SaaS

Der Versuch, ein Vermarkter zu sein, wenn man ein Entwickler ist, kann schwierig sein. Ich persönlich bin ein sehr privater Mensch. Ich kommuniziere gut mit anderen, aber ich verbringe lieber Zeit mit mir selbst oder engen Freunden/Familie. Wenn Sie Ihr Produkt vermarkten, lernen Sie, das unangenehme Gefühl der Ablehnung zu überwinden. Nicht jeder wird mögen, was du tust, und du musst einfach damit umgehen.

Kernl wurde zunächst über einen „Show Hacker News“-Post und einige Posts auf Reddit vermarktet. Danach habe ich angefangen, Twitter nach relevanten Schlüsselwörtern zu durchsuchen und direkt mit den Leuten zu interagieren. Dieser Prozess war sehr manuell und arbeitsintensiv, aber er hat gut genug funktioniert, um ein paar zahlende Kunden zu gewinnen.

Manchmal braucht es auch etwas Glück, um ein Produkt auf den Markt zu bringen. Genau zu der Zeit, als ich Kernl auf den Markt brachte, wurde mein Hauptkonkurrent (WP Updates) in einigen zwielichtigen Geschäften an einen Drittanbieter verkauft. Ihre Benutzergemeinschaft war darüber verärgert, und noch mehr, als ihr Dienst ausfiel und mehrere Tage lang nicht wieder auftauchte. Als ich erkannte, dass diese Gelegenheit an meine Tür klopfte, fing ich an, jeden zu twittern, der sich beschwerte. Das war zweifellos der beste Zustrom von Kunden, den ich je hatte. Diese Leute brauchten ein Produkt, auf das sie sich verlassen konnten, und ich war entschlossen, Kernl zu diesem Produkt zu machen.

Dabei habe ich allerdings einige Fehler gemacht. Ich habe einige Experimente mit Google Adwords durchgeführt, aber sie schienen nie gut zu konvertieren. Nach zwei Monaten hörte ich auf, die Anzeigen zu schalten, und beschloss, andere Optionen zu verfolgen. Realistischerweise denke ich, dass der beste Ansatz zur Vermarktung von Kernl über Content-Marketing ist. Das kann vieles sein, aber ich denke, ein nettes Blog mit vielen WordPress-Dev-spezifischen Artikeln würde helfen, viel Traffic und potenzielle Kunden zu Kernl zu lenken.

Hören Sie Ihren Kunden zu

Eine Sache, die ich im Laufe der Jahre gelernt habe, ist, dass es sehr wichtig ist, auf Kunden zu reagieren. Wenn es um Kernl geht, bin ich so reaktionsschnell wie möglich und es scheint, dass die Kunden es im Allgemeinen zu schätzen wissen. Ich achte immer darauf, Anfragen sofort zu beantworten, auch wenn ich keine Antwort habe, damit der Kunde weiß, dass sein Problem erkannt wurde.

Neben der schnellen Kommunikation versuche ich, den Kunden von Kernl so oft wie möglich detaillierte Antworten und Erklärungen zu geben. 95 % der Zeit kommuniziere ich mit einem anderen Entwickler, und ich weiß, dass ich gerne mehr darüber erfahren würde, warum etwas passiert ist und was getan wird, um es zu beheben, wenn die Situation umgekehrt wäre. Einige mögen es für Überkommunikation halten, aber ich bin der festen Überzeugung, dass Überkommunikation besser ist als Unterkommunikation.

Eines der wichtigsten Dinge, die ich aus Gesprächen mit Kunden gelernt habe, war die Notwendigkeit von Stabilität.

Ich habe mich entschieden, die gesamte Beta-Phase des Starts von Kernl der Stabilität und Automatisierung zu widmen.Tweet

Eine große Handvoll von Kernls anfänglichem Kundenstamm war wegen der Ausfallzeiten von WP-Updates abgewandert, und ich wollte nicht, dass sie Kernl in diesem Licht sehen, wenn ich den Service nicht aufrechterhalten konnte. Vor diesem Hintergrund habe ich mich entschieden, die gesamte Beta-Phase der Markteinführung von Kernl der Stabilität und Automatisierung zu widmen. In diesem Zeitraum von 2-3 Monaten wurden keine neuen Funktionen geschrieben, aber umfangreiches Refactoring, automatisierte Tests und Infrastrukturverbesserungen machten Kernl zu einem weitaus besseren Produkt als in der Alpha-Phase.

Setzen Sie sich realistische Ziele

Es gibt viele Möglichkeiten, wie ich Kernl angesprochen habe, die sich von früheren Versuchen mit einem SaaS-Produkt unterschieden. Eines der wirkungsvollsten für mich war das Setzen realistischer Ziele. Ich habe nicht gesagt „Ich will 1000 Kunden und 50.000 $ Umsatz am Ende von 3 Monaten“. Stattdessen habe ich mir ein kurzfristiges Ziel gesetzt: „Ich möchte meine Frau einmal im Monat zu einem netten Abendessen ausführen können, nur mit dem Geld, das ich mit Kernl verdient habe“. Sobald dieses Ziel erreicht war, habe ich mir ein etwas größeres Ziel gesetzt: „Zahlung für das Auto leisten“ + mein erstes Ziel.

Kurzfristiges Ziel - Eine Autozahlung leisten

Für mich war es wichtig, Ziele zu setzen, die gerade außer Reichweite waren. Es gab mir etwas, von dem ich glaubte, dass es erreichbar war, danach zu streben. Natürlich gibt es noch andere größere Ziele, die ich für Kernl habe (Kernl zu meinem Vollzeitjob machen), aber das liegt noch in weiter Ferne. Man muss kurzfristig etwas anstreben, wenn man motiviert bleiben will.

Denken Sie nach vorne

Irgendwann auf meiner Reise mit Kernl als WordPress-SaaS-Produkt hatte ich das Gefühl, gegen eine Wand zu stoßen. Vielleicht wurde es schwieriger, Kunden zu gewinnen, oder vielleicht war es auch so, dass ich mich nicht stark genug bemühte, aber es fühlte sich so an, als ob Kernl etwas Neues brauchte, um relevant zu bleiben. Als ich anfing, mich so zu fühlen, fing ich an, weiter nach vorne zu denken. Ich fragte: „Was ist etwas, das ich mit großem Wert in das WordPress-Ökosystem einführen kann?“ und „Kann diese Idee Kernl über das WordPress-Ökosystem hinaus erweitern?“.

Kernls ursprüngliches Ziel war es, Updates für private WordPress-Plugins und -Themen bereitzustellen, aber als Kernl wuchs, dachte ich, ich könnte Entwicklern helfen, ihren Bereitstellungsworkflow zu modernisieren. Seit dem Start von Kernl habe ich Push-to-Deployment (GitHub, BitBucket, GitLab), Slack-Benachrichtigungen, Webhook-Benachrichtigungen und vieles mehr hinzugefügt. Aber ich hatte das Gefühl, dass das nächste Feature größer sein müsste. Mehr als ein Bolt-on. Etwas ganz anderes.

Das nächste große Ziel, das ich für Kernl habe, ist das erhabenste, das ich mir bisher gesetzt habe: Kernl als Plattform für Feature-Flagging zu verwenden. Sie können Bereitstellungen langsam für einen Prozentsatz von Personen, Einzelpersonen oder alle Personen bereitstellen, ohne Bereitstellungen durchführen zu müssen. Alle Server- und Front-End-Arbeiten sind zu diesem Zeitpunkt abgeschlossen, also überarbeite ich das Produkt langsam, um sicherzustellen, dass es gut skaliert und extrem einfach zu bedienen ist. Ich wende mich auch an Entwickler innerhalb und außerhalb des WordPress-Ökosystems, was eine lustige Herausforderung sein wird.

Ein Produktgeschäft zu haben bedeutet, dass Sie immer in Bewegung sein müssen. Die Minute, in der Sie aufhören, innovativ zu sein, ist die Minute, in der ein neuer Player ins All kommt und Ihre Kunden mitnimmt.