90DaysOfDevOps/2022/pt-br/Days/day04.md

7.1 KiB
Raw Blame History

title published description tags cover_image canonical_url id
#90DaysOfDevOps - DevOps & Agile - Dia 4 false 90DaysOfDevOps - DevOps & Agile devops, 90daysofdevops, learning null null 1048700

DevOps & Agile

Você sabe a diferença entre DevOps e Agile? Eles foram formados como conceitos independentes. Mas agora os dois termos estão se fundindo.

Neste post, examinaremos as diferenças cruciais entre Agile e DevOps e descobriremos por que os dois estão tão conectados.

Acho que um bom lugar para começar, é entender um pouco mais sobre um ângulo comum que tenho visto no aprendizado dessa área é que sobre DevOps vs Agile, embora distintos possuem objetivos e processos semelhantes. Nesta seção, vou resumir isso.

Vamos começar com as definições.

Desenvolvimento ágil

Agile é uma abordagem que se concentra em fornecer pequenos resultados mais rapidamente, em vez de liberar uma grande interação do produto; o software é desenvolvido em iterações. A equipe lança uma nova versão a cada semana ou mês com atualizações incrementais. O objetivo final do Agile é oferecer uma experiência ideal para os usuários finais.

DevOps

Nos últimos dias, abordamos isso com algumas maneiras diferentes de descrever os objetivos finais do DevOps. DevOps geralmente descreve o desenvolvimento de software e práticas de entrega baseadas na cooperação entre desenvolvedores de software e especialistas em operações. Os principais benefícios do DevOps são fornecer um processo de desenvolvimento simplificado e minimizar a falta de comunicação.

Qual é a diferença entre Agile e DevOps?

A diferença está principalmente nas preocupações. Agile e DevOps têm preocupações diferentes, mas estão ajudando um ao outro. O Agile quer iteração curta, o que só é possível com a automação que o DevOps traz. A Agile quer que o cliente experimente uma versão específica e dê feedback rapidamente, o que só é possível se o DevOps tornar a criação de um novo ambiente algo simples.

Participantes diferentes

O Agile se concentra na otimização da comunicação entre usuários finais e desenvolvedores, enquanto o DevOps visa desenvolvedores e operações, membros da equipe. Poderíamos dizer que o ágil é orientado para o lado externo (os clientes), enquanto o DevOps é um conjunto de práticas internas.

Equipe

Agile geralmente se aplica a desenvolvedores de software e gerentes de projeto. As competências dos engenheiros de DevOps estão na interseção de desenvolvimento, controle de qualidade (garantia de qualidade) e operações, pois estão envolvidos em todas as etapas do ciclo do produto e fazem parte da equipe Agile.

Estruturas Aplicadas

O Agile tem muitas estruturas de gerenciamento para obter flexibilidade e transparência: Scrum > Kanban > Lean > Extreme > Crystal > Dynamic > Feature-Driven. O DevOps se concentra na abordagem de desenvolvimento em colaboração, mas não oferece metodologias específicas. No entanto, DevOps promove práticas como Infraestrutura como Código, Arquitetura como Código, Monitoramento, Self-Healing, automação de testes de ponta a ponta...

Feedback

No Agile, a principal fonte de feedback é o usuário final, enquanto no DevOps o feedback vem das partes interessadas e da própria equipe tem maior prioridade.

Áreas-alvo

O Agile se concentra mais no desenvolvimento de software do que na implantação e manutenção. O DevOps também se concentra no desenvolvimento de software, mas seus valores e ferramentas também abrangem estágios de implantação e pós-lançamento, como monitoramento, alta disponibilidade, segurança e proteção de dados.

Documentação

O Agile prioriza a flexibilidade e as tarefas em relação a documentação e o monitoramento. O DevOps, por outro lado, considera a documentação do projeto como um dos componentes essenciais do projeto.

Riscos

Os riscos ágeis derivam da flexibilidade da metodologia. Projetos ágeis são difíceis de prever ou avaliar, pois as prioridades e os requisitos estão mudando continuamente.

Os riscos de DevOps derivam de um mal-entendido do termo e da falta de ferramentas adequadas. Algumas pessoas veem o DevOps como uma coleção de software para implantação e integração contínua que não altera a estrutura subjacente do processo de desenvolvimento.

As ferramentas usadas

As ferramentas ágeis são focadas na colaboração de comunicação gerencial, métricas e processamento de feedback. As ferramentas ágeis mais populares incluem JIRA, Trello, Slack, Zoom, SurveyMonkey e outras.

DevOps usa ferramentas para comunicação de equipe, desenvolvimento de software, implantação e integração como Jenkins, GitHub Actions, BitBucket, etc. Embora ágil e DevOps tenham focos e escopos ligeiramente diferentes, os valores-chave são quase idênticos, portanto, você pode combinar os dois.

Junte tudo… boa ideia ou não? Vamos discutir?

A combinação de Agile e DevOps traz os seguintes benefícios:

  • Gestão flexível e tecnologia poderosa.
  • As práticas ágeis ajudam as equipes de DevOps a comunicar suas prioridades com mais eficiência.
  • O custo de automação que você precisa pagar por suas práticas de DevOps é justificado por sua exigência ágil de implantação rápida e frequente.
  • Leva ao fortalecimento: a equipe adotando práticas ágeis melhorará a colaboração, aumentará a motivação da equipe e diminuirá as taxas de rotatividade de funcionários.
  • Como resultado, você obtém uma melhor qualidade do produto.

O Agile permite voltar aos estágios anteriores de desenvolvimento do produto para corrigir erros e evitar o acúmulo de dívida técnica. Para adotar ágil e DevOps simultaneamente basta seguir estes 7 passos:

  1. Unir as equipes de desenvolvimento e operação.
  2. Crie equipes de build e execução, todas as preocupações operacionais e de desenvolvimento são discutidas por toda a equipe de DevOps.
  3. Mude sua abordagem aos sprints e atribua classificações de prioridade para oferecer tarefas de DevOps que tenham o mesmo valor das tarefas de desenvolvimento. Incentive as equipes de desenvolvimento e operações a trocarem suas opiniões sobre o fluxo de trabalho de outras equipes e possíveis problemas.
  4. Incluir QA em todas as etapas de desenvolvimento.
  5. Escolha as ferramentas certas.
  6. Automatize tudo o que puder.
  7. Meça e controle usando resultados numéricos tangíveis.

O que você acha? Você tem visões diferentes? Eu quero ouvir de desenvolvedores, operações, controle de qualidade ou qualquer pessoa que tenha um melhor entendimento de Agile e DevOps que possa passar comentários e feedback sobre isso

Recursos

Se você chegou até aqui, saberá se é aqui que você quer estar ou não. Vejo você no Dia 5.