Pensez grand, apprenez vite et écoutez : Mes leçons tirées de la création d'un produit WordPress SaaS

Publié: 2017-04-19

Il y a un an et demi, quand j'ai commencé à réfléchir à ce que serait mon prochain projet parallèle, je n'aurais pas pu imaginer le succès que cela aurait. Bien que cela puisse sembler petit pour certaines personnes, amener quelqu'un à croire suffisamment en votre produit pour vous donner de l'argent est un énorme accomplissement dont vous devriez être fier.

Ce n'est pas facile, cependant. Il faut du dévouement, du travail acharné et de la chance pour obtenir votre premier client. Comme le disait Lao Tseu : « Un voyage de mille lieues commence par un seul pas ».

Identifiez le problème

Avant de pouvoir créer une entreprise, vous avez besoin d'un produit. Avant de construire un produit, vous avez besoin d'un problème. Trouver un problème à résoudre peut être la partie la plus difficile de votre voyage, alors prenez votre temps. As-tu déjà pensé:

"J'aimerais qu'il y ait <chose> pour <problème>" ?

Si vous l'avez fait, d'autres personnes l'ont probablement fait aussi. C'est un bon endroit pour commencer à explorer vos idées de produits.

Explorer des idées de produits

Une chose que j'ai apprise à travers mes nombreux produits qui ont échoué est que si vous voulez réussir, cela aide beaucoup si vous résolvez un problème que vous avez vous-même. À l'époque où j'étais encore développeur WordPress indépendant, je rencontrais souvent le problème de la mise à jour des thèmes et des plugins sur les hôtes clients. C'était toujours très pénible à faire, alors j'ai pensé que pouvoir se connecter au système de mise à jour de WordPress rendrait la vie beaucoup plus facile. Kernl est né de ce problème et a formé le cœur du produit.

Au cœur de Kernl, je voulais que ce soit un produit WordPress SaaS facile à utiliser. Je soupçonnais que les gens ne voulaient pas vraiment gérer leur propre infrastructure de mise à jour et paieraient volontiers pour un fournisseur fiable. Les clients n'auraient qu'à télécharger un fichier ZIP de leur plugin ou thème, et nous nous occuperions du reste. Garder le produit de base étroitement défini m'a vraiment aidé à me concentrer sur la création de valeur.

Avoir un joueur existant dans votre espace de problème agit comme une validation de problème.Tweet

Au sujet de l'identification du problème, je veux prendre un moment pour parler de la taille d'un marché. Ce n'est pas parce que quelqu'un a déjà créé un produit qui résout votre problème qu'il n'y a pas de place pour votre solution. Si vous pouvez mieux faire ce qu'ils font et vous différencier, vous obtiendrez des clients. Il convient également de noter que le fait d'avoir un joueur existant dans votre espace de problème agit comme une validation de problème.

Commencez petit, pensez grand mais finissez toujours

Vous entendez souvent parler de la « méthodologie Lean Startup » dans notre communauté. Les gens ont tendance à choisir les éléments de la startup lean qu'ils suivent et je ne fais pas exception. Je ne l'ai certainement pas suivi exactement, mais une chose que j'étais sûr de faire était de distiller Kernl jusqu'à la plus petite pièce livrable possible avant de commencer à travailler dessus.

Franchir la ligne d'arrivée pour n'importe quel incrément peut être difficile, surtout si vous le faites pendant votre temps libre. Une chose à retenir est qu'il est acceptable d'itérer. Lorsque j'ai livré le premier incrément de Kernl, ce n'était pas parfait, mais il a fait ce que j'avais dit : fournir des mises à jour privées de plugins et de thèmes. Tout au long du premier incrément, j'ai gardé un arriéré de choses qui devaient encore être faites. C'était comme s'il grandissait toujours et ce n'était pas une mauvaise chose. Il y a toujours plus de choses à faire, mais rester concentré est ce qui fait avancer les produits.

La seule fois où j'ai essayé de faire une sortie "big bang" pour Kernl a été un échec. J'ai essayé de créer un produit d'analyse, et les choses n'ont tout simplement pas fonctionné. Je ne croyais pas au long métrage que je construisais, et cela se voyait dans mon dévouement et ma motivation moindres. Après un mois de travail, j'ai réduit mes pertes et sabordé le tout. C'était une leçon importante et un rappel que je ne devrais pas commencer quelque chose si je ne veux pas finir. Malheureusement, mon temps n'est pas gratuit et il y a toujours d'autres choses qui le demandent.

« De quelle couleur est le garage à vélos ? »

Il y a environ un an, un collègue m'a présenté le terme "bikeshedding". Bikeshedding est un terme qui a été inventé comme métaphore de la loi de trivialité de Parkinson. L'histoire raconte qu'un groupe d'ingénieurs travaille à la construction d'une centrale nucléaire, mais au lieu de passer leur temps à réfléchir et à débattre de la conception du réacteur, ils finissent par perdre tout leur temps sur la couleur du hangar à vélos devant la centrale. être.

