Capacitar a adoção com a invenção digital

O teste final da inovação é a reação do cliente à sua invenção. A hipótese é verdadeira? Os clientes usam a solução? Ela é escalada para atender às necessidades do percentual desejado de usuários? O mais importante: eles continuam voltando? Nenhuma dessas perguntas pode ser respondida até que a solução MVP (produto mínimo viável) tenha sido implantada.

Neste artigo, nós nos concentraremos em capacitar a adoção com ferramentas de pipeline de CI/CD (integração contínua e implantação contínua). A integração contínua é a automatização do código várias vezes por dia para ter um só projeto atualizado. A implantação contínua é a entrega automática dessas funções ao longo do dia.

Reduzir atritos de CI/CD que afetam a adoção

Alguns obstáculos à adoção podem ser minimizados por meio de uma combinação de tecnologia e processos. Para os leitores que têm conhecimento dos processos de CI/CD ou de DevOps, os processos de pipeline de CI/CD a seguir serão conhecidos. Este artigo estabelece um ponto de partida para as equipes de adoção da nuvem que impulsiona loops de inovação e de comentários. Esse ponto de partida pode promover abordagens mais robustas de CI/CD ou de DevOps à medida que os produtos e as equipes amadurecem.

Conforme descrito em Avaliar o impacto para o cliente, a validação positiva de qualquer hipótese exige iteração e determinação. Este artigo sobre CI/CD tem como objetivo minimizar os picos técnicos que atrasam a inovação, garantindo que você tenha as melhores práticas em vigor. Isso ajudará o design da equipe para o sucesso futuro, atendendo às necessidades atuais do cliente.

Capacitar a adoção e a invenção digital: o modelo de maturidade

A meta principal da metodologia Inovar é criar parcerias de clientes e acelerar os loops de comentários, que resultam em inovações no mercado. A imagem e as seções a seguir descrevem as implementações iniciais que dão suporte a essa metodologia.

Diagrama que mostra o modelo de maturidade de adoção de capacitação.

  • Solução compartilhada: estabeleça um repositório centralizado para todos os aspectos da solução.
  • Loops de comentários: verifique se os loops de comentários podem ser gerenciados de maneira consistente por meio de iterações.
  • Integração contínua: compile e consolide regularmente a solução.
  • Teste confiável: valide a qualidade da solução e as alterações esperadas para garantir a confiabilidade das métricas de teste.
  • Implantação de solução: implante as soluções para que a equipe possa compartilhar rapidamente as alterações com os clientes.
  • Medição integrada: adicione métricas de aprendizado ao loop de comentários para uma obter análise clara de toda a equipe.

Para minimizar os picos técnicos, suponha que a maturidade inicialmente seja baixa nesses princípios. Planeje com antecedência alinhando a ferramentas e os processos que podem ser escalados à medida que as hipóteses se tornam mais refinadas. No Azure, o GitHub e o Azure DevOps permitem que equipes pequenas comecem com poucos atritos. Essas equipes podem crescer para incluir milhares de desenvolvedores que colaboram em soluções de escala e testam centenas de hipóteses de clientes. O restante deste artigo ilustra a abordagem "planeje grande, comece pequeno" para capacitar a adoção nesses princípios.

Solução compartilhada

Conforme descrito em Avaliar o impacto para o cliente, a validação positiva de qualquer hipótese exige iteração e determinação. Você experimentará muito mais falhas do que conquistas durante qualquer ciclo de inovação. Isso é esperado. No entanto, quando uma necessidade de cliente, uma hipótese e uma solução são alinhadas em escala, o mundo muda rapidamente.

Quando você está escalando a invenção e a inovação digital, não há uma ferramenta mais valiosa do que uma base de código compartilhada para a solução. Infelizmente, não existe uma forma confiável de prever qual iteração ou qual MVP produzirá a combinação vencedora. É por isso que nunca é muito cedo para estabelecer uma base de código ou um repositório compartilhado. Esse é o único pico técnico que não deve ser atrasado. À medida que a equipe itera por meio de várias soluções MVP, um repositório compartilhado permite uma fácil colaboração e o desenvolvimento acelerado. Quando as alterações na solução atrasam as métricas de aprendizado, o controle de versão permite revertê-las para uma versão anterior e mais efetiva da solução.

