ComparaçãoentreMetodologias Rational Unified Process (RUP...

13
11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA 1 Comparação entre Metodologias Rational Unified Process (RUP) e eXtreme Programming(XP) Fundamentos de Engenharia de Software PPGIA Carlos G. Vasco, Marcelo H. Vithoft, Paulo R. Estante Design and programming are human activities; forget that and all is lost. Bjarne Stroustrup, 1991

Transcript of ComparaçãoentreMetodologias Rational Unified Process (RUP...

Page 1: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

1

Comparação entre MetodologiasRational Unified Process (RUP)

eeXtreme Programming(XP)

Fundamentos de Engenharia de Software PPGIA

Carlos G. Vasco, Marcelo H. Vithoft, Paulo R. Estante

Design and programming are human activities; forget that and all is lost. Bjarne Stroustrup, 1991

Page 2: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

2

Introdução

Sucesso projeto = planejamento + escolha metodologia adequadaPlanejamento- escolha do processo de acordo com recursos disponíveis.

Metodologias� Tradicional (waterfall)- etapas seqüências. Grande esforço em especificar e definir arquitetura.

� Cíclica (RUP e XP)- ciclos reduzem riscos quando ocorrem alterações de requisitos ou funcionalidades.

Cíclica divide-se em:� Iterativas- forma incremental, a cada iteração nova parte, aprendizado da equipe. Iteração meses.

� Ágeis- redução riscos, a cada iterações liberada uma versão com restrições. Foca aspectos humanos. Iteração semanas.

Page 3: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

3

RUP

Objetivo: Processo busca disciplinar atribuições de tarefas e responsabilidades

Guia para produção de SW onde o desenvolvimento iterativo auxilia no refinamento e redução de riscos.

Valores:-Projeto baseado em casos de uso (base)-Faz-se aderência do processo-Suportado por ferramentas

Elementos primários:-Papéis (quem está fazendo o que)-Artefatos (o que é produzido)-Atividades (como o trabalho é conduzido)-Workflows (quando uma tarefa é conduzida)

Page 4: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

4

RUP Arquitetura

Executadas durante todo projeto (intensidade variada). 4 fases definidas

Iterações, várias dentro de uma fase.

Aspecto dinâmico

Ciclos, fases, iterações e milestones.

Aspecto estático

Atividades

Disciplinas

Artefatos

Papéis

Page 5: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

5

XP

Objetivo: Processo estressa trabalho em equipe, feedback e a comunicação

Elemento chave é iteração. Principal tarefa codificação.Atender demanda em cenários onde os requisitos não estão claros ou são voláteis.

Valores:-Comunicação-Feedback-Simplicidade-Coragem

Atividades:-Codificação-Teste-Escuta-Projeto

Papéis:-Programador-Cliente (membro da

equipe!)-Testador-Tracker(feedback)-Líder(Couch)

Page 6: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

6

XP Arquitetura

6 fases

Page 7: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

7

XP

Porque XP é designada como ágil? Iterações freqüentes.

Principal tarefa

Page 8: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

8

Comparativo

Análise inicial indica que RUP/XP possuem mesma estrutura (baseadas iterações, orientadas a cliente e definição de papéis)

Formas de análise mais detalhadas:• Quantitativa (necessário 2 projetos em paralelo, custo elevado)Itens mensuráveis, papéis, artefatos, esforço, etc.

• Qualitativa (avaliação por framework, mais barata) FrameWork- conjunto de questões extendidas para domínio específico.

Zachman´s, 6 categorias: o que, como, onde, quem, quando e porque (foco em funções e processos)

Checkland´s Client Actor Transformation World OwnerEnvironment (foco em indivíduos)

Page 9: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

9

Comparativo (questões)

� O que (what)?

RUP- evoluiu junto UML. Grandes projetos. Tool comercial(Rational/IBM)

XP- método leve para times pequenos e médios. Tool freeware.

� Porque (why)? 3 perpectivas (vantagens/desvantagens)

Técnica-RUP pacote ferramentas/docs. XP simplicidade(livre tool)

Financeira-RUP licença tool, suporte IBM. XP porque pagar tool?Social- mesma linha da discussão comercial vs freeware

� Quando/Onde (when/where)?

Tempo- RUP 4 fases seqüenciais, é 1 ciclo de desenv., gera 1 versão SW. XP foca código produzido (independente tempo)

Localização- RUP aplica-se melhor a projetos com grande distribuição (comunicação baseada em artefatos). XP comunicação oral (pouca documentação) dificuldade com distribuição.

Page 10: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

10

Comparativo (questões)

� Como (how)?

Extensão- RUP grande coleção de docs, papéis, descrições, atividades. “pesado” . XP “leve” poucos papéis, poucos docs.

Flexibilidade- 2 dizem ser, RUP pelo tayloring e XP mudanças baseadas em feedback.

Drivers- RUP (casos de uso) descrições são implementadas, integradas e testadas. XP (projeto baseado em teste) casos de teste criados antes do código. Estórias para guiar o que deve ser implementado.

Planejamento- Completo não pode ser feito em detalhes. RUP mudanças contínuas. XP somente o futuro muito próximo.

� Quem (who)?

XP- foca no desenvolvedor individual (poder ao nível técnico), time(programação par, cliente faz parte equipe).

RUP- enfâse em papéis (tayloring), documentação (necessário motivar equipe para criá-la e mantê-la)

Page 11: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

11

Comparação

Artefatos (Modelos, códigos, etc)

Adquiridas IBM

Análise detalhada,Milestones

49 30

Uso em grandes projetos (Distribuição Geográfica)

Oral, Cartões de Estória

Não especifica, porém háSoftwares Livre para XP

Maior esforço em produzir o software

647

Restrito as projetos “locais”

Comunicação /Documentação

Ferramentas

Planejamento

Fases / Disciplinas /

Papéis

Magnitude de Projetos

RUP XP

Page 12: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

12

Conclusão

Apesar de metodologias iterativas, muitas palavras chaves e valores parecidos, são diferentes.

RUP- larga descrição processo, artefatos, papéis, atividades...XP- extressa valores e princípios, foca na liberdade e simplicidade.É possível paralelo com Windows (comercial) e Linux(freeware).

Qual atende melhor?� Necessário mais estudos de caráter qualitativos e quantitativos.

Page 13: ComparaçãoentreMetodologias Rational Unified Process (RUP ...alcides/Teaching/mestrado/FundamentosEngenh... · Guia para produção de SW onde o desenvolvimento iterativo auxilia

11 de maio de 2006 Fundamentos de Engenharia de Software - PPGIA

13

Referências

• Smith, J. (2003) "A Comparison of the IBM Rational Unified Process and eXtreme Programming", IBM Whitepaper, ftp://ftp.software.ibm.com/software/rational/web/whitepapers/2003/TP167.pdf, Abril.

• Abrahamsson, P., Salo, O., Ronkainen, J. and Warsta J. (2002) "Agile Software Development Methods: Review and Analysis", Espoo 2002, VTT Publications 478.

• Beck, K. and Fowler, M. (2000) "Planning Extreme Programming", Addison Wesley, 1a edição.

• Kruchten, P. (2000) "The Rational Unified Process – An Introduction", Addison-Wesley 2a edição.

• Luiz, R. (2005) “Obtendo Qualidade de Software com o RUP”, TCC, Universidade de Uberaba.

• Runeson, P. and Greberg, P. (2004) "Extreme Programming and Rational Unified Process – Contrasts or Synonyms?", Lund University, Sweden.