Buscar

Novo(a) Documento do Microsoft Word

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Qual a diferença entre Extreme Programming, Scrum e DevOps?
Num ambiente de desenvolvimento de softwares, chamamos de desenvolvimento ágil toda e qualquer metodologia ( XP, Scrum e DevOps etc.) utilizada no processo criativo que antecipe a necessidade de flexibilidade e na qual seja aplicado um certo nível de pragmatismo para as entregas de produtos finalizados. Utilizar metodologias ágeis, portanto, é manter um código simples, que seja testado muitas vezes e que permitam fazer entregas de porções funcionais da solução. Ou seja, neste processo são construídas as aplicações em cima de pequenas peças que são aprovadas pelo cliente durante o decorrer do projeto, ao invés de fazer uma entrega grande no final.
No artigo de hoje você verá qual a diferença entre as principais metodologias ágeis de desenvolvimento: Extreme Programming (XP), Scrum e DevOps. Acompanhe!
Metodologias ágeis de desenvolvimento de software tornam a equipe mais produtiva
Antes de entrarmos propriamente nas diferenças entre essas três metodologias, devemos relembrar o quanto o conceito de desenvolvimento ágil pode beneficiar a produção de uma equipe de desenvolvedores.
O próprio nome já diz: agilidade. Uma das principais vantagens que se busca ao adotar um método ágil é tornar a equipe mais produtiva e assertiva, ou seja, diminuir os erros (tanto técnicos quanto das expectativas do cliente) e entregar nos prazos planejados.
As equipes se tornam mais produtivas e assertivas, pois as metodologias ágeis proporcionam:
Engajamento de todos os interessados
O cliente é envolvido em todas as etapas do projeto e sua visão é levada em consideração. Os stakeholders passam a confiar mais nas capacidades dos desenvolvedores e os resultados se tornam mais “palpáveis”.
Aumento da colaboração
Como os profissionais se reúnem periodicamente para discutir o projeto, a colaboração entre eles aumenta e isso ajuda a evitar atrasos, erros e retrabalhos.
Mais transparência
Como os clientes e os desenvolvedores acompanham tudo que está sendo feito, o trabalho se torna mais transparente. Com mais transparência fica mais fácil agir e ajudar os colegas a superarem suas dificuldades, o que potencializa a produtividade.
Entregas mais rápidas
Como são entregues pacotes em datas pré definidas, evita-se muito os atrasos. Ao perceber que não dará conta de uma demanda, um testador, por exemplo, pode acionar sua liderança para solicitar ajuda com tempo hábil para não furar o cronograma.
Diferenças entre XP, Scrum e DevOps
Agora sim, vamos às diferenças entre as três principais metodologias ágeis de desenvolvimento de software. Veja:
Extreme Programming (XP)
O nome Extreme Programming é proposital para demonstrar radicalidade. No entanto, trata-se de uma disciplina de desenvolvimento de software com base em valores de simplicidade, comunicação, feedback, coragem e respeito. Ela funciona trazendo toda a equipe em conjunto para práticas simples, com feedback suficiente para permitir que todos os membros possam acompanhar o desenvolvimento do projeto, tenham uma visão única.
Nesta metodologia, todos usam um formulário simples de planejamento e de monitoramento para decidir o que deve ser feito em seguida e para prever quando o projeto será feito. Focada em valores do negócio, a equipe produz o software em uma série de pequenos lançamentos totalmente integrados sempre com o cliente como foco.
Os programadores escrevem todo o código de produção em pares, e todos trabalham juntos para que este código tenha um estilo a ser compreendido por toda a equipe — uma padronização para facilitar a leitura e intervenção quando necessário.
De tempos em tempos os membros da equipe se reúnem com o cliente para testar os pacotes finalizados.
Scrum
O mais popular dos métodos de desenvolvimento ágil, Scrum é um processo de gestão e controle que corta a complexidade para focar na construção de software que atenda às necessidades do negócio em questão. A equipe de desenvolvimento, com Scrum, é capaz de entregar as aplicações de acordo com as exigências e em pleno funcionamento, de forma incremental e empirica.
Scrum também é uma estrutura simples para colaboração da equipe em projetos de desenvolvimento de software complexos.
Num projeto de desenvolvimento onde o Scrum seja utilizado, temos basicamente o seguinte esquema:
O gestor (Scrum Master) do projeto cria uma lista de prioridades chamada ‘product backlog’;
Durante o planejamento de sprint a equipe puxa um pequeno pedaço do topo da lista de prioridade, um ‘backlog de sprint’, e decide como implementar essas peças;
A equipe tem uma certa quantidade de tempo — um sprint (geralmente duas a quatro semanas) — para completar o seu trabalho, mas todos os dias o progresso é avaliado (Scrum diário);
Ao longo do caminho, o Scrum Master mantém a equipe focada em seu objetivo;
No final do sprint, o trabalho deve ser potencialmente utilizável: pronto para entregar a um cliente (mostrar a uma das partes interessadas).
Ao final é feita uma revisão do sprint e retrospectiva;
Como o próximo sprint começa, a equipe escolhe um outro pedaço do product backlog e começa a trabalhar novamente.
DevOps
DevOps é um termo relativamente novo que emerge da colisão de duas grandes tendências relacionadas. A primeira também foi chamado de “administração ágil de sistema” ou “operações ágeis”; que saltou de aplicar novas abordagens ágeis e enxutas para operações de trabalho. A segunda é uma compreensão ampliada muito do valor da colaboração entre o desenvolvimento e a equipe de operações em todas as fases do ciclo de desenvolvimento na criação e operação de um serviço, e como operações tornou-se importante no nosso mundo cada vez mais orientado a serviços.
Uma definição de Jez Humble é que DevOps é “uma comunidade multi-disciplinar de prática dedicada ao estudo da construção, evolução e funcionamento rapido na construção ou mudança de sistemas resilientes em  escala.”
Também podemos definir DevOps basicamente como “a prática de operações e engenheiros de desenvolvimento que participam juntos no ciclo de vida de serviço completo, desde o projeto até o processo de desenvolvimento para apoio à produção”.
Captou a diferença entre XP, Scrum e DevOps?
Enquanto XP e Scrum estão mais focados nas entregas em si, com agilidade e assertividade, DevOps vai além e propõe a integração entre a área de desenvolvimento de software com a operação da infra de TI. Com DevOps, derruba-se as “barreiras” que existem entre estas duas (ou mais) equipes.

Continue navegando

Outros materiais