DevOps e Ágil
O que é?
DevOps é uma cultura e significa desenvolvimento junto com a operação. É um conjunto de práticas de automatização, que são conectadas com a ideia principal do desenvolvimento Agile. Pois, através dessa automatização, se atinge maior velocidade, minimiza os erros e se obtém aprendizado rápido.
Como meu time trabalha?
Assim, na minha equipe atual, a operação está dentro do time.
Outras formas de trabalhar?
De antemão, tem empresas que trabalham de forma separada. Enfim, o problema com esta abordagem é que, ao separar o trabalho de construção e de implantação, estamos fazendo com que “o problema seja de outra equipe”.
Definitivamente, no ponto de vista do ágil, isso causa dependência externa e pouco engajamento, criando um outro silo, didificultando o aumento da colaboração.
O que o SM deve saber?
Assim, precisamos levar em consideração, DevOps desde o momento que contratamos as pessoas integrantes da equipe, passando pelo impacto no framework Scrum, planejamento e construção de nossos produtos.
De antemão, precisamos pensar que, o nosso backlog agora, deverá conter tarefas de operação, além, do conjunto de recursos funcionais do ponto de vista de um usuário. Se temos equipes multifuncionais, então, também precisamos ter backlogs multifuncionais.
Em suma, o conceito de “DONE” ou definição de pronto, deve conter, além dos itens já abordados normalmente por nós, um item de: “funcionalidade no ambiente de Integração ou Delivery. Bem como, um item: “teste de usuário realizado com sucesso”.
O que é CI e CD?
Em Integração Contínua C.I. os ciclos de feedback são geralmente sobre como obter o feedback do teste (teste de unidade, teste de aceitação, teste de desempenho, etc.) o mais rápido possível. Em síntese, “Fail Fast” (Falhas Rápidas) – como você provavelmente já ouviu falar.
Entrega contínua CD é tudo sobre como obter esse produto lá fora e obter o feedback dos usuários. Em suma, Isso significa fornecer um MVP durante suas iterações de desenvolvimento. E fazer com que seus usuários forneçam um feedback inicial valioso.
Essencialmente, você quer ter um loop de feedback tão rápido quanto possível com seus usuários, e isso será possível a cada release que o time disponibilizar de forma ágil.
Por isso, é preciso investir seriamente na automação de todas as tarefas que realiza repetidamente. Isso tende a gerar confiabilidade e agilidade. É de suma importancia o SM ter esse entendimento da cultura DevOps. Além de, estar preparado para incentivar a aplicação beneficiando o time, a empresa e o cliente.
Antes de mais nada, SM saiba que o time todo o tem responsabilidade pelo processo de liberação. Um programa em execução em um laptop de desenvolvedor não vai gerar dinheiro para a empresa.
Como entender DevOps?
Fiz aqui para mim e para você, uma imagem para facilitação visual do entendimento sobre Devops. Foi baseado no meu aprendizado aqui no projeto e com a colaboração de um fera nesse assunto, que trabalha aqui do meu lado.
Pode parecer fácil olhando a imagem, mas eu ralei para chegar nessa figura autoexplicativa.
Fonte:
www.infoq.com/br/articles/merging-devops-agile
Informações sobre a autora: Jacqueline Viana é Scrum Master na Concrete Solutions, e é apaixonada por agilidade.