Pense grande, aprenda rápido e ouça: minhas lições ao construir um produto SaaS WordPress

Publicados: 2017-04-19

Há um ano e meio, quando comecei a pensar em qual seria meu próximo projeto paralelo, não imaginava o sucesso que teria. Embora possa parecer pequeno para algumas pessoas, fazer com que alguém acredite o suficiente em seu produto para lhe dar dinheiro é uma grande conquista da qual você deve se orgulhar.

Não é fácil, no entanto. É preciso dedicação, trabalho duro e alguma sorte para conseguir seu primeiro cliente. Como disse Lao Tzu: “ Uma jornada de mil milhas começa com um único passo ”.

Identifique o problema

Antes de construir um negócio, você precisa de um produto. Antes de construir um produto, você precisa de um problema. Encontrar um problema que precisa ser resolvido pode ser a parte mais difícil de sua jornada, então leve seu tempo com isso. Você já pensou:

“Eu gostaria que houvesse <coisa> para <problema>”?

Se você tiver, outras pessoas provavelmente também. Este é um bom lugar para começar a explorar suas ideias de produtos.

Explorando ideias de produtos

Uma coisa que aprendi com meus muitos produtos fracassados ​​é que, se você quer ser bem-sucedido, ajuda muito se estiver resolvendo um problema que você mesmo tem. Quando eu ainda era um desenvolvedor freelancer do WordPress, muitas vezes me deparava com o problema de atualizar temas e plugins em hosts de clientes. Sempre foi uma grande dor de fazer, então pensei que ser capaz de se conectar ao sistema de atualização do WordPress tornaria a vida muito mais fácil. O Kernl nasceu desse problema e formou o núcleo do produto.

No núcleo do Kernl, eu queria que fosse um produto WordPress SaaS fácil de usar. Minha suspeita era que as pessoas realmente não queriam executar sua própria infraestrutura de atualização e pagariam com prazer por um provedor confiável. Os clientes só precisariam fazer upload de um arquivo ZIP de seu plugin ou tema, e nós cuidaríamos do resto. Manter o escopo do produto principal realmente me ajudou a focar na entrega de valor.

Ter um player existente em seu espaço de problemas atua como validação do problema.Tweet

Ainda sobre o tema da identificação do problema, gostaria de falar um pouco sobre o tamanho de um mercado. Só porque alguém já criou um produto que resolve o seu problema não significa que não há espaço para a sua solução também. Se você puder fazer o que eles fazem melhor e se diferenciar, você conseguirá clientes. Também vale a pena notar que ter um player existente em seu espaço de problemas atua como validação do problema.

Comece pequeno, pense grande, mas sempre termine

Você costuma ouvir as pessoas falarem sobre a “metodologia de startup enxuta” em nossa comunidade. As pessoas têm a tendência de escolher quais partes da startup enxuta que elas seguem e eu não sou exceção. Eu definitivamente não o segui exatamente, mas uma coisa que eu tinha certeza de fazer era destilar o Kernl até o menor pedaço possível de ser entregue antes de começar a trabalhar nele.

Atravessar a linha de chegada para qualquer incremento pode ser uma luta, especialmente se você estiver fazendo isso em seu tempo livre. Uma coisa a lembrar é que não há problema em iterar. Quando eu enviei o primeiro incremento do Kernl, não era perfeito, mas fez o que eu disse que faria: fornecer plugins privados e atualizações de temas. Ao longo do primeiro incremento, mantive uma lista de pendências em execução de coisas que ainda precisavam ser feitas. Parecia que estava sempre crescendo e isso não era uma coisa ruim. Sempre há mais coisas para fazer, mas manter o foco é o que faz os produtos avançarem.

A única vez que tentei fazer um lançamento “big bang” para o Kernl foi um fracasso. Tentei criar um produto de análise e as coisas simplesmente não deram certo. Eu não acreditava no recurso que estava construindo, e isso se mostrou na minha dedicação e motivação diminuídas. Depois de um mês de trabalho, cortei minhas perdas e afundei tudo. Foi uma lição importante e um lembrete de que não devo começar algo se não estiver disposto a terminar. Infelizmente, meu tempo não é livre, e sempre há outras coisas solicitando.

“De que cor é o depósito de bicicletas?”

Há mais ou menos um ano, um colega de trabalho me apresentou o termo “bikeshedding”. Bikeshedding é um termo que foi cunhado como uma metáfora para a Lei da Trivialidade de Parkinson. A história diz que há um grupo de engenheiros trabalhando para construir uma usina nuclear, mas em vez de gastar seu tempo com sabedoria e debatendo o projeto do reator, eles acabam perdendo todo o tempo com a cor do galpão de bicicletas em frente à usina. estar.

