mirror of
https://github.com/MichaelCade/90DaysOfDevOps.git
synced 2025-01-21 01:37:56 +07:00
100 lines
7.1 KiB
Markdown
100 lines
7.1 KiB
Markdown
---
|
||
title: '#90DaysOfDevOps - DevOps & Agile - Dia 4'
|
||
published: false
|
||
description: 90DaysOfDevOps - DevOps & Agile
|
||
tags: 'devops, 90daysofdevops, learning'
|
||
cover_image: null
|
||
canonical_url: null
|
||
id: 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
|
||
|
||
- [DevOps para Desenvolvedores – Um dia na vida de um: DevOps Engineer em 2021](https://www.youtube.com/watch?v=2JymM0YoqGA)
|
||
- [3 coisas que eu gostaria de saber como engenheiro DevOps](https://www.youtube.com/watch?v=udRNM7YRdY4)
|
||
- [Como se tornar um engenheiro de DevOps - feat. Shawn Powers](https://www.youtube.com/watch?v=kDQMjAQNvY4)
|
||
|
||
Se você chegou até aqui, saberá se é aqui que você quer estar ou não. Vejo você no [Dia 5](day05.md).
|