Como implementar a entrega contínua (Continuous Delivery)
Marcelo Risso Klein

Marcelo Risso Klein

7 minutos de leitura

Como sabemos, todo produto tem uma curva de adoção, representada no gráfico abaixo:

É muito importante que consigamos nos conectar com os usuários inovadores e os primeiros adeptos, pois assim receberemos insights preciosos para a melhoria e expansão do produto para os demais usuários. Para isso, como você faz para obter novas ideias e implantá-las implementá-las de maneira rápida?

Neste artigo vou falar um pouco mais sobre Continuous Delivery (entrega contínua), algo muito importante para a expansão e desenvolvimento do produto.

Implementando a entrega contínua (Continuous Delivery)

Pense no seguinte cenário: sua empresa criou um MVP e está sendo utilizado pelas pessoas mais inovadoras e com adoção mais rápida para novos produtos. Com as métricas geradas pelo uso do produto e com os feedbacks dos usuários, já podemos implementar a entrega contínua de novas funcionalidades, realizar testes de hipóteses, etc. 

Nesse processo, gosto muito de utilizar o Dual Track Agile. Para isso, eu uso o método Kanban para realizar o acompanhamento das entregas das novas funcionalidades do produto. O Dual Track separa o ciclo de desenvolvimento em 2 partes: Product Discovery e Product Delivery

Dentro do Método Kanban, temos os conceitos de Downstream e Upstream, fazendo uma conexão direta com essas duas etapas.

  • Upstream: essa seria a primeira etapa dentro de um fluxo onde a gente trabalharia no refinamento de ideias, o que precisa ser feito, o que queremos validar, quais serão os critérios de aceitação para a entrega daquela feature; dentre outras coisas;
  • Downstream: segunda etapa do fluxo onde o desenvolvimento e entrega irão ocorrer com base em todo o refinamento realizado na etapa anterior. Sem o trabalho realizado no Upstream, há um risco de ocorrer um desenvolvimento que não irá gerar valor nenhum ou falta de entendimento sobre a feature a ser desenvolvida.

Segue abaixo um exemplo de fluxo separado em Upstream e Downstream.

upstream e downstream kanban para entrega contínua

Imagine que uma ideia precisa ser compreendida, então ela é adicionada na coluna de backlog. Depois disso, ela é puxada para refinamento, e é nessa parte que o time trabalha para entender um pouco mais aquela ideia, seja levantando hipóteses, ou perguntando para os usuários, fazendo entrevistas, etc. Assim, a ideia é entendida, os critérios de aceite são levantados e os detalhes de negócio e de aspecto técnico são apontados para desenvolver aquela feature. Então, o card fica pronto para ser desenvolvido pelo time e colocado em produção.

No Downstream, o time será responsável por puxar aquele card e se comprometer com a entrega daquela funcionalidade, baseada em todo refinamento realizado anteriormente. Assim, poderão realizar testes unitários, testes de qualidade e automatizados para que a entrega seja realizada da maneira mais estável possível para o usuário.

Uma observação importante aqui é o fluxo que pode variar de ambiente para ambiente. Tentei aqui simplificar o processo, apenas para que consigam ter uma ideia da entrega contínua. 

Analisando resultados para obter ideias

Mas Marcelo, como posso obter ideias para desenvolvimento, visto que meu Produto já está sendo usado e gerando alguns resultados? Bom, eu diria que existem algumas maneiras para isso. Vou elencar algumas delas aqui:

  • Entrevistas: já pensou em conversar com o seu usuário? Realizar uma entrevista, sem nenhum viés e apenas escutar o que o seu cliente tem a dizer? Te garanto que você conseguirá vários insights, mas cuidado: existem maneiras corretas de fazer entrevistas (porém isso é papo para outro artigo);
  • Testes A/B: realizar um teste desse tipo pode te dar dicas valiosas de como os usuários enxergam alguma feature. Tente realizar um teste desse e veja quais métricas você consegue tirar disso e assim, realizar o levantamento de novas hipóteses a serem testadas;
  • Árvore de oportunidades: essa técnica, difundida por Teresa Torres, é uma excelente forma de conseguir  novas oportunidades a serem desenvolvidas. Você, como Product Manager, parte de algum outcome desejado que seu produto alcance, descobrindo novas oportunidades

Entenda, esse fluxo tem como objetivo o fail fast. Levante hipóteses ou ideias, desenvolva, entregue e obtenha insights, seja conversando com o cliente, fazendo workshops ou simplesmente colhendo métricas do uso do produto. Assim, novos insights e ideias serão geradas, recomeçando o fluxo novamente.

Se eu pudesse resumir esse artigo em uma imagem, seria o ciclo Lean Startup:

lean startup para entrega contínua

Conclusão

Uma hipótese/ideia é levantada para depois passar por um refinamento, que busca entender melhor essa hipótese. Caso ela se mostre viável, passamos para a parte de desenvolvimento e teste do produto. Com o produto em uso, métricas serão criadas para validar aquela hipótese levantada no começo e com isso, aprendizados serão gerados e novas ideias também. Assim, todo o ciclo recomeça.

Utilizando o Dual Track e com a esteira DevOps implementada, a entrega de valor para o cliente poderá ser feita de maneira contínua, validando hipóteses rapidamente. Experimente cadenciar as entregas dos seus produtos utilizando esse conceito e colocando tudo em um quadro. Além da transparência, te garanto que você terá mais facilidade em priorizar as funcionalidades do seu produto.

Sugestão de passo a passo para implementar o uso do Dual Track e Kanban no seu dia a dia.

  • Entenda todo o fluxo de trabalho que você utiliza até a entrega de valor para o cliente final;
  • Crie um quadro visual, onde você irá colocar todas as etapas levantadas anteriormente;
  • Entenda quais fases são de levantamento de informações, entendimento das hipóteses e quais são as etapas de desenvolvimento em si;
  • Tenha dois times, um para cada etapa macro (Downstream e Upstream);
  • Identifique os gargalos nas entregas para seu cliente final e para isso, use as métricas a seu favor (Cycle Time, Lead Time, Vazão, etc.);
  • Foque na otimização do seu fluxo, para que as entregas ocorram sempre de maneira mais rápida possível.

Gostou do conteúdo? Então leia também: