Metodologias ágéis Versus Tradicionais
Trabalho Escolar: Metodologias ágéis Versus Tradicionais. Pesquise 862.000+ trabalhos acadêmicosPor: Kathiani • 13/3/2014 • 2.665 Palavras (11 Páginas) • 315 Visualizações
Metodologias Ágeis versus Metodologias Tradicionais
Kathiani Elisa de Souza
Dourados/MS, 16 de Julho de 2013
Resumo: Este trabalho apresenta os conceitos de processo de software bem como as metodologias que regem esses processos. As metodologias apresentadas são a Metodologia Tradicional – Modelo Cascata e as Metodologias Ágeis SCRUM e Extreme Programming.
1. Processos de Software
Um processo de software é um conjunto de atividades e resultados necessários para a produção de software. Existem vários processos para o desenvolvimento de software, mas segundo SOMMERVILLE existem atividades fundamentais comuns a todos os processos:
Especificação de Software: Especificação dos requisitos e da definição de software. Fase de conversa com o cliente;
Projeto e implementação de Software: São propostos modelos através de diagramas que depois serão codificados em alguma linguagem de programação;
Validação de Software: o software é validado para ver se todas as funcionalidades requeridas pelo cliente foram implementadas;
Evolução de Software: o software precisa evoluir para continuar sendo útil ao cliente;
“Muitas organizações desenvolvem software sem usar nenhum processo. Geralmente isso ocorre porque os processos tradicionais não são adequados às realidades das organizações. Em particular, as organizações pequenas e médias não possuem recursos suficientes para adotar o uso de processos pesados. Por esta razão, muitas organizações não utilizam nenhum processo. O resultado desta falta de sistematização na produção de software é a baixa qualidade do produto final, além de dificultar a entrega do software nos prazos e custos pré-definidos e inviabilizar a futura evolução do software.” (SOARES)
“Dentre os vários processos de software existentes, existem as Metodologias Tradicionais, que são orientadas a documentação e as Metodologias Ágeis que procuram desenvolver software com o mínimo de documentação.” (SOARES)
2. Metodologias tradicionais.
O Modelo Clássico/Seqüencial/Cascata é um modelo que existe uma sequência a ser seguida. Cada etapa possui uma documentação padrão que deve ser aprovada para que a nova etapa se inicie. De forma geral as etapas são:
O problema do Cascata é que pela divisão de etapas distintas ele é inflexível a mudanças que podem ocorrer a qualquer momento. Esse modelo só deve ser usado quando os requisitos são bem compreendidos.
Há também os Modelos Tradicionais: Espiral, Incremental, Prototipagem.
3. Metodologias Ágeis
Os conceitos chave do Manifesto Ágil são:
• Indivíduos e Iterações ao invés de processos e ferramentas;
• Software executável ao invés de documentação;
• Colaboração com o cliente ao invés de negociações de contratos;
• Respostas rápidas a mudanças ao invés de seguir planos;
“O “Manifesto Ágil” não rejeita os processos e ferramentas, a documentação, a negociação de contratos ou o planejamento, mas simplesmente mostra que eles têm importância secundária quando comparado com os indivíduos e interações, com o software estar executável, com a colaboração do cliente e as respostas rápidas a mudanças e alterações. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem a mudanças.“ (SOARES)
3.1 Metodologia Ágil - SCRUM
É utilizada para o desenvolvimento de produtos complexos e emprega uma abordagem iterativa e incremental para otimizar a previsibilidade e controlar os riscos.
Um dos pilares da SCRUM é a adaptação. Quando um ou mais dos processos estão fora dos limites aceitáveis ou quando se percebe que o produto resultante será inaceitável, o processo ou o material utilizados deve ser ajustados. Esses ajustes devem ser feitos o mais rápido possível para evitar desvios posteriores. Existem três pontos importantes para que essa adaptação seja colocada em prática.
A Reunião Diária é utilizada para inspecionar o projeto no sentido de acompanhar o progresso em direção a meta do SPRINT é otimizar o próximo dia de trabalho. “Finalmente, a Retrospectiva da Sprint é utilizada para revisar a Sprint passada e definir que adaptações tornarão a próxima Sprint mais produtiva, recompensadora e gratificante.“ (Ken Schwaber, 2011)
O coração do Scrum é o Sprint que é uma iteração por período de tempo, sendo que, todo Sprint tem como resultado um incremento do produto final que é potencialmente integrável.
Os principais artefatos (subprodutos) produzidos pelo SCRUM são:
Backlog do produto – é uma lista priorizada de tudo que pode ser necessário ao produto;
Backlog da Sprint – é uma lista de tarefas da Sprint para transformar o Backlog do produto em um incremento do produto.
Os TimeScrum são auto-organizáveis, interdisciplinares e trabalham em iterações. Existem três papéis dentro do Time Scrum:
ScrumMaster: responsável por garantir que o TimeScrum esteja aderindo aos valores Scrum, as práticas e as regras. ”O ScrumMaster educa o TimeScrum treinando-o e levando-o a ser mais produtivo e a desenvolver produtos de maior qualidade“. O ScrumMaster gerencia o Time Scrum.
Product Owner: responsável por garantir o valor do trabalho realizado pelo time e gerencia o Backlog do produto. Todos na organização devem respeitar as suas decisões. Estabelece o conjunto de prioridades que o time deve atender (priorização do Backlog do Produto). Sendo que um Product Owner pode trabalhar no desenvolvimento.
Time: conjunto de desenvolvedores que transforma o Backlog do produto em incrementos de funcionalidades que devem ser entregues a cada Sprint. “Membros do Time freqüentemente possuem conhecimentos especializados, como programação, controle de qualidade, análise de negócios, arquitetura, projeto de interface de usuário ou projeto de banco de dados.”
Times-Boxes:
...