No meu trabalho diário, usamos o termo “bikeshedding” sempre que percebemos que estamos debatendo tópicos triviais. Se a resposta para a pergunta realmente não importa, ou qualquer uma das soluções propostas estiver bem, basta escolher uma e seguir em frente. Ser decisivo é extremamente importante quando você está criando um produto SaaS em seu tempo livre. Os clientes realmente não se importam se você usa Node.js ou PHP, apenas escolha um e vá em frente.

Ser decisivo é extremamente importante quando você está criando um produto SaaS em seu tempo livre.Tweet

Para o cliente, o resultado é o mesmo, e você economizou tempo para poder trabalhar em recursos que afetam diretamente seu cliente. Seja qual for o caso, seja decisivo e não faça o bikeshed .

Escolha a tecnologia que faz você ir mais rápido

Como desenvolvedor, fico feliz em discutir por horas com qualquer pessoa que queira ouvir por que escolhi a tecnologia A ou a tecnologia B, mas quando você está criando um produto, isso provavelmente não importa. Escolha uma tecnologia que você conhece bem e mãos à obra. Se você pode construir rápido nele, quase sempre é a escolha certa.

Minhas escolhas de tecnologia com o Kernl refletem meus objetivos para o projeto. Eu queria construir um produto WordPress SaaS de sucesso e talvez aprender algo técnico no processo, então optei por construir Kernl principalmente em tecnologias que eu entendia (Node.js para o backend com Angular 1 no frontend). Nenhuma dessas tecnologias entrou no meu caminho, e eu fui super produtivo com elas.

Captura de tela da página inicial do Kernl

Outra coisa a considerar quando você está desenvolvendo é a dívida técnica. Se você está tentando se mover rápido e entregar seu primeiro incremento, não há problema em assumir uma dívida técnica. Apenas lembre-se de que a dívida técnica tem um jeito de levantar sua cabeça feia quando você menos espera. Espere que em algum momento no futuro você precisará pagá-lo de volta. Durante a fase pré-alfa e alfa do Kernl, assumi uma tonelada de dívida técnica na forma de um processo de implantação manual, inferno de retorno de chamada, infraestrutura ruim e nenhum teste de unidade ou integração. Enquanto eu estava no processo de adquirir meus primeiros clientes, eu estava bem com isso, mas quando eles começaram a confiar no Kernl eu tive que pagar de volta para que eu pudesse fornecer a eles o melhor serviço possível.

Marketing Um SaaS WordPress

Tentar ser um profissional de marketing quando você é um desenvolvedor pode ser difícil. Eu pessoalmente sou uma pessoa muito reservada. Eu me comunico bem com os outros, mas prefiro passar tempo comigo mesmo ou com amigos/família próximos. Quando você está comercializando seu produto, você aprende a superar a sensação desconfortável de rejeição. Nem todo mundo vai gostar do que você está fazendo, e você só tem que lidar com isso.

O Kernl foi inicialmente comercializado por meio de um post “Show Hacker News” e alguns posts no Reddit. Depois disso, comecei a pesquisar no Twitter por palavras-chave relevantes e interagi diretamente com as pessoas. Esse processo era super manual e trabalhoso, mas funcionou bem o suficiente para conseguir alguns clientes pagantes.

Às vezes, iniciar um produto também exige um pouco de sorte. Bem na época, eu estava lançando o Kernl, meu principal concorrente (WP Updates) foi vendido em alguns negócios obscuros para um terceiro. Sua comunidade de usuários ficou chateada com isso, e ainda mais quando seu serviço caiu e não voltou por vários dias. Reconhecendo que a oportunidade estava batendo à minha porta, comecei a twittar para todos que estavam reclamando. Este foi de longe o melhor fluxo de clientes que já recebi. Essas pessoas precisavam de um produto em que pudessem confiar, e eu estava determinado a fazer da Kernl esse produto.

Eu fiz alguns erros ao longo do caminho, no entanto. Fiz alguns experimentos com o Google Adwords, mas eles nunca pareciam converter bem. Depois de dois meses, parei de exibir os anúncios e decidi buscar outras opções. Realisticamente, acho que a melhor abordagem para o marketing do Kernl é através do marketing de conteúdo. Isso pode ser muitas coisas, mas acho que ter um blog legal com muitos artigos específicos para desenvolvedores do WordPress ajudaria a direcionar muito tráfego e clientes em potencial para o Kernl.

