DevOps vs. Ágil
Quais são as diferenças e semelhanças entre agilidade e DevOps?
Tom Hall
Representante e Profissional de DevOps
Quando a metodologia ágil ganhou ampla adoção no início dos anos 2000, ela transformou a maneira de desenvolver software e outros produtos. No entanto, alguns anos depois de se tornar um padrão do setor, começou a supervisão crítica: os processos e requisitos da equipe operacional que implementava e gerenciava os produtos de software ficaram de fora da revolução.
Essa situação levou ao DevOps, uma abordagem que alinhava as equipes de desenvolvimento e operações. Então, o DevOps substituiu a agilidade? Ou eles se complementam? Há diferenças e semelhanças entre os dois. A agilidade e o DevOps podem ser exclusivos e inclusivos, e ambos podem existir na empresa.
O que significa "ágil"?
A agilidade é uma abordagem iterativa de gerenciamento de projetos e desenvolvimento de software que se concentra na colaboração, feedback do cliente e lançamentos rápidos. Ela surgiu no início dos anos 2000 no setor de desenvolvimento de software, e ajudou essas equipes a reagir e se adaptar às mudanças nas condições do mercado e às demandas dos clientes.
Em uma abordagem ágil, o planejamento e o design são feitos com antecipação, mas o desenvolvimento avança em pequenas etapa e envolve uma estreita colaboração com as partes interessadas. As alterações são incorporadas de maneira contínua e, em geral, a versão utilizável do produto é lançada com mais rapidez em comparação com os produtos desenvolvidos por meio da metodologia em cascata. Esse método oferece muitos benefícios. Sem dúvida, o mais importante é que, se o software não atende às necessidades ou expectativas do cliente, ele pode ser corrigido em tempo real.
A agilidade é uma coleção de metodologias, não uma abordagem única de desenvolvimento. É uma combinação de Scrum, eXtreme Programming (XP) e outros sistemas de prática utilizados pelos desenvolvedores nos anos anteriores, e que resultou da união desses profissionais para unificar essas abordagens em um único conjunto de princípios. O resultado dessa iniciativa de unificação foi o Manifesto Ágil, que consiste em 12 princípios, baseados em quatro valores fundamentais.
Material relacionado
Saiba mais sobre o framework CALMS
Material relacionado
Saiba mais sobre a história do DevOps
Os quatro valores fundamentais do Manifesto Ágil
Pessoas e interações
acima de processos e ferramentas
Software funcional
acima de documentação abrangente
Colaboração com o cliente
acima de negociação contratual
Ações de acordo com mudanças
acima de obedecimento a planos
O DevOps entra em cena
O DevOps é uma abordagem de desenvolvimento de software que permite às equipes criar, testar e lançar software com mais rapidez e segurança através da incorporação de princípios e práticas ágeis, como maior automação e melhoria na colaboração entre as equipes de desenvolvimento e operações. O desenvolvimento, o teste e a implementação ocorrem na agilidade e no DevOps. No entanto, a metodologia ágil tradicional não contempla as operações, que são parte integral do DevOps.
O objetivo do DevOps é ajudar a unir desenvolvedores que criam software de aplicativos e operações que executam esse software na produção; além disso, construir e manter a infraestrutura onde ele é executado. O DevOps substitui a antiga abordagem das equipes de desenvolvimento que criavam aplicativos e, depois, os encaminhavam para a equipe de operações que implementava e gerenciava o software com visibilidade mínima sobre seu desenvolvimento. Em um ambiente de DevOps, desenvolvedores e equipes de operações trabalham lado a lado durante todo o processo de desenvolvimento, implementação e gerenciamento de aplicativos.
Existem dois frameworks comuns para entender o DevOps: “Três maneiras” e “CALMS”, acrônimo de Culture, Automation, Lean, Measurement, and Sharing. (Cultura, Automação, metodologia Lean, Medição e Compartilhamento). Cultura diz respeito à mudança cultural em que o desenvolvimento e as operações funcionam com mais coesão. A automação aumenta a velocidade e garante mais qualidade. Os princípios do Lean de melhoria contínua e reconhecimento de falhas são a base de uma mentalidade experimental. Medição se refere à prática de medir resultados para melhorar os processos. E o compartilhamento enfatiza a importância do DevOps como uma iniciativa em conjunto e a adoção das práticas recomendadas.
As três maneiras do DevOps
Raciocínio sistêmico
Entendimento de que os aplicativos de software são sistemas complexos
Ampliação dos ciclos de feedback
Melhore a comunicação bidirecional entre colegas de equipe
Mudança cultural
Cultura de experimentação e aprendizagem contínuas
Quando a agilidade e o DevOps trabalham juntos?
O DevOps pode ser entendido como uma evolução das práticas ágeis ou como uma peça que faltava nessa metodologia. É a iniciativa de pegar as inovações da abordagem ágil e aplicar aos processos operacionais. Ao mesmo tempo, é uma peça que falta na agilidade, pois alguns de seus princípios só são realizados por completo quando as práticas de DevOps são utilizadas. Por exemplo, há várias referências à entrega contínua de software em documentos ágeis, mas como os pipelines de entrega abrangem questões operacionais, a entrega contínua é, em geral, considerada uma prática de DevOps. A ampliação dos ciclos de feedback requer a melhoria na comunicação entre as equipes. A agilidade, em especial o Scrum, ajuda a facilitar essa comunicação através de várias cerimônias, como reuniões rápidas, reuniões de planejamento e retrospectivas diárias.
Quais são as semelhanças e diferenças entre a agilidade e o DevOps?
- A agilidade enfatiza a colaboração entre desenvolvedores e o gerenciamento de produtos — o DevOps inclui a equipe de operações
- A agilidade concentra o fluxo de software, desde a concepção até a conclusão do código — o DevOps amplia o foco para entrega e manutenção
- A agilidade enfatiza o desenvolvimento iterativo e pequenas etapas — o DevOps se concentra mais na automação de testes e entrega
- A agilidade adiciona estrutura ao planejamento de trabalho dos desenvolvedores — o DevOps incorpora o trabalho não planejado às equipes de operações
O Manifesto Ágil prioriza, de maneira explícita, pessoas e interações, software de trabalho, colaboração com o cliente e resposta às mudanças. É evidente que são as mesmas prioridades do DevOps, mas elas vão além do processo de desenvolvimento, chegando ao gerenciamento de sistemas e aplicativos em execução.
Além disso, os doze princípios do software ágil incluem referências aos princípios do DevOps. Por exemplo, a ênfase na integração e entrega contínuas, o trabalho em pequenas etapas com lançamentos frequentes e o uso da automação são todos mencionados nos doze princípios do software ágil.
Em suma... agilidade e DevOps
Em última análise, os objetivos da metodologia ágil e do DevOps são os mesmos: melhorar a velocidade e a qualidade do desenvolvimento de software. Não faz muito sentido falar de um sem falar do outro. Muitas equipes descobriram que metodologias ágeis as ajudam muito, enquanto outras têm dificuldade em perceber as vantagens prometidas por uma abordagem ágil. Essa dificuldade pode ocorrer por vários motivos, incluindo o fato de certas equipes não entenderem por completo ou implementarem de modo correto as práticas ágeis. Também é possível que a incorporação de uma abordagem de DevOps ajude as organizações que têm dificuldades com a agilidade e as ajude a ter o sucesso esperado.
A Atlassian conecta equipes de desenvolvimento, de operações de TI e ágeis com uma cadeia de ferramentas aberta, que envolve produtos próprios e ferramentas de terceiros. O Atlassian DevOps oferece tudo o que as equipes precisam para desenvolver e operar software. Experimente agora mesmo.
Compartilhar este artigo
Próximo tópico
Leitura recomendada
Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.