Explore a Melhoria Contínua
A Melhoria Contínua é um dos oito recursos da taxonomia de DevOps.
Descubra porque é que a Melhoria Contínua é necessária
A Melhoria Contínua envolve e requer medição. Como identificar melhorias se não medir?
O relatório da Forrester Faster Software Delivery Will Accelerate Digital Transformation, publicado em 2017, mostra um desperdício significativo entre o tempo de espera e o tempo de processo. Ele nos lembra que, se você não medir, não poderá saber a diferença – ou quanto desperdício sua organização está criando.
Depois de medir o impacto que resíduos específicos têm no processo, torna-se fácil priorizar o trabalho para fazer melhorias.
Fonte: Forrester, Entrega Mais Rápida de Software Acelerará a Transformação Digital, 9 de março de 2017 por Diego Lo Giudice, Christopher Condo com Christopher Mines, Luis Deya
Mas como melhorar a experiência do cliente se não medir? A pesquisa da Forrester mostrou que "uma pequena sobreposição entre os recursos testados e usados significa que os desenvolvedores precisam de uma melhor perceção do cliente." A sobreposição entre os recursos do aplicativo testados e os recursos do aplicativo usados é de cerca de 35%.
Como você pode criar o software certo se não medir o uso e o impacto de novos recursos? Com 65% de chance de errar, saber a diferença é essencial.
O que é a Melhoria Contínua?
Observar de forma contínua e franca seu processo de DevOps permite que as equipes identifiquem possíveis pontos de melhoria.
Toda melhoria requer mudança, mas nem toda mudança é melhoria. É por isso que a medição é um fator crítico de sucesso para as organizações que usam DevOps. Como diz Peter Drucker, "Se você não pode medi-lo, você não pode melhorá-lo".
A falta de um mecanismo de feedback eficaz dificulta a melhoria do impacto das aplicações nos negócios. É por isso que é importante criar um ambiente que promova uma abordagem centrada no aprendizado para a melhoria do DevOps, com foco em fazer ajustes baseados em dados.
Medição e métricas
Primeiro, vamos considerar a medição. De acordo com o livro Accelerate de Nicole Forsgren, Jez Humble e Gene Kim, as quatro medidas mais importantes do desempenho da entrega de software são:
- Lead time para a mudança: uma medida do tempo de desempenho de entrega de software. O tempo que leva para passar do código confirmado para o código executado com êxito na produção
- Frequência de implantação: uma medida direta ou indireta do tempo de resposta, coesão da equipe, recursos do desenvolvedor, eficácia da ferramenta de desenvolvimento e eficiência geral da equipe de DevOps.
- Tempo médio de restauração: quanto tempo geralmente leva para restaurar um aplicativo ou serviço principal quando ocorre um incidente de serviço.
- Porcentagem de falha de alteração: a porcentagem de alterações na produção (incluindo, por exemplo, versões de software e alterações de configuração de infraestrutura) que falham.
É responsabilidade da liderança de DevOps medir coisas como métricas de integridade operacional, uso, velocidade e integridade do local ao vivo. Em outras palavras, meça IMPACTO, não ATIVIDADE. Uma métrica só é útil se for acionável.
Embora as equipes scrum meçam a capacidade da equipe, a velocidade da equipe, o burndown e o número de bugs, essas métricas só são relevantes dentro do contexto da equipe. Mas é importante que a liderança de DevOps permaneça focada no impacto.
Importante
Meça o impacto, não a atividade!
Coisas que medimos:
Utilização
Velocidade
Estado de funcionamento do site em tempo real
- Aquisição
- Interações
- Satisfação
- Churn
- Utilização de funcionalidades
- Hora de construir
- Tempo de autoteste
- Tempo de implantação
- Tempo para aprender
- Tempo para detetar
- Hora de comunicar
- Tempo para mitigar
- Impacto no cliente
- Itens de prevenção de incidentes
- Problemas de envelhecimento no site ao vivo
- SLA por cliente
- Métricas de suporte ao cliente
Coisas que não assistimos:
- Estimativa original
- Horas cumpridas
- Linhas de código
- Capacidade da equipa
- Burndown da equipe
- Velocidade da equipa
- Número de bugs encontrados
Importante
As métricas afetam os resultados dos negócios.
Alinhar KPIs com hábitos é importante. Ajuda a alcançar resultados comerciais positivos.
Hábitos importantes para reforçar os KPIs e montar equipes para o sucesso devem incluir:
- Autonomia da equipa e alinhamento organizacional: O quê, como e porquê construímos. Você precisa de uma cadência comum, ou pulsação, em toda a sua organização para permitir que todas as equipes de liderança e recursos colaborem de forma transparente e eficaz.
- Foco no cliente: Todos os esforços devem ter impacto direto ou indireto no valor do cliente.
- Mentalidade de produção em primeiro lugar: uma mentalidade que não diferencia como os recursos e bugs são tratados durante o desenvolvimento, testes e suporte operacional. Tudo deve ser automatizado, versionado e ajustado na produção.
- Priorize a qualidade desde o início e aceite falhas rapidamente: incentive avaliações, validações e aprovações para testes e segurança o mais cedo possível no ciclo de entrega de funcionalidades para impulsionar a qualidade e uma mentalidade de aceitação de falhas.
Feedback contínuo
Em seguida, vamos considerar como usar o feedback contínuo para colaboração.
Os desenvolvedores de aplicativos modernos mais falados vêm de startups. Por que eles são tão bem-sucedidos? Porque as suas práticas lean não são sobrecarregadas por anos de processos refinados.
As startups enxutas estabeleceram um caminho ideal para desenvolver ideias, entregá-las e refiná-las – criando uma incrível cultura de feedback contínuo positivo:
- Lançamento antecipado, lançamento com frequência
- Comece com um produto mínimo viável
- Use o desenvolvimento orientado por hipóteses
- Melhoria contínua através do feedback dos clientes
Melhoria Contínua através do mapeamento do fluxo de valor
Quando temos medição e feedback, a melhoria torna-se um exercício orientado por dados.
Uma forma eficaz de apoiar a Melhoria Contínua é através do mapeamento do fluxo de valor. Um fluxo de valor é uma sequência de atividades que uma organização se compromete a entregar a uma solicitação do cliente.
O mapeamento do fluxo de valor é uma maneira altamente eficaz de aprender a ver e resolver desconexões, redundâncias e lacunas na forma como o trabalho é feito. Não é apenas uma ferramenta, mas uma metodologia baseada em equipe que acreditamos ser a base de uma prática de gestão comprovada.
A análise do fluxo de valor permite detalhar o processo de entrega e medir o tempo de entrega, o tempo de ciclo e o tempo ocioso, o que ajuda as equipes a fazer ajustes baseados em dados no fluxo de trabalho.
Essas medidas ajudam as equipes a planejar, identificar variações na eficiência e identificar possíveis problemas no processo.
Gorjeta
Quanto menores os tempos de lead e ciclo, mais rápido será o rendimento da sua equipe.
Precisamos ser capazes de identificar a diferença entre trabalho desnecessário sem valor agregado e trabalho necessário sem valor agregado para ajudar a identificar mudanças futuras para melhoria de processos.
O trabalho desnecessário sem valor agregado é um verdadeiro desperdício: o cliente não o valoriza e a organização não precisa fazê-lo para permanecer uma empresa viável. Consome recursos sem acrescentar qualquer valor ao produto.
DevOps orientado por dados: as métricas ajudam a guiar sua jornada
A transformação de DevOps é uma jornada, e a melhor e mais eficaz maneira de se guiar pela jornada de DevOps é por meio de DevOps orientado por dados.
Sugerimos que você estabeleça uma abordagem holística para medir a eficácia do DevOps e fornecer transparência nas iniciativas de transformação do DevOps. Crie uma cultura que promova o aprendizado e a experimentação que o DevOps exige, concentrando-se em métricas que destacam o sucesso. Reconheça esses sucessos celebrando o comportamento certo em vez de punir o errado.