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

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

Gestão de projetos de Software GTI-16 Aula 4 Metodologias ágeis.

Apresentações semelhantes


Apresentação em tema: "Gestão de projetos de Software GTI-16 Aula 4 Metodologias ágeis."— Transcrição da apresentação:

1 Gestão de projetos de Software GTI-16 Aula 4 Metodologias ágeis

2 Ger. Proj. de SoftwareGTI Metodologias tradicionais Fluxo do processo –Organização e sequenciamento de atividades gerando ou atualizando artefatos até se atingir o objetivo do projeto. Idéia inicial: receita de bolo –Se seguirmos todos os passos, o projeto terá sucesso –FOCO PROCESSO Hoje –Tem-se mudado o foco para pessoas (áreas criativas) Ex: Documentação para comunicação (100 páginas) –Tem-se dado atenção às mudanças Ex. Quando documentação com 100 páginas será atualizada?

3 Ger. Proj. de SoftwareGTI Agilidade O que é agilidade? –Habilidade de criar e responder a mudanças do maneira a aproveitar as mudanças no ambiente (Highsmith) Linha de pensamento revolucionária –Precisamos parar de tentar evitar mudanças Metodologias ágeis –Coleção de práticas organizadas para modelagem e desenvolvimento de software –Filosofia onde muitas metodologias se encaixam Definem um conjunto de atitudes e não processo prescritivo –Completam alguns métodos existentes

4 Ger. Proj. de SoftwareGTI Metodologias ágeis Reação às metodologias tradicionais Manifesto ágil (2001) –Agile Alliance –Princípios Indivíduos e interações são mais importantes que processos e ferramentas Software funcionando é mais importante que documentação completa Colaboração com o cliente é mais importante que negociação com contratos Adaptação às mudanças é mais importante que seguir um plano

5 Ger. Proj. de SoftwareGTI Características gerais Procuram minimizar riscos desenvolvendo software em pequenos espaços de tempo (iterações) Cada iteração é como um pequeno projeto –Planejamento, requisitos, projeto, codificação, testes... Objetivo de cada iteração –produzir componentes de software –Arquitetura vai sendo desenhada a partir da refatoração dos componentes Enfatizam comunicação cara a cara em relação à documentação

6 Ger. Proj. de SoftwareGTI Comparação com outras abordagens Métodos Preditivos vs. Adaptativos –Preditivos Enfatiza o planejamento de ações em detalhe A equipe pode saber que funcionalidade e tarefas farão nas etapas seguintes no processo de desenvolvimento Mudanças podem obrigar a refazer todo o planejamento –Adaptativos Enfatiza as mudanças e suas conseqüentes adaptações A equipe não sabe o que irá fazer a médio e longo prazo Problemas são encarados a medida que eles chegam Métodos ágeis vs. Outros métodos iterativos –Iterativos Em geral, a iteração é definida por objetivo –Ágeis Iteração curta, em um tempo fixo, de algumas semanas (2-4 sem.)

7 Ger. Proj. de SoftwareGTI Conceitos equivocados Métodos ágeis são geralmente comparados a metodologias orientadas ao planejamento –Não são orientadas à predição, porém há planejamento Geralmente associado ao estilo cowboy –Em geral, requer mais disciplina que metodologias preditivas É uma metodologia a parte –Descrevem práticas, atitudes e princípios –Pode ser combinado a outros métodos AgileUP

8 Ger. Proj. de SoftwareGTI Críticas Não provê documentação necessária –Dificuldades após o projeto Funciona apenas para equipes experientes –Práticas disciplinadas e rigorosas Pouca atenção ao projeto de software (arquitetura) –Em geral, a arquitetura é definida de baixo pra cima Requer uma grande mudança cultural na organização para ser adotado –Ex.1: necessidade do cliente fazer parte da equipe –Ex.2: Patrocinadores do projeto querem saber exatamente o que será feito e quando

9 Ger. Proj. de SoftwareGTI Quando usar o quê? Metodologias ágeisMetodologias preditivas Projetos pouco críticosProjetos altamente crítico Equipe experienteEquipe iniciante Com mudanças constantesCom poucas mudanças Pequena equipe ( 10 )Equipes maiores ( 20) Equipe co-localizadaEquipe distribuída Cultura de adaptaçãoCultura de controle

10 Ger. Proj. de SoftwareGTI Métodos ágeis em grande empresas Microsoft Lauds 'Scrum' for Software Development Projects, by David K. Taft. eWeek, 11 Nov –When Microsoft launched its long-awaited database and tools products last week, the company acknowledged it would have to act faster to revise its products faster as customer needs grow. One way Microsoft's development teams intend to deliver on this is through the use of agile development methodologies, such as extreme programming and Scrum, company officials said.

11 Ger. Proj. de SoftwareGTI Scrum Proposto por Ken Schwaber em 1996 –Controlled Chaos: Living on the Edge. Cutter IT Journal –Especialista em metodologias orientadas a processo 80´s –Defende que desenvolvimento de software deve ser empírico Cada caso é diferente e deve ser adaptado –Gerentes de projeto são forçados a viver uma mentira – eles devem achar que são capazes de planejar, fazer predições e entregar os produtos (conforme planejado) Scrum tem como premissa mudanças constantes Define um framework p/ gerenciamento de projetos

12 Ger. Proj. de SoftwareGTI Conceitos básicos Papéis –Proprietário do produto (gerente de produtos, cliente interno, etc) –ScrumMaster (Líder do projeto. Facilitador) –Equipe do projeto (Programadores, QA, Designer de interface, etc) Fases –Pre-sprint (reunião de planejamento do Sprint) Identificação de funcionalidades Planejamento para o próximo Sprint –Sprint Período de desenvolvimento Período fixo de 30 dias –Pos-Sprint (reunião de avaliação do Sprint) Rever o progresso do projeto Mostrar o estado de funcionalidades para os clientes Rever o projeto do ponto de vista técnico

13 Ger. Proj. de SoftwareGTI O processo Scrum

14 Ger. Proj. de SoftwareGTI Reunião de planejamento Proprietário do produto descreve as features prioritárias –Definição do Backlog do produto Equipe do projeto escolhe as features do backlog do produto para o backlog do próximo Sprint Ambos definem o objetivo do Sprint –Breve descrição do que seria sucesso ao final do Sprint Equipe pode se reunir para definir até onde podem ir no Sprint e negociar com o Proprietário do produto

15 Ger. Proj. de SoftwareGTI Backlog do produto

16 Ger. Proj. de SoftwareGTI Backlog do Sprint

17 Ger. Proj. de SoftwareGTI Scrum diário Reunião rápida de acompanhamento diário Não tem como objetivo em resolver problemas, mas responder as questões –O que foi feito ontem? –O que será feito hoje? –Há algum impedimento no caminho? Não é uma atribuição de tarefas!!! Dizer o que será feito de forma precisa –Ex: vou continuar trabalhando no portal não diz NADA! Impedimentos sob a responsabilidade do ScrumMaster

18 Ger. Proj. de SoftwareGTI Atualização do Sprint backlog O ScrumMaster atualiza diariamente o backlog

19 Ger. Proj. de SoftwareGTI Reunião de revisão Reunião ao final de cada Sprint (30 dias) Participantes –Proprietário do projeto –Equipe do projeto –Clientes Equipe mostra o que eles alcançaram O que oi alcançado é comparado ao objetivo do Sprint (definido na reunião inicial) –É mais importante fechar o objetivo que as tarefas individuais

20 Ger. Proj. de SoftwareGTI XP – eXtreme Programming Criada por Kent Beck –Projeto da Daimler-Chrysler (de 1997 a 1999) Valores –Simplicidade Tente sempre desenvolver a solução mais simples possível Soluções devem responder aos requisitos, e nada mais que isso –Comunicação Comunicação cara-a-cara; cliente na equipe –Coragem Colocar o cliente (chefe) a par de tudo Fazer o que precisa ser feito (exemplo: jogar fora código ruim) –Retorno Dê retorno cedo, concreto (através de testes) e constantemente –Respeito Evite complicar o trabalho dos demais. Preserve a qualidade do código, do design.

21 Ger. Proj. de SoftwareGTI Práticas do XP Retorno detalhado –Jogo do planejamento –Desenvolvimento dirigido a testes –Equipe completa (cliente sempre disponível) –Programação em pares Processo contínuo –Evolução do design (refatoramento) –Integração contínua –Pequenas releases Compreensão compartilhada –Projeto simples –Uso de metáforas –Padrões e convenções de código –Propriedade coletiva Bem estar da equipe –Desenvolvimento sustentável (40-horas / semana)

22 Ger. Proj. de SoftwareGTI Papéis Dono da grana (GoldOwner) –Patrocinador (quem paga pelo software) Dono dos objetivos (GoalOwner) –Quem define os requisitos (em geral, um usuário) Gerente –Facilitador do projeto Testador de aceitação –Define os critérios de aceitação junto ao cliente Programador –Responsável pela implementação Rastreador –Coleta sinais do projeto (métricas). Avalia desempenho Técnico –Especialista do processo. Dá suporte à equipe que está mudando.

23 Ger. Proj. de SoftwareGTI Atividades Implementação –Código é o item mais importante para o XP –Diagramação em ferramentas que geram automaticamente código, também é considerado codificação Teste –Teste de código (testes unitários) –Testes de aceitação (se o que você fez corresponde aos requisitos) Escuta –Atividade realizada durante o aprendizado com o usuário Projeto –A medida que o sistema vai ficando complexo, mudanças no projeto do software precisam ser adotadas

24 Ger. Proj. de SoftwareGTI Jogo do Planejamento Planejamento de uma release –Determinar quais requisitos devem ser levados em conta para a próxima release –Fases Exploração: requisitos do sistema Aceitação: concordância com os requisitos e a data da próxima release Ajuste: plano pode ser alterado e requisitos modificados Planejamento de uma iteração –Planeja as atividades e tarefas para os desenvolvimento –Fases Exploração: de requisitos a tarefas Aceitação: tarefas atribuídas e estimadas Ajuste: Tarefas são realizadas e a performance medida

25 Ger. Proj. de SoftwareGTI Atividade em grupo


Carregar ppt "Gestão de projetos de Software GTI-16 Aula 4 Metodologias ágeis."

Apresentações semelhantes


Anúncios Google