Diferença entre Extreme Programming e SCRUM

Diferença entre Extreme Programming e SCRUM
Diferença entre Extreme Programming e SCRUM

Vídeo: Diferença entre Extreme Programming e SCRUM

Vídeo: Diferença entre Extreme Programming e SCRUM
Vídeo: QUAL A DIFERENÇA ENTRE AMPLIFICADOR E RECEIVER? | AUDIO PRIME 2024, Julho
Anonim

Programação Extrema vs SCRUM | XP vs SCRUM

Houve várias metodologias de desenvolvimento de software diferentes usadas na indústria de software ao longo dos anos, como o método de desenvolvimento Waterfall, V-Model, RUP e alguns outros métodos lineares, iterativos e combinados lineares-iterativos. O modelo ágil (ou mais corretamente, um grupo de metodologias) é um modelo de desenvolvimento de software mais recente introduzido pelo manifesto Agile para resolver as deficiências encontradas nessas metodologias tradicionais de desenvolvimento de software.

Os métodos ágeis são baseados em desenvolvimento iterativo e usam o feedback dos usuários como o principal mecanismo de controle. Agile pode ser chamado de abordagem centrada nas pessoas do que os métodos tradicionais. O modelo ágil entrega uma versão funcional do produto muito cedo, dividindo o sistema em subpartes muito pequenas e gerenciáveis, para que o cliente possa perceber alguns dos benefícios desde o início. O tempo de ciclo de teste do Agile é relativamente curto em comparação com os métodos tradicionais, porque o teste é feito paralelamente ao desenvolvimento. Devido a todas essas vantagens, os métodos ágeis são preferidos em relação às metodologias tradicionais no momento. Scrum e programação extrema são duas das variações mais populares dos métodos ágeis.

O que é SCRUM?

Como mencionado acima, SCRUM é um processo de gerenciamento de projetos incremental e iterativo, que pertence à família de métodos ágeis. O SCRUM é baseado em dar alta prioridade à participação do cliente no início do ciclo de desenvolvimento. Ele recomenda a incorporação de testes pelo cliente o quanto antes e com a maior frequência possível. O teste é feito em cada ponto quando uma versão estável se torna disponível. A base do SCRUM é baseada em iniciar o teste desde o início do projeto e continuar até o final do projeto.

O valor-chave do SCRUM é “qualidade é responsabilidade da equipe”, que enfatiza que a qualidade do software é responsabilidade de toda a equipe (não apenas da equipe de teste). Um outro aspecto importante do SCRUM é dividir o software em partes menores e gerenciáveis e entregá-las ao cliente muito rapidamente. Entregar um produto funcional é de extrema importância. Em seguida, a equipe continua a melhorar o software e a entregar continuamente em cada etapa importante. Isso é alcançado por meio de ciclos de lançamento muito curtos (chamados sprints) e recebendo feedback para melhoria no final de cada ciclo.

SCRUM define vários papéis-chave para o bom funcionamento de uma equipe de desenvolvimento. Eles são o Product Owner (que representa o cliente e mantém o product backlog), Scrum master (que atua como organizador e coordenador da equipe conduzindo reuniões de scrum, mantendo o sprint backlog e burn down charts) e outros membros da equipe. Uma equipe pode consistir em funções tradicionais, mas principalmente são equipes autogerenciadas. Os principais artefatos do Scrum são Product backlog/release backlog (lista de desejos), Sprint backlogs/defect backlogs (tarefas em cada iteração), Burn down charts (trabalho restante versus data). As principais cerimônias do SCRUM são reunião de backlog do produto, reunião de Sprint e reunião de retrospectiva.

O que é Extreme Programming?

Extreme Programming (abreviado XP) é uma metodologia de desenvolvimento de software que pertence ao modelo Agile. A programação extrema realiza fases em etapas contínuas muito pequenas (em comparação com os métodos tradicionais). A primeira passagem, que leva apenas um dia ou uma semana, é intencionalmente incompleta. Para fornecer objetivos concretos para o desenvolvimento do software, testes automatizados são escritos no início. Em seguida, os desenvolvedores fazem a codificação. O foco está em fazer a programação em pares. Uma vez que todos os testes são aprovados, a codificação é considerada completa. A próxima fase é design e arquitetura, que trata da refatoração do código pelo mesmo conjunto de programadores. No final desta fase, o produto incompleto (mas funcional) é apresentado aos stakeholders. Logo depois disso, a próxima fase (que se concentra no próximo conjunto de recursos mais importantes) começa.

Qual é a diferença entre Extreme Programming e SCRUM?

Programação Extrema e SCRUM são metodologias compreensivelmente muito semelhantes e alinhadas. No entanto, existem diferenças sutis, mas importantes, entre esses dois métodos. Os sprints do SCRUM duram de 2 a 4 semanas, enquanto as iterações típicas do XP são mais curtas (últimas 1 a 2 semanas). Normalmente, as equipes SCRUM não permitem mudanças nos sprints, mas as equipes XP são um pouco mais flexíveis para mudanças dentro das iterações. Por exemplo, após o planejamento do sprint, o conjunto de itens desse sprint permanece in alterado, mas um recurso que não começou a funcionar pode ser trocado a qualquer momento por algum outro recurso no XP. Outra diferença entre XP e SCRUM é que, a ordem dos recursos desenvolvidos no XP é estritamente priorizada pelo cliente, enquanto a equipe do SCRUM decide a ordem dos itens (após o product backlog ser priorizado pelo Product Owner do SCRUM).

Ao contrário do XP, o SCRUM não estabelece nenhuma prática de engenharia. Por exemplo, XP é orientado por práticas como desenvolvimento orientado a testes (TDD), programação em pares, refatoração, etc. uma deficiência do XP. Outra falha da programação Extreme é que equipes inexperientes tendem a refatorar sem testes automatizados ou TDD (ou simplesmente hacking). Portanto, alguns sugerem que o SCRUM é melhor para começar (já que traz grandes melhorias simplesmente por meio de iterações com timeboxed focadas) e o XP é adequado para equipes um pouco maduras que descobriram o valor das práticas mencionadas acima (em vez de usá-las porque foram solicitadas fazer isso).

Recomendado: