Preciso colocar minha resposta a essa pergunta no contexto do que é o DevOps, mais especificamente nas transformações do DevOps das quais participei, o DevOps é propriedade de todo o Ciclo de Vida de Desenvolvimento de Software. Todas as práticas no gráfico são uma parte importante do DevOps e permitem e sustentam o pensamento sistêmico e a amplificação dos ciclos de feedback .
No entanto, o principal diferencial entre CI / CD e DevOps é a operação real do software em um ambiente de produção, onde ele pode agregar valor aos seus clientes e aos negócios que atende.
Como consultor participando ou liderando uma transformação de DevOps, tenho os seguintes aspectos em mente:
Cultura : Como Dave apontou com razão, uma cultura de experimentação e aprendizado contínuos é fundamental para o sucesso de qualquer transformação. Do ponto de vista do DevOps, tudo se resume a como criamos uma cultura de suporte ao modelo escolhido do DevOps. Esse modelo pode ser "Você constrói, executa" ou pode ser mais parecido com a prática de Engenharia de confiabilidade do site do Google .
Modelo Operacional : Essa é a parte da proposição de negócios que articula como a organização fornecerá valor, geralmente articulando Pessoas, Processos e Ferramentas utilizadas, vinculados em alto nível. Sem um modelo operacional, você não tem um plano para a maneira como a organização adota as práticas que a cultura define; isso, por sua vez, leva à falta de clareza e comportamentos divergentes.
Cobertura aérea de nível C : Geralmente, nosso trabalho como consultores que trabalham em programas de transformação é fazer mudanças radicais na maneira como os negócios funcionam. Você vai chatear as pessoas, e algumas pessoas não vão gostar das mudanças - é importante que você tenha uma "cobertura aérea" de cima para mudar as coisas e seguir em frente.
Uma vez que o nível alto esteja no lugar, é importante encontrar algo que você possa entregar realisticamente:
- Comece o mais pequeno possível, idealmente, depois de ter algumas pessoas que entendem a cultura, um esboço de um modelo operacional e a adesão dos executivos criam o "Projeto Mínimo Viável", não tente ferver o oceano com o DevOps para uma audiência de milhares. Defina uma meta alcançável:
- Automatize a criação da infraestrutura do Produto X.
- Automatize a entrega do Produto X no Azure em todos os ambientes.
- Suporte de devolução do contratante Y a uma equipe de desenvolvimento em Londres.
- Crie um conjunto de testes sobre nosso recurso mais arriscado e execute-os em integração contínua.
- Ótimo, você tem algum sucesso agora, é hora de começar a juntar isso em mais equipes, adicionar mais algumas equipes à mistura e colocá-las em funcionamento. Não tenha medo de oferecer "Suporte para luvas brancas" primeiro para ajudá-los na transição; eles precisarão de muita ajuda nas próximas semanas e meses.
- Agora você tem vários adotantes iniciais seguindo uma nova maneira de trabalhar; você tem massa crítica, é hora de começar a evangelizar o trabalho que está fazendo com um público mais amplo:
- Realize sessões regulares de apresentação e demonstração , peça aos primeiros adotantes que demonstrem o quão bem-sucedidos eles foram.
- Ofereça sessões suspensas para permitir que outras partes da organização explorem como elas podem integrar sua equipe.
- Permitir a criação de Comunidades de Prática com foco em disciplinas específicas: Implantação Contínua, Teste Automatizado, Comunicação Comercial, Gerenciamento de Riscos, Monitoramento e Alerta, etc.
Mantenha o curso e encerre a transformação integrando o restante da organização. Entenda o relacionamento entre o ciclo de hype do Gartner e o ciclo de vida da adoção . Prepare-se para que o Programa de Transformação caia na "Calha da Desilusão", mantenha o rumo e mantenha o objetivo final à vista.
Para uma exploração mais profunda do ponto final, leia Crossing the Chasm, de Geoffrey A. Moore . Eu poderia literalmente escrever um livro sobre como entregar uma transformação do DevOps, no entanto, quando terminei, provavelmente não haveria mais trabalho de transformação do DevOps para eu fazer.