A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Uma Metodologia Ágil, Baseada no RUP e no TSP, Para Pequenas Equipes

Apresentações semelhantes


Apresentação em tema: "Uma Metodologia Ágil, Baseada no RUP e no TSP, Para Pequenas Equipes"— Transcrição da apresentação:

1 Uma Metodologia Ágil, Baseada no RUP e no TSP, Para Pequenas Equipes
Joaquim Pedro C. de Oliveira Orientador: Alexandre Vasconcelos Dissertação de Mestrado Setembro de 2003

2 Roteiro Motivação Definição do RUP-pe Análise Crítica do RUP-pe
Metodologias Ágeis Team Software Process Disciplinas de Implementação e Gerenciamento de Projeto Análise Crítica do RUP-pe Conclusões 2/46

3 Por que usar uma metodologia?
Metodologias são cada vez mais necessárias para o desenvolvimento de software Competitividade Sucesso independente dos valores individuais Qualidade do produto final Custo e prazo mais próximos do planejado 3/46

4 Fazer software com sucesso ainda é difícil
Fonte: Chaos Report 2000/2001 4/46

5 Pequenos projetos, grandes negócios
Fonte: Chaos Report 2000/2001 5/46

6 Pequenas equipes precisam de metodologias específicas
Características próprias Comunicação mais ágil Menor formalismo, na maioria dos casos Perigo de overhead das atividades do processo Agilidade no desenvolvimento É preciso fazer bem feito, mas é preciso fazer logo 6/46

7 Mas esta escolha não é uma tarefa fácil...
Metodologias tradicionais Muitas atividades, muitos produtos de trabalho, muitos detalhes Adaptação é imprescindível Porém, é trabalhosa e custosa 7/46

8 Mas esta escolha não é uma tarefa fácil...
Metodologias ágeis Descrições simplificadas Atividades “implícitas” Falta de “material de apoio”: modelos de documentos, guias, etc... Dificuldade de alinhamento com modelos de qualidade 8/46

9 RUP-pe: Visão Geral Metodologia voltada para equipes de até 15 desenvolvedores Definida com base em 3 “pilares”: RUP Metodologias Ágeis, em especial XP e Scrum TSP Disponibilizada na forma de website 9/46

10 Rational Unified Process (RUP)
Framework para processos de desenvolvimento, bem estabelecido na comunidade Possui descrições detalhadas de várias atividades de desenvolvimento Focado na definição de uma arquitetura estável e na mitigação dos riscos Fornece uma boa base para a definição de metodologias 10/46

11 RUP – Ciclo de Vida 11/46

12 Metodologias Ágeis Abordagem mais informal e objetiva para o desenvolvimento de software Várias propostas, muitos pontos em comum: Iterações curtas Planos de curto prazo Foco em comunicação em vez de documentação Envolvimento do cliente, feedback constante Formação de equipe motivada e envolvida Entregas freqüentes de executável 12/46

13 Metodologias Ágeis Exemplos: Extreme Programmming (XP) DSDM FDD Scrum
Crystal Clear 13/46

14 Team Software Process (TSP)
Proposto por Watts Humphrey, criador do CMM Voltado para a formação de equipes de desenvolvimento de alta produtividade Focado em métricas e inspeções Atividades descritas na forma de scripts Versão adotada: TSPi, voltada para o ensino do TSP 14/46

15 TSP – Ciclo de Vida . . . 15/46 Ciclo 1 Ciclo 2 Ciclo Final
Lançamento Estratégia Requisitos Planejamento Projeto Implementação Testes Postmortem Ciclo 1 Ciclo 2 . . . Ciclo Final Produto Final 15/46

16 TSP – Pontos Fortes Formação de uma equipe coesa, que busca um objetivo comum Suas práticas melhoram o gerenciamento do projeto Completamente alinhado com o SW-CMM, funcionando como “catalisador” 16/46

17 TSP e SW-CMM Práticas de Projeto
Fonte: SEI - TR 008/2002 17/46

18 TSP e SW-CMM Práticas da Organização
Fonte: SEI - TR 008/2002 18/46

19 TSP – Pontos Fracos Requer treinamento prévio em Personal Software Process (PSP) Não possui modelos de documentos Não entra em detalhes sobre a execução das atividades 19/46

20 RUP-pe: Visão Geral Mesmo ciclo de vida e estrutura do RUP
Iterativo e incremental, dividido em fases Descrito na forma de atividades, artefatos e responsáveis Disciplinas definidas: Implementação e Gerenciamento de Projeto Importância para o desenvolvimento do projeto Cobertura das disciplinas do RUP 20/46

21 RUP-pe: Visão Geral Adoção de práticas das Metodologias Ágeis para a execução das atividades Fluxos das atividades possuem correspondência com os scripts do TSP Alinhamento com o SW-CMM 21/46

22 RUP-pe: Implementação
22/46

23 RUP-pe: Implementação
23/46

24 Implementação: Principais Modificações
Planejar integração Integração contínua Implementar componente Programação em Pares Test-first Development Refatoramento do código Padrão de Codificação 24/46

25 Implementação: Principais Modificações
Consertar defeito Propriedade coletiva do código Escrever novo teste unitário para revelar o defeito Executar testes unitários Testes unitários automatizados Integrar componentes ao sistema Integração contínua 25/46

26 Implementação: Atividades
26/46

27 Implementação: Artefatos
27/46

