estudo comparativo entre metodologias Ágeis e tradicionais aluno: márcia seabra cabral professor:...
TRANSCRIPT
Estudo Comparativo Entre Metodologias Ágeis e Tradicionais
Aluno: Márcia Seabra CabralProfessor: Augusto SampaioDisciplina: 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• Informais
• Testes• Ê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 SW-CMM
• 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 RUP-
pe 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.