Dans mon travail quotidien, nous lançons le terme "bikeshedding" chaque fois que nous nous rendons compte que nous débattons de sujets triviaux. Si la réponse à la question n'a vraiment pas d'importance, ou si l'une des solutions proposées convient, choisissez-en une et passez à autre chose. Être décisif est extrêmement important lorsque vous créez un produit SaaS pendant votre temps libre. Les clients ne se soucient pas vraiment que vous utilisiez Node.js ou PHP, choisissez-en un et lancez-vous.

Être décisif est extrêmement important lorsque vous créez un produit SaaS pendant votre temps libre.Tweet

Pour le client, le résultat est le même et vous avez gagné du temps pour pouvoir travailler sur des fonctionnalités qui affectent directement votre client. Quoi qu'il en soit, soyez décisif et ne faites pas de bikeshed .

Choisissez la technologie qui vous permet d'aller vite

En tant que développeur, je suis heureux de discuter pendant des heures avec quiconque veut savoir pourquoi j'ai choisi la technologie A ou la technologie B, mais lorsque vous construisez un produit, cela n'a probablement pas d'importance. Choisissez une technologie que vous connaissez bien et mettez-vous au travail. Si vous pouvez construire rapidement, c'est presque toujours le bon choix.

Mes choix technologiques avec Kernl reflètent mes objectifs pour le projet. Je voulais construire un produit WordPress SaaS réussi et peut-être apprendre quelque chose de technique dans le processus, j'ai donc choisi de construire Kernl principalement dans des technologies que je comprenais (Node.js pour le backend avec Angular 1 sur le frontend). Aucune de ces technologies ne m'a gêné et j'ai été super productif avec elles.

Capture d'écran de la page d'accueil de Kernl

Une autre chose à considérer lorsque vous développez est la dette technique. Si vous essayez d'aller vite et de livrer votre premier incrément, il n'y a pas de mal à assumer une dette technique. N'oubliez pas que la dette technique a le don de faire son apparition quand on s'y attend le moins. Attendez-vous à ce qu'à un moment donné dans le futur, vous deviez le rembourser. Pendant la phase pré-alpha et alpha de Kernl, j'ai contracté une tonne de dettes techniques sous la forme d'un processus de déploiement manuel, d'un enfer de rappel, d'une mauvaise infrastructure et d'aucun test unitaire ou d'intégration. Pendant que j'étais en train d'acquérir mes premiers clients, j'étais d'accord avec ça, mais une fois qu'ils ont commencé à compter sur Kernl, j'ai dû le rembourser pour pouvoir leur fournir le meilleur service possible.

Commercialiser un WordPress SaaS

Essayer d'être un spécialiste du marketing lorsque vous êtes un développeur peut être difficile. Je suis personnellement une personne très privée. Je communique bien avec les autres, mais je préfère passer du temps avec moi-même ou avec des amis proches/famille. Lorsque vous commercialisez votre produit, vous apprenez à surmonter le sentiment inconfortable de rejet. Ce que vous faites ne plaira pas à tout le monde, et vous devez simplement vous en accommoder.

Kernl a d'abord été commercialisé via un article "Show Hacker News" et quelques articles sur Reddit. Après cela, j'ai commencé à rechercher sur Twitter des mots-clés pertinents et j'ai interagi directement avec les gens. Ce processus était super manuel et demandait beaucoup de travail, mais il a assez bien fonctionné pour obtenir quelques clients payants.

Parfois, démarrer un produit demande aussi un peu de chance. Juste à l'époque, je lançais Kernl, mon principal concurrent (WP Updates) a été vendu dans le cadre de transactions louches à un tiers. Leur communauté d'utilisateurs en a été bouleversée, et encore plus lorsque leur service s'est arrêté et n'est pas revenu pendant plusieurs jours. Reconnaissant que cette opportunité frappait à ma porte, j'ai commencé à tweeter à tous ceux qui se plaignaient. C'était de loin le meilleur afflux de clients que j'aie jamais reçu. Ces gens avaient besoin d'un produit sur lequel ils pouvaient compter, et j'étais déterminé à faire de Kernl ce produit.

J'ai quand même fait quelques faux pas en cours de route. J'ai fait quelques expériences avec Google Adwords, mais ils n'ont jamais semblé bien se convertir. Après deux mois, j'ai arrêté de diffuser les annonces et j'ai décidé de poursuivre d'autres options. De manière réaliste, je pense que la meilleure approche pour commercialiser Kernl passe par le marketing de contenu. Cela peut être beaucoup de choses, mais je pense qu'avoir un joli blog avec beaucoup d'articles spécifiques au développement WordPress aiderait à générer beaucoup de trafic et de clients potentiels vers Kernl.

Écoutez vos clients