Ouça seus clientes

Uma coisa que aprendi ao longo dos anos é que ser receptivo aos clientes é muito importante. Quando se trata de Kernl, sou o mais responsivo possível e parece que os clientes geralmente apreciam isso. Sempre faço questão de responder às perguntas imediatamente, mesmo que não tenha uma resposta, para que o cliente saiba que seu problema foi reconhecido.

Além de me comunicar rapidamente, tento sempre que possível fornecer respostas e explicações detalhadas aos clientes da Kernl. 95% do tempo estou me comunicando com um colega desenvolvedor e sei que, se a situação fosse revertida, gostaria de saber mais sobre por que algo aconteceu e o que está sendo feito para corrigi-lo. Alguns podem considerá-lo excesso de comunicação, mas eu sinto fortemente que o excesso de comunicação é melhor do que a falta de comunicação.

Uma das coisas mais importantes que aprendi conversando com os clientes foi a necessidade de estabilidade.

Decidi dedicar toda a fase beta do lançamento do Kernl à estabilidade e automação.Tweet

Um grande punhado de clientes iniciais do Kernl havia migrado do WP-Updates por causa dos problemas de tempo de inatividade que eles estavam tendo, e eu não queria que eles começassem a ver o Kernl dessa forma se eu não pudesse manter o serviço. Com isso em mente, decidi dedicar toda a fase beta do lançamento do Kernl à estabilidade e automação. Nenhum novo recurso foi escrito nesse período de 2 a 3 meses, mas refatoração pesada, testes automatizados e melhorias de infraestrutura tornaram o Kernl um produto muito melhor do que na versão alfa.

Defina metas realistas

Há muitas maneiras de abordar o Kernl que foram diferentes das tentativas anteriores de um produto SaaS. Um dos mais impactantes para mim foi estabelecer metas realistas. Eu não disse “Quero 1.000 clientes e $ 50k em receita no final de 3 meses”. Em vez disso, estabeleci uma meta de curto prazo de “quero poder levar minha esposa para um bom jantar uma vez por mês, puramente com dinheiro ganho com Kernl”. Uma vez atingida essa meta, estabeleci uma meta um pouco maior: “Fazer um pagamento de carro” + minha primeira meta.

Objetivo de curto prazo - Efetuar um pagamento de carro

Para mim, definir metas que estavam fora de alcance eram importantes. Isso me deu algo que eu acreditava ser viável para lutar. Claro, existem outros objetivos maiores que tenho para o Kernl (tornar o Kernl meu emprego em tempo integral), mas esses ainda estão longe. Você tem que ter algo pelo qual lutar no curto prazo se quiser se manter motivado.

Pensar em frente

Em algum ponto da minha jornada com o Kernl como um produto WordPress SaaS, senti que comecei a bater em uma parede. Talvez estivesse ficando mais difícil conquistar clientes, ou talvez eu não estivesse me esforçando o suficiente, mas parecia que Kernl precisava de algo novo para se manter relevante. Quando comecei a me sentir assim, comecei a pensar mais à frente. Perguntei “O ​​que é algo que posso ajudar a introduzir no ecossistema WordPress com muito valor?” e “Essa ideia pode expandir o Kernl além do ecossistema WordPress?”.

O objetivo inicial do Kernl era fornecer atualizações para plugins e temas privados do WordPress, mas à medida que o Kernl crescia, pensei que poderia ajudar os desenvolvedores a modernizar seu fluxo de trabalho de implantação. Desde o lançamento do Kernl, adicionei push to deploy (GitHub, BitBucket, GitLab), notificações do Slack, notificações do webhook e muito mais. Mas eu senti que o próximo recurso precisava ser maior. Mais do que um parafuso. Algo completamente diferente.

O próximo grande objetivo que tenho para o Kernl é o mais alto que já estabeleci: usar o Kernl como uma plataforma para sinalização de recursos. Você pode distribuir implantações lentamente para uma porcentagem de pessoas, indivíduos ou todos sem precisar fazer implantações. Todo o trabalho do servidor e do front-end está completo neste momento, então estou lentamente testando o produto para garantir que ele seja bem dimensionado e seja extremamente fácil de usar. Também estou visando desenvolvedores dentro e fora do ecossistema WordPress, o que será um desafio divertido.

Ter um negócio de produtos significa que você sempre precisa estar em movimento. O minuto em que você para de inovar é o minuto em que um novo player chega ao espaço e conquista seus clientes.