A ferramenta de CI/CD mais amplamente adotada para gerenciar repositórios de código é o GitHub, que permite criar um repositório de código compartilhado em apenas algumas etapas. Além disso, o recurso Azure Repos do Azure DevOps pode ser usado para criar um repositório Git ou TFVC.

Loops de comentários

Fazer com que o cliente se torne parte da solução é o segredo para estabelecer parcerias com clientes durante os ciclos de inovação. Isso é feito, em parte, pela medição do impacto para o cliente. Isso exige conversas e testes diretos com o cliente. Ambos geram comentários que precisam ser gerenciados com eficiência.

Cada ponto de comentário é uma solução potencial para a necessidade do cliente. O mais importante é que todos os comentários diretos dos clientes representam uma oportunidade de aprimorar a parceria. Se os comentários entrarem em uma solução MVP, comemoraremos isso com o cliente. Mesmo que alguns comentários não sejam acionáveis, simplesmente ser transparente com a decisão de não priorizar os comentários demonstra uma mentalidade de crescimento e um foco no aprendizado contínuo.

O Azure DevOps inclui maneiras de solicitar, fornecer e gerenciar comentários. Essas ferramentas centralizam os comentários para que a equipe possa tomar providências e fornecer acompanhamento no serviço de um loop de comentários transparente.

Integração contínua

A integração contínua é a automatização do código várias vezes por dia para ter um só projeto atualizado. À medida que a adoção é escalada e uma hipótese chega mais perto da verdadeira inovação em escala, o número de hipóteses menores a serem testadas tende a crescer rapidamente. Para obter loops de comentários precisos e processos de adoção estáveis, é importante que essas hipóteses estejam integradas e respaldem a hipótese primária por trás da inovação. Para isso, você precisa se mobilizar rapidamente para inovar e crescer, o que exige vários desenvolvedores para testar variações da hipótese principal. Para os esforços de desenvolvimento de fases posteriores, você pode, até mesmo, precisar de várias equipes de desenvolvedores, cada uma trabalhando em prol de uma solução compartilhada. A integração contínua é a primeira etapa para o gerenciamento de todas as partes móveis.

Na integração contínua, as alterações de código são frequentemente mescladas na ramificação principal. Os processos de build e teste automatizados garantem que o código da ramificação principal tenha sempre a qualidade de produção. Isso garante que os desenvolvedores estejam trabalhando juntos para desenvolver soluções compartilhadas que forneçam loops de comentários precisos e confiáveis.

O Azure DevOps e o Azure Pipelines oferecem funcionalidades de integração contínua com apenas algumas etapas no GitHub ou em outros repositórios. Para obter mais informações, confira O que é integração contínua? ou experimente o laboratório prático sobre integração contínua. Há arquiteturas de solução disponíveis que podem acelerar a criação de pipelines de CI/CD por meio do Azure DevOps.

Testes confiáveis

Defeitos em qualquer solução podem criar falsos positivos ou falsos negativos. Erros inesperados podem facilmente levar a uma má interpretação das métricas de adoção do usuário. Também podem gerar comentários negativos de clientes que não representam com precisão o teste da sua hipótese.

Durante as iterações iniciais de uma solução MVP, são esperados defeitos. Os usuários pioneiros podem, até mesmo, gostar deles. Nas primeiras versões, o teste de aceitação normalmente não existe. No entanto, um dos aspectos da criação com empatia se refere à validação da necessidade e da hipótese. Ambas podem ser realizadas por meio de testes de unidade no código e de testes de aceitação manual antes da implantação. Juntas, elas fornecem alguns meios de confiabilidade no teste. Você deve tentar automatizar uma série bem definida de testes de build, unidade e aceitação. Eles garantirão métricas confiáveis relacionadas a ajustes mais precisos na hipótese e na solução resultante.

