Estudo Comparativo Entre
Metodologias Ágeis e
Tradicionais
Aluno: Márcia Seabra Cabral
Professor: Augusto Sampaio
Disciplina: Tópicos Avançados em Engenharia de
Software 3
Agenda
•
•
•
•
•
•
•
•
Motivação
Metodologias Ágeis
Metodologias Tradicionais
Análise Entre as Metodologias
Trabalhos Relacionados
Conclusão
Trabalhos Futuros
Referências
Motivação
•
•
•
•
Preocupação da Engenharia de
Software em desenvolver sistemas
complexos
Criação de metodologias ágeis
Como usar metodologias tradicionais
para pequenos projetos
Custo e tempo são fatores críticos
Metodologias Ágeis
•
•
•
•
Crescente número de metodologias ágeis
Desenvolvimento de software menos
complexos
Conjunto de maneiras e princípios para
desenvolvimento de software
Não incorporam novidade no
desenvolvimento de software
Metodologias Tradicionais
•
•
•
Utilizadas para desenvolver sistemas
de grande porte
Classificadas como burocráticas
Não satisfatórias para projetos de
pequeno porte
Análise Entre as Metodologias
•
•
•
Estudo feito usando o RUP e XP
Identificação similaridades entre as
metodologias
É possível usar o RUP para
desenvolvimento de projetos de
pequeno porte?
•
Incorporação de práticas do XP
Análise Entre as Metodologias
•
Concepção
•
•
Importância da participação do cliente
Atividades essenciais
•
•
•
Formular o escopo do projeto
Planejar e preparar o estudo de viabilidade
Sintetizar uma arquitetura candidata
•
•
•
•
protótipos simples – inicia o escalonamento do projeto e
refinamento dos casos de uso
Preparar o ambiente para desenvolvimento do projeto
Planejamento da próxima iteração
Milestone
•
Visibilidade inicial dos casos de uso mais prioritários,
escalonamento do projeto e arquitetura inicial.
Análise Entre as Metodologias
•
Documentação – menos formalismo
•
•
•
•
•
Lista de risco – XP não descreve como os
riscos serão tratados
Plano de projeto
Plano de aceitação do projeto – XP usa
testes de aceitação
Plano de iteração – Técnicas de XP para
monitorar e medir o sucesso do projeto
Modelo de caso de Uso
Análise Entre as Metodologias
•
•
Elaboração
Atividades essenciais
•
•
•
•
Definir e validar a arquitetura
Refinar a visão do sistema
Criar planos de iteração para a fase de construção
Práticas
•
•
•
•
Criação de testes antes da codificação
Simplicidade
Propriedade coletiva do código
Integração contínua
Análise Entre as Metodologias
•
Documentação
Documento de arquitetura
• Plano de iteração
•
Análise Entre as Metodologias
•
•
Construção
Atividades essenciais
Gerenciar recursos e controlar
processos
• Desenvolver e testar componentes
•
Análise Entre as Metodologias
•
Práticas a serem adotadas
•
•
•
•
•
•
Comunicação
Testes
Integração contínua
Projeto simples
Código coletivo
Medições simples
Análise Entre as Metodologias
•
Documentação
Componente
• Material de treinamento
• Plano de deployment
• Plano de iteração
•
Análise Entre as Metodologias
•
•
Transição
Atividades essenciais
Finalizar material de suporte para o usuário
final
• Realizar testes no ambiente do consumidor
• Ajustar o produto com base no feedback do
consumidor
• Entregar o produto final ao usuário
•
Análise Entre as Metodologias
•
Documentação
Plano de deployment
• Release notes
• Material de treinamento e
documentação
•
Análise Entre as Metodologias
•
Revisões
•
•
Testes
•
•
•
Informais
Ênfase em caixa-branca
Avaliar iteração
Reuniões
Trabalhos Relacionados
•
RUP-pe – RUP para Pequenas Equipes
•
•
•
•
Planejamento e Implementação
Grupos de até 15 desenvolvedores
Alinhada ao TSP – alinhamento com o SWCMM
Validação da metodologia através de
questionários
•
Entrevistados –
•
•
Gerente/Líder de Equipe – 20 pessoas
Arquiteto/Engenheiro de Software – 18 pessoas
Trabalhos Relacionados
•
Objetivo do questionário
Verificar se alguma das práticas do RUPpe já tinham sido aplicadas, e quais
foram seus benefícios e problemas
• Verificação da importância dos artefatos
excluídos ou modificados
•
•
Três empresas foram entrevistadas
Trabalhos Relacionados
•
Planejamento
•
•
•
•
•
•
Iterações de curta duração – 2 a 4 semanas
Participação de toda a equipe no planejamento
Balanceamento constante da carga de trabalho entre a
equipe
Acompanhamento do progresso e dos problemas do
projeto através de encontros diários com a equipe
Uso de métricas para acompanhar o progresso do
projeto e melhorar estimativas e re-planejamento
Cliente ou especialista do negócio participando da
definição do escopo das iterações
Trabalhos Relacionados
•
Implementação
•
•
•
•
•
•
•
Adoção de um padrão de codificação
Integração contínua
Programação em pares
Desenvolvimento de testes unitários para todo
o sistema, com execução automatizada
Elaboração dos testes antes do início da
implementação
Refactoring do Código
Propriedade Coletiva do Código
Trabalhos Relacionados
•
Artefatos
•
Eliminados
•
•
•
•
Plano de Resolução de Problemas
Plano de Gerenciamento de Riscos
Avaliação da Iteração – incorporado na
Avaliação de Status
Atualizados
•
•
Ordem de Trabalho
Avaliação de Status
Conclusão
•
•
•
As práticas de XP já são utilizadas pelas
equipes de desenvolvimento e trazem
benefícios ao projeto
Artefatos e atividades essenciais da
processo podem ser aplicadas
Não existe uma abordagem a ser seguida
para definição de estratégias de testes
caixa-branca, necessitando da experiência
da equipe
Trabalhos Futuros
•
•
•
Análise do RUP Versão 7 para
pequenos projetos em relação a
metodologias ágeis.
Instanciar o RUP-pe para incorporar
o processo Code Coverage.
Instanciar a proposta da monografia
ao nível de disciplinas do RUP.
Referências
•
•
•
•
•
•
•
Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J. Agile Software Development
Methods: Reviews and Analysis. ESPOO: VTT Publications, 2002. Disponível em:
<http://www.inf.vtt.fi/pdf/publications/2002/P478.pdf>. Acesso em: 18 jan. 2006
[Beck, 1999a]. Beck, K. Embracing Change with Extreme Programming. IEEE
Computer 32(10): 70-77.
[Cause, 2004]. Cause, G. Delivering Real Business Value using FDD. 2004.
Disponível em: <http://www.methodsandtools.com/archive/archive.php?id=19>.
Acesso em: 04 fev. 2006.
[Miller, 2001]. Miller, G. G. The characteristics of Agile Software Process. The 39th
International Conference of Object-Oriented Languages and Systems (TOOLS 39),
Santa Barbara, CA.
[Oliveira, 2003]. Oliveira, J. P. C. RUP-pe: Uma Metodologia Ágil, Baseada no RUP
e no TSP, para Pequenas Equipes. Dissertação de Mestrado. Centro de
Informática. Universidade Federal de Pernambuco. Setembro, 2003.
[Rational, 2003]. Rational Unified Process. Version 2003.06.13.
[Costa Filho et al, 2005]. Costa Filho, E. G., Penteado, R., Silva, J. C. A., Braga, R.
T. V. Padrões e Métodos Ágeis:agilidade no processo de desenvolvimento de
software. SugarLoafPLoP’2005. 5th Latin American Conference on Pattern
Languages of Programming. August 16-19, 2005. Disponível em:
<http://sugarloafplop2005.icmc.usp.br>. Acesso em: 18 jan. 2006.
Download

metodologias - Centro de Informática da UFPE