O que é DevOps?
A contração de "Dev" e "Ops" refere-se à substituição de equipes de Desenvolvimento e Operações isoladas. A ideia é criar equipas multidisciplinares que trabalhem em conjunto com práticas partilhadas, ferramentas e responsabilização pelos resultados. As práticas essenciais de DevOps incluem planejamento ágil, integração contínua, entrega contínua e monitoramento abrangente de aplicativos. DevOps é uma jornada contínua de melhoria, não um destino.
O valor comercial do DevOps
As organizações que implementam práticas de DevOps normalmente veem melhorias mensuráveis nas principais métricas operacionais:
- Frequência de implantação: Aumento de lançamentos pouco frequentes para implantações regulares e previsíveis
- Prazo de execução: Reduzido de ciclos de desenvolvimento prolongados para prazos de entrega mais curtos
- Tempo médio de recuperação (MTTR): resolução mais rápida de incidentes e restauração do sistema
- Alterar a taxa de falhas: menos problemas de produção devido a testes e automação aprimorados
Os benefícios esperados incluem:
- Redução do tempo de colocação no mercado de novas funcionalidades
- Diminuição de incidentes relacionados à implantação
- Maior produtividade e satisfação do desenvolvedor
- Custos operacionais mais baixos através da automação
Compreender e calcular o seu tempo de ciclo
Vamos começar com um conceito fundamental sobre desenvolvimento de software usando o loop OODA (Observe, Orient, Decide, Act). Originalmente projetado para evitar que pilotos de caça sejam atirados do céu, o loop OODA é uma excelente estrutura para ficar à frente de seus concorrentes no mundo dos negócios.
OODA Loop na prática:
- Observe: monitore métricas de negócios, tendências de mercado, comportamento do usuário e dados de telemetria
- Oriente: Analise opções para o que você pode entregar, possivelmente através de experimentos
- Decidir: determinar o que perseguir com base em dados e prioridades de negócios
- Agir: Entregar software de trabalho a utilizadores reais e recolher feedback
Exercício de Cálculo do Tempo de Ciclo: Pense no seu processo de desenvolvimento atual. Quanto tempo leva para ir de:
- Confirmação de código → Implantação em ambiente de produção?
- Pedido de funcionalidade → Comentários dos clientes?
- Relatório de bug → correção na produção?
Exemplo: Se levar 2 semanas para implantar uma alteração de configuração de uma linha, o tempo de ciclo será de 2 semanas. Isso se torna sua restrição de velocidade.
Torne-se informado pelos dados, não orientado por dados
Recomendamos o uso de dados para informar decisões no seu próximo ciclo, mas evite ficar paralisado pela análise. A experiência de muitas organizações sugere que as implantações geralmente têm resultados variados:
- Algumas implantações terão resultados comerciais negativos
- Algumas implantações terão resultados positivos
- Algumas implantações não farão diferença mensurável
O princípio-chave: falhar rapidamente em iniciativas que não fazem avançar o negócio e duplicar os resultados que apoiam os objetivos de negócio. Essa abordagem é frequentemente chamada de «mudar de direção ou perseverar».
Aplicação prática:
- Configurar testes A/B para novas funcionalidades
- Definir métricas de sucesso antes da implantação
- Estabelecer procedimentos de reversão para experimentos com falha
- Crie ciclos de feedback para medir o impacto rapidamente
Esforçar-se por uma aprendizagem validada
A rapidez com que você pode falhar rapidamente ou dobrar depende do seu tempo de ciclo - quanto tempo esse ciclo de feedback leva para ser concluído. O feedback que recolhe em cada ciclo deve ser:
- Factual: Baseado no comportamento real do usuário e nas métricas do sistema
- Acionável: Levando a próximas etapas e decisões claras
- Oportuno: Disponível com rapidez suficiente para influenciar a próxima iteração
Esta abordagem baseada em evidências é chamada de aprendizagem validada - tomar decisões com base em evidências empíricas em vez de suposições ou opiniões.
Exemplo de métricas para aprendizagem validada:
- Taxas de envolvimento do utilizador e adoção de funcionalidades
- Desempenho do sistema e taxas de erro
- Pontuações de satisfação do cliente e chamados de suporte
- KPIs de negócios (receita, taxas de conversão, retenção)
Encurte o seu tempo de ciclo
Quando você adota práticas de DevOps:
- Você reduz seu tempo de ciclo trabalhando em lotes menores.
- Usando mais automação.
- Endurecendo seu pipeline de liberação.
- Melhorar a sua telemetria.
- Desdobrando com mais frequência.
Otimizar a aprendizagem validada
Quanto mais frequentemente a implantar, mais poderá experimentar. Quanto mais oportunidades você tiver de pivotar ou perseverar e obter aprendizagem validada a cada ciclo. Esta aceleração na aprendizagem validada é o valor da melhoria. Pense nisso como a soma do progresso que você alcança e os fracassos que você evita.