O recurso Azure Test Plans fornece ferramentas para desenvolver e operar planos de teste durante a execução de teste manual ou automatizado.

Implantação da solução

Talvez o aspecto mais significativo da capacitação da adoção seja a sua capacidade de controlar o lançamento de uma solução para os clientes. Fornecendo um pipeline automatizado ou de autoatendimento para lançar uma solução para os clientes, você vai acelerar o loop de comentários. Ao permitir que os clientes interajam rapidamente com as alterações na solução, você os convida para participar do processo. Essa abordagem também aciona testes mais rápidos de hipóteses, reduzindo suposições e o potencial retrabalho.

Há vários métodos para a implantação da solução. Os três mais comuns são:

  • A implantação contínua é o método mais avançado, pois implanta automaticamente as alterações de código em produção. Para equipes maduras que estão testando hipóteses maduras, a implantação contínua pode ser extremamente valiosa.
  • Durante as fases iniciais do desenvolvimento, a entrega contínua pode ser mais apropriada. Na entrega contínua, todas as alterações de código são implantadas automaticamente em um ambiente semelhante à produção. Os desenvolvedores, os tomadores de decisões de negócios e outros membros da equipe podem usar esse ambiente para verificar se o trabalho está pronto para produção. Use também esse método para testar uma hipótese com os clientes sem afetar as atividades comerciais em andamento.
  • A implantação manual é a abordagem menos sofisticada para o gerenciamento de versão. Como o nome sugere, alguém da equipe implanta manualmente as alterações de código mais recentes. Essa abordagem é propensa a erros, não é confiável e é considerada um antipadrão por engenheiros mais experientes.

Durante a primeira iteração de uma solução MVP, a implantação manual é comum, apesar da avaliação anterior. Quando a solução é extremamente fluida e os comentários dos clientes são desconhecidos, há um risco significativo na redefinição de toda a solução (ou, até mesmo, a hipótese principal). Esta é a regra para a implantação manual: sem prova de cliente, sem automação de implantação.

O investimento logo no início pode levar a perda de tempo. O mais importante é que ele pode criar dependências no pipeline de lançamento que tornam a equipe mais resistente a um pivô inicial. Após as primeiras iterações ou quando os comentários dos clientes sugerem um sucesso potencial, um modelo mais avançado de implantação deve ser rapidamente adotado.

Em qualquer fase da validação de hipóteses, o Azure DevOps e o Azure Pipelines oferecem funcionalidades de entrega contínua e implantação contínua. Saiba mais sobre a entrega contínua ou confira o laboratório prático. A arquitetura da solução também pode acelerar a criação de pipelines de CI/CD por meio do Azure DevOps.

Medidas integradas

Quando você mede o impacto para o cliente, é importante entender como os clientes reagem às alterações na solução. Esses dados, conhecidos como telemetria, fornecem informações sobre as ações que um usuário (ou um coorte de usuários) executou ao usar a solução. Com base nesses dados, é fácil obter uma validação quantitativa da hipótese. Em seguida, essas métricas podem ser usadas para ajustar a solução e gerar hipóteses mais refinadas. Essas alterações mais sutis ajudam a amadurecer a solução inicial em iterações posteriores, levando, por fim, à adoção repetida em escala.

No Azure, o Azure Monitor fornece as ferramentas e a interface necessárias para coletar e revisar dados das experiências do cliente. Você pode aplicar essas observações e esses insights para refinar a lista de pendências usando o Azure Boards.

Próximas etapas

Depois que você obteve uma compreensão dos processos e das ferramentas de pipeline de CI/CD necessários para capacitar a adoção, é hora de examinar uma disciplina de inovação mais avançada: interação com dispositivos. Essa disciplina pode ajudar a reduzir as barreiras entre as experiências físicas e digitais, tornando sua solução ainda mais fácil de ser adotada.