Une chose que j'ai apprise au fil des ans, c'est qu'il est très important d'être à l'écoute des clients. En ce qui concerne Kernl, je suis aussi réactif que possible et il semble que les clients l'apprécient généralement. Je me fais toujours un devoir de répondre immédiatement aux demandes de renseignements, même si je n'ai pas de réponse, afin que le client sache que son problème a été pris en compte.

En plus de communiquer rapidement, j'essaie le plus souvent possible d'apporter des réponses et des explications détaillées aux clients de Kernl. 95 % du temps, je communique avec un collègue développeur, et je sais que si la situation était inversée, j'aimerais en savoir plus sur la raison pour laquelle quelque chose s'est passé et sur ce qui est fait pour y remédier. Certains pourraient considérer qu'il s'agit d'une sur-communication, mais je suis convaincu qu'une sur-communication vaut mieux qu'une sous-communication.

L'une des choses les plus importantes que j'ai apprises en discutant avec les clients est le besoin de stabilité.

J'ai décidé de consacrer toute la phase bêta du lancement de Kernl à la stabilité et à l'automatisation.Tweet

Une grande partie de la clientèle initiale de Kernl avait migré de WP-Updates en raison des problèmes de temps d'arrêt qu'ils rencontraient, et je ne voulais pas qu'ils commencent à voir Kernl sous cet angle si je ne pouvais pas maintenir le service. Dans cet esprit, j'ai décidé de consacrer toute la phase bêta du lancement de Kernl à la stabilité et à l'automatisation. Aucune nouvelle fonctionnalité n'a été écrite au cours de cette période de 2 à 3 mois, mais une refactorisation lourde, des tests automatisés et des améliorations d'infrastructure ont fait de Kernl un bien meilleur produit qu'il ne l'était en alpha.

Fixez-vous des objectifs réalistes

Il y a beaucoup de façons dont j'ai approché Kernl qui étaient différentes des tentatives précédentes d'un produit SaaS. L'un des plus importants pour moi a été de fixer des objectifs réalistes. Je n'ai pas dit "je veux 1000 clients et 50k$ de revenus au bout de 3 mois". Au lieu de cela, je me suis fixé un objectif à court terme : "Je veux pouvoir emmener ma femme à un bon dîner une fois par mois uniquement avec de l'argent provenant de Kernl". Une fois cet objectif atteint, je me suis fixé un objectif un peu plus grand : "Effectuer un paiement de voiture" + mon premier objectif.

Objectif à court terme - Effectuer un paiement de voiture

Pour moi, fixer des objectifs qui étaient tout simplement hors de portée était important. Cela m'a donné quelque chose que je croyais réalisable. Bien sûr, j'ai d'autres objectifs plus importants pour Kernl (faire de Kernl mon travail à plein temps), mais ceux-ci sont encore loin. Vous devez avoir quelque chose à atteindre à court terme si vous voulez rester motivé.

Pensez à l'avenir

À un moment donné de mon parcours avec Kernl en tant que produit WordPress SaaS, j'ai eu l'impression de commencer à me heurter à un mur. Peut-être qu'il devenait plus difficile d'acquérir des clients, ou peut-être que je n'essayais pas assez fort, mais j'avais l'impression que Kernl avait besoin de quelque chose de nouveau pour rester pertinent. Quand j'ai commencé à ressentir cela, j'ai commencé à penser plus loin. J'ai demandé "Qu'est-ce que je peux aider à introduire dans l'écosystème WordPress avec beaucoup de valeur?" et "Cette idée peut-elle étendre Kernl au-delà de l'écosystème WordPress?".

L'objectif initial de Kernl était de fournir des mises à jour pour les plugins et thèmes WordPress privés, mais au fur et à mesure que Kernl grandissait, j'ai pensé pouvoir aider les développeurs à moderniser leur flux de travail de déploiement. Depuis le lancement de Kernl, j'ai ajouté le push to deploy (GitHub, BitBucket, GitLab), les notifications Slack, les notifications webhook et bien plus encore. Mais j'avais l'impression que la prochaine fonctionnalité devait être plus grande. Plus qu'un boulon. Quelque chose de complètement différent.

Le prochain grand objectif que j'ai pour Kernl est le plus élevé que j'aie fixé à ce jour : utiliser Kernl comme plate-forme pour le signalement des fonctionnalités. Vous pouvez déployer lentement des déploiements sur un pourcentage de personnes, d'individus ou de tout le monde sans avoir à effectuer de déploiements. Tout le travail sur le serveur et le front-end est terminé à ce stade, donc je suis lentement en train de tester le produit pour m'assurer qu'il évolue bien et qu'il est extrêmement facile à utiliser. Je cible également les développeurs à l'intérieur et à l'extérieur de l'écosystème WordPress, ce qui va être un défi amusant.

Avoir une entreprise de produits signifie que vous devez toujours vous déplacer. La minute où vous arrêtez d'innover est la minute où un nouvel acteur entre dans l'espace et prend vos clients.