28 Implementação: Comparação com o RUP original
10 atividades 4 papéis e 5 artefatos RUP-pe 6 atividades, 3 reformuladas 3 papéis e 5 artefatos 6 práticas de XP Atende 9 dos 12 passos do script IMP1 e os 2 passo do script TEST1 que dizem respeito à integração 28/46

29 RUP-pe: Gerenciamento de Projeto
29/46

30 Gerenciamento de Projeto: Principais Modificações
Envolvimento da equipe nas atividades de planejamento e de acompanhamento Iterações time-boxed de curta duração (entre 2 e 4 semanas) Cliente ou especialista do negócio priorizando casos de uso da iteração Uso de métricas para acompanhamento e replanejamento 30/46

31 Gerenciamento de Projeto: Principais Modificações
Desenvolver Plano de Iteração Iterações de curta duração Participação do cliente/especialista do negócio na priorização dos casos de uso Os riscos ainda devem ser levado em conta Participação de toda a equipe nas estimativas e divisão de tarefas Monitorar Status Encontros diários de curta duração (stand-up meetings) 31/46

32 Gerenciamento de Projeto: Principais Modificações
Agendar e Distribuir Tarefas Durante os encontros diários Replanejamento com a participação de toda a equipe Tratar Problemas e Exceções Realizar Revisão de Marco Intermediário Validações constantes com o cliente sobre o progresso do projeto 32/46

33 Gerenciamento de Projeto: Atividades
33/46

34 Gerenciamento de Projetos: Artefatos
34/46

35 Gerenciamento de Projeto: Comparação com o RUP original
30 atividades 2 papéis envolvidos 15 artefatos RUP-pe: 24 atividades, 5 reformuladas 11 artefatos 2 práticas de XP, podendo ser adotadas outras, como “40h/semana”. Contempla 20 dos 33 passos dos scripts do TSP relacionados 35/46

36 Análise Crítica do RUP-pe
Cenário ideal Aplicação em um projeto real, acompanhado do início ao final Validação de todas as atividades propostas e refinamento da metodologia Problemas Dificuldade de aplicação em um projeto real Necessidade de acompanhar o projeto até o final demanda um tempo considerável 36/46

37 Análise Crítica do RUP-pe
Como foi feita Distribuição de questionários em 3 empresas do ecossistema de Recife Gerente de Projeto/Líder de Equipe: práticas de Gerenciamento de Projeto, artefatos afetados. Arquiteto/Engenheiro de Software: práticas de Implementação e Gerenciamento de Projeto, artefatos afetados. Objetivo: identificar a viabilidade da proposta e levantar a aplicação de algumas das práticas 37/46

38 Análise Crítica do RUP-pe
Não é o ideal, mas possui algumas vantagens: Diversos perfis de profissionais, diversos cenários Não é necessário esperar o fim do projeto Exemplo de questionário 38/46

39 Análise Crítica do RUP-pe
Foram distribuídos 38 questionários 20 do perfil Gerente/Líder 18 do perfil Arquiteto/Engenheiro Deste total, 22 foram devolvidos 6 do perfil Gerente/Líder 16 do perfil Arquiteto/Engenheiro 39/46

40 Análise Crítica do RUP-pe Práticas de Gerenciamento
Já utilizou em ao menos 1 projeto Não utilizou, mas julga benéfica Iterações curtas 68% 32% Participação da equipe no planejamento 77% 23% Balanceamento constante da carga de trabalho Acompanhamento diário do projeto 37% 31% Uso de métricas para acompanhamento e melhoria de estimativas 36% 64% Participação do cliente/especialista no planejamento da iteração 41% 54% 40/46

41 Análise Crítica do RUP-pe Práticas de Implementação
Já utilizou em ao menos 1 projeto Não utilizou, mas julga benéfica Padrão de Codificação 87% 13% Integração Contínua 56% 31% Programação em Pares Utilizar testes unitários automatizados 38% Desenvolver testes unitários antes da implementação 25% 44% Refatoramento do código 50% Propriedade Coletiva do Código 41/46

42 Conclusões O RUP-pe é uma metodologia
Adequada às necessidades das pequenas equipes Um meio termo entre as metodologias tradicionais e as metodologias ágeis Contém as atividades necessárias sem burocracia excessiva Alinhada, desde sua definição, com um modelo de qualidade reconhecido Qualidade do processo Diferencial para empresas de pequeno porte 42/46

43 Conclusões A proposta mostrou-se viável, na opinião dos entrevistados
Várias práticas propostas já vêm sendo aplicadas por diversos desenvolvedores Grande parte das práticas ainda não adotadas foi considerada benéfica O website fornece um suporte às equipes que desejarem utilizá-la 43/46

44 Dificuldades Encontradas
Complexidade do processo de software Definição de somente duas disciplinas Bibliografia escassa sobre TSP A única versão detalhada disponível é a do TSPi Artigos sobre benefícios são recentes Aplicação em um projeto real 44/46

45 Trabalhos Futuros Definição das demais disciplinas
Aplicação em projetos reais Refinamento da metodologia Elaboração de guias específicos Exemplos: programação em pares, integração contínua, test-first development 45/46

46 Uma Metodologia Ágil, Baseada no RUP e no TSP, Para Pequenas Equipes
Joaquim Pedro C. de Oliveira Orientador: Alexandre Vasconcelos Dissertação de Mestrado Setembro de 2003


Carregar ppt "Uma Metodologia Ágil, Baseada no RUP e no TSP, Para Pequenas Equipes"

Apresentações semelhantes


Anúncios Google