Metodologias Ágeis ExtremeProgramming e Scrum para oDesenvolvimento de Software
Description
Exercício 03 - Mapa Conceitual
Leia o artigo: Metodologias Ágeis Extreme Programming e Scrum para o Desenvolvimento de Software, disponível no link: http://periodicosibepes.org.br/index.php/reinfo/article/view/146/38.
E elabore um mapa conceitual.
Metodologias Ágeis
ExtremeProgramming e Scrum para
oDesenvolvimento de Software
As metodologias ágeis para
desenvolvimento de software são uma
resposta às chamadas metodologias
pesadas ou tradicionais.
A recomendação final é que o
desenvolvimento de software deveria
ser baseado em modelos incrementais, o
que poderia evitar muitas das falhas
reportadas.
A idéia das metodologias ágeis é o
enfoque nas pessoas e não em
processos ou algoritmos e elas são
adaptativas ao invés de serem
preditivas.
Para ser realmente considerada
ágil a metodologia deve aceitar a
mudança ao invés de tentar
prever o futuro.
Metodologia
Tradicional
Um exemplo de uma
metodologia tradicional ou
pesada é o modelo em
Cascata [5], que é composto
basicamente por atividades
seqüenciais de levantamento
de requisitos, análise,
projeto, implementação,
teste, implantação e
manutenção.
As metodologias pesadas
devem ser aplicadas
apenas em situações em
que os requisitos do
software são estáveis e
requisitos futuros são
previsíveis.
O modelo em Cascata
dominou a forma de
desenvolvimento de software
até o início da década de 90,
“Indivíduos e interações ao invés de processos e ferramentas.
Software executável ao invés de documentação. Colaboração
do cliente ao invés de negociação de contratos. Respostas
rápidas a mudanças ao invés de seguir planos.”
Extreme
Programming
Feedback
constante
Abordagem
incremental
A comunicação entre as
pessoas é encorajada.
12 práticas
da XP
Planejamento: consiste em decidir o que é necessário ser feito e o
que pode ser adiado no projeto.
Entregas freqüentes: visa à construção de um software simples, e
conforme os requisitos surgem, há a atualização do software.
Metáfora: são as descrições de um software sem a utilização de termos
técnicos, com o intuito de guiar o desenvolvimento do software.
Programação em pares: a implementação do código é feita em dupla,
ou seja, dois desenvolvedores trabalham em um único computador.
Projeto simples: o programa desenvolvido pelo método XP deve ser o mais simples
possível e satisfazer os requisitos atuais, sem a preocupação de requisitos futuros
40 horas de trabalho semanal: a XP assume que não se deve fazer
horas extras constantemente.
Cliente presente: é fundamental a participação do cliente durante
todo o desenvolvimento do projeto.
Integração contínua: interagir e construir o sistema de software
várias vezes por dia, mantendo os programadores em sintonia,
além de possibilitar processos rápidos.
Código padrão: padronização na arquitetura do código, para que
este possa ser compartilhado entre todos os programadores.
Testes: a XP focaliza a validação do projeto durante todo o
processo de desenvolvimento.
Propriedade coletiva: o código do projeto
pertence a todos os membros da equipe.
Refatoração: focaliza o aperfeiçoamento do projeto do software e
está presente em todo o desenvolvimento.
Scrum
A idéia principal da Scrum é que
o desenvolvimento de softwares
envolve muitas variáveis técnicas
e do ambiente, como requisitos,
recursos e tecnologia, que podem
mudar durante o processo.
Ciclo de
vida da
Scrum
Pré-planejamento (Pre-game phase):
os requisitos são descritos em um
documento chamado backlog.
Desenvolvimento (game phase): na
Scrum o controle é feito continuamente,
o que aumenta a flexibilidade para
acompanhar as mudanças.
Pós-planejamento (post-game phase):
após a fase de desenvolvimento são
feitas reuniões para analisar o
progresso do projeto e demonstrar o
software atual para os clientes.
Resultados: comparando métodos ágeis
com as metodologias tradicionais
pesadas mostrou que os projetos
usando os métodos ágeis obtiveram
melhores resultados em termos de
cumprimento de prazos, de custos e
padrões de qualidade.