Programação Extrema Práticas do XP (Programação em Pares e Stand Up Meeting) Prof. Mauro Lopes 1-17 31
Objetivos Após explorarmos os Valores e as Práticas do XP, iremos trabalhar de forma mais profunda as práticas que fazem parte do dia a dia do XP. Neste encontro iremos tratar das Práticas: Stand Up Meeting e Programação em Par. Após esta aula o aluno já poderá pensar de forma mais efetiva no desenvolvimento baseado na metodologia XP. 2
Stand Up Meeting Reunião em pé Propósitos Plano de Aula Stand Up Meeting e o Jogo do Planejamento Freqüência Programação em Par Efeitos sobre a produtividade da equipe A pressão do par Revezamento Disseminação do Conhecimento Desafios da programação em par 3
Stand Up Meeting Reunião em pé Um dia de trabalho no XP sempre começa com um stand up meeting; É uma reunião rápida (em torno de 10 minutos) que envolve todos os membros da equipe (relembrem o Daily Scrum); 4
Stand Up Meeting Propósitos Todos os membros comentam rapidamente o trabalho que executaram no dia anterior (forma de acompanhar o andamento do projeto, apresentar os desafios encontrados, etc); Conhecer os problemas o quanto antes para que possamos rapidamente discutir as soluções que podem ser utilizadas; Decidir o que será feito no dia que se inicia (priorizar as atividades dos membros da equipe); 5
Stand Up Meeting Stand Up Meeting e o Jogo do Planejamento No início de cada iteração cliente e equipe se reúnem para o Jogo do Planejamento; O resultado é um conjunto de cartões com estórias que deverão ser implementadas; O Stand up meeting ajuda, enquanto reunião, a decidir o que cada membro deverá fazer no decorrer do dia (o que implementar); Esta é uma decisão tomada em equipe. 6
Frequência Tem de ocorrer todos os dias; Stand Up Meeting Pouco adianta fazer esta reunião uma vez ou outra; Seu grande diferencial ocorre quando elas fazem parte do desenvolvimento e acontecem diariamente. 7
Programação em Par É uma técnica na qual dois programadores trabalham em um mesmo problema, ao mesmo tempo e em um mesmo computador. Auxilia em ações como: Revisão de Código; Modelar uma solução; Buscar idéias mais eficazes e mais simples. Piloto e Copiloto 8
Programação em Par Efeitos sobre a Produtividade: Enquanto meu par esta programando vou ficar aqui do lado pensando no jogo do domingo...será que meu time vai ganhar? Apesar de apenas um programador estar digitando, ambos estão programando (discutem melhores alternativas, corrigem erros, analisam cenários, etc); Ganhamos tempo ou perdemos tempo programando em par? O código gerado pelo par é quase livre de defeitos (a revisão do código é constante); Erros podem sempre existir, mas a prática da programação em par reduz a quantidade e poupa o tempo da equipe. 9
Programação em Par Efeitos sobre a Produtividade: Pressão do Par Ler emails, mensagens instantâneas, sites da internet, bate-papo com os colegas, etc...tudo isso gera desvio de atenção; Por pressão do par o compromisso de programar deixa de ser individual mas também engloba o seu par; Par1: Vou olhar meus emails!!! Par2: Que email é esse? Par1: Ei não olha isso não, deixe de ser bisbilhoteiro!!! Par2:???? A pressão do par é um elemento sutil, mas extremamente poderoso para manter o foco. 10
Programação em Par Efeitos sobre a Produtividade: Revezamento A condução da programação é uma atividade que deve ser realizada sempre por ambos os programadores que formam um par; Importante que o revezamento ocorra diversas vezes durante o dia (cansaço por digitar, visão diferente da codificação, etc); O revezamento vai além da troca do processo de digitação, ele leva a mudança do par; A mudança do par leva a disseminação do conhecimento. 11
Programação em Par Efeitos sobre a Produtividade: Disseminação do Conhecimento Os Pares podem possuir diferentes níveis de conhecimento Conhecimento Técnico; Conhecimento do Projeto; Experiência em desenvolvimento; Imagine um Desenvolvedor mais experiente sendo o par de Desenvolvedor novato; A Programação em Par abre espaço para um aprendizado contínuo; A Programação em Par busca potencializar o que há de melhor em cada um e suprimir falhas; E se a documentação falasse? (Aprender dentro de um contexto usando um problema prático) 12
Programação em Par Desafios da Programação em Par: Embora seja altamente recomendável a utilização da Programação em Par no cotidiano de um projeto, ela pode esbarrar em diversos obstáculos: A Organização do Escritório; A visão gerencial; O relacionamento humano; Competição. 13
Práticas do XP: Cliente Presente Atividade para a próxima Aula: Faça uma pesquisa sobre as o Kanban e seu uso na Programação Extrema. 14
Perguntas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva 15
Próxima Aula... Práticas do XP: Refactoring e Desenvolvimento Guiado pelos Testes. 16
Referências Materiais avulsos da Internet e o Livro Extreme Programming, Vinicius Manhães Teles, 1ª Edição - Editora Novatec, 316 páginas. Apresentando XP. Encante seus clientes com Extreme Programming:(acessado em 27.03.2011) http://javafree.uol.com.br/artigo/871447/apresentando-xp-encante-seus-clientes-com-extreme- Programming.html 17