Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as...

33
Práticas do XP

Transcript of Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as...

Page 1: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Práticas do XP

Page 2: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Tópicos

n Ritmo sustentáveln Integração contínuan Releases curtosn A organização do ambiente de trabalhon A equipe de desenvolvimento

2

Page 3: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Ritmo sustentável

3

Page 4: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Trabalho em excesso

n Segundo Frederick Brooks (1995) o problema maisrecorrente nos projetos de software é a falta de tempopara finalizar o projeto.

n As restrições de tempo sobre o projeto acabam levandomuitas equipes a trabalhar em excesso.

n Essa solução pode, ao invés de resolver o problema,piorá-lo.

n As conseqüências vão, desde uma maior lentidão naresolução de problemas, até a introdução de erros nosoftware.

4

Page 5: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

O ritmo sustentável é mais produtivo

n O XP recomenda que as pessoas trabalhem oito horas pordia (40h semanais).

n Isso demonstra respeito pela individualidade e aintegridade de cada membro da equipe.

n Aumenta a agilidade do projeto.n No modelo industrial, o aumento do trabalho e da

operação das máquinas normalmente aumenta aprodução.

n No desenvolvimento de software este princípio não podeser aplicado, uma vez que se trata de um trabalho queexige muita concentração e criatividade.

5

Page 6: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Integração contínua

6

Page 7: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Integração

n Um software desenvolvido em equipe é dividido empartes.

n Cada programador fica responsável por uma parte, epelos seus testes.

n Para que o sistema funcione é necessário integrar asvárias partes desenvolvidas.

n Para isso é necessário convencionar as interfaces.n Em teoria essa estratégia funciona bem, na prática podem

ocorrer os seguintes problemas:

7

Page 8: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Causas dos problemas de integração

n As interfaces convencionadas não são respeitadas. Porexemplo, assinatura de métodos não conferem ou objetosnão se comportam como deveriam.

n Não houve compreensão por parte de um desenvolvedorda interface do outro.

n O sistema como um todo é pouco coeso.n Quanto mais tempo a equipe demora para integrar, maior

é o risco de problemas na integração (por exemplo asinterfaces podem ser alteradas e não serem publicadascorretamente para os desenvolvedores.

8

Page 9: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Integração contínua

n O XP propõe que a equipe integre e teste o sistema inteirodiversas vezes ao dia.

n Uma das dificuldades para efetuar essa prática é acompilação e ligação do sistema, que deve ser mantidobaixo ao longo de todo o projeto. Existem diversas formasde fazer isso:n Fazer com que a interdependência entre os arquivos seja baixa.n Fazer com que o compilador só compile os arquivos que tiverem

sido editados e utilize diretamente o código objeto para os demais.n Trabalhar com a carga dinâmica de bibliotecas quando isso for

possível.

9

Page 10: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Fases pelas quais o código passa

1. Local – Primeira fase do desenvolvimento. O par acaboude começar a trabalhar no código e as mudanças queexecutaram ainda não estão disponíveis para os outrosdesenvolvedores.

2. Candidato à liberação – O par terminou a sua tarefa eestá pronto para disponibilizar o novo código contendosuas alterações para os demais desenvolvedores.

3. Disponibilizado no repositório – Esta é a versão oficialcorrente do código. Os teste de unidade executam com100% de sucesso. As alterações do par se tornamdisponíveis para todos os desenvolvedores.

10

Page 11: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Liberação de mudanças

n Enquanto um par programa, outros também estãofazendo alterações e sempre há uma chance de que maisde um par tenha editado e alterado o mesmo código.

n Por isso é importante que exista um processo disciplinadopara que se possa fazer a liberação de mudanças deforma rápida e com o mínimo de risco.

11

Page 12: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Passos para a liberação de mudanças

1. Sempre comece a trabalhar com o código mais atual quese encontra no repositório.

2. Escreva os testes de unidade que são necessários para asua tarefa. Os testes de unidade devem ser escritosantes do código.

3. Rode todos os testes de unidade.4. Conserte qualquer teste que esteja quebrado.5. Quando todos os testes de unidade estiverem rodando

com 100% de sucesso as alterações locais se tornamcandidatas a liberação, podendo ser colocadas norepositório.

12

Page 13: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Passos para a liberação de mudanças

6. O código que é candidato a liberação é integrado com ocódigo atual do repositório.

7. Se o código do repositório tiver sido alterado enquantovocê fazia a mudança, compare as diferenças entre assuas mudanças e o código do repositório. Identifique asmudanças que tiverem sido adicionadas pelo outro par eintegre estas mudanças com as suas.

8. Uma vez que você tenha integrado as suas mudanças ,execute os testes de unidade na máquina de integração.

9. Quando os testes de unidade estiverem executando com100% de sucesso, coloque todo o código da máquina deintegração no repositório.

13

Page 14: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Máquina separada para a integração

n Integrar em uma máquina separada isola o código no qualvocê está trabalhando daquele que está no repositório.

n Ritual de passagem: o código deixa de pertencer ao parque o criou e passa a ser coletivo, estando disponível paratodos os desenvolvedores.n Apenas um par pode integrar de cada vez. Ter uma máquina

separada ajuda a disciplinar a equipe, pois deixa muito evidentequando existe um par integrando.

14

Page 15: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Ferramentas

n Ferramenta de build: utilizada para compilar todo osistema e executar outras atividades que se façamnecessárias para que ele possa ser executado.

n Sistema de controle de versão (repositório): armazenatodos os códigos fontes do sistema mantendo a versãodeles.

15

Page 16: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Atividades suportadas pelo repositório

n Identificar mudanças locais.n Mostrar a diferença entre alterações locais e o código que

está no repositório.n Identificar quem colocou uma determinada mudança no

repositório e quando isso aconteceu.n Fundir mudanças locais com o código que está no

repositório.n Voltar a versão de um código que já existia no repositório

antes da integração.

16

Page 17: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

GCVS (Sistema de Controle de Versão)

17

Page 18: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

GCVS - Características

n Gerenciamento de projeto em equipe.n Log de todas as alterações realizadas.n Histórico de todas as mudanças feitas, isto permite voltar

a uma versão anterior em caso de problemas, e ver o quehouve de errado com o código.

n Permite visualizar facilmente o que foi modificado entreduas versões de um arquivo.

18

Page 19: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Jakarta ANT (Ferramenta de build)

19

Page 20: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Jakarta ANT - Características

n Ao contrário do make que utiliza extensões baseadas noshell , utiliza classes Java e seus arquivos de configuraçãosão baseados em XML.

n Portanto, é uma ferramenta multiplataforma que foiintegrada a diversos IDEs (ex. Eclipse, Netbeans, Jbuilderetc).

20

Page 21: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Releases curtos

21

Page 22: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Releases

n Cada release representa um conjunto de funcionalidadesimplementadas que representam um valor bem definidopara o cliente e que é colocado em produção para quetodos os usuários possam ser beneficiar dele.

22

Page 23: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Retorno de investimento

n Um projeto de software é um investimento.n O cliente investe uma certa quantidade de recursos na

expectativa de obter um retorno dentro de um certoprazo.

n Este retorno pode se materializar de diferentes formas,tais como:n Aumento de vendasn Melhoria na qualidade de seus produtosn Racionalização da produçãon Redução de custosn Abertura de um novo canal de relacionamento com os clientes

23

Page 24: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Fluxo de caixa de um projeto tradicional

24

Page 25: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Fluxo de caixa de um projeto XP

25

Page 26: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

A organização do ambiente de trabalho

26

Page 27: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Ambiente de trabalho

n A forma como a equipe se organiza influencia diretamentea sua capacidade de adotar as práticas do XP.

n O XP recomenda que o ambiente de trabalho seja abertoe público de modo que:n Todos os membros da equipe possam trabalhar próximos uns dos

outros;n Cada pessoa possa escutar as eventuais perguntas de seus

colegas;n Seja possível escutar uma conversa “acidentalmente” em relação à

qual um membro da equipe tenha uma contribuição vital.

27

Page 28: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Mesas e cadeiras

n As mesas usadas pelos desenvolvedores devem permitirque duas pessoas trabalhem juntas.

n As cadeiras devem ter braços ajustáveis e sejamergonômicas.

28

Page 29: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Mesas e cadeiras

n As mesas devem ser arranjadas de modo que ela consigaaproximar ao máximo os desenvolvedores. O ideal éarrumá-las de modo a formar uma área central ao redorda qual todos os desenvolvedores se posicionem.

29

Page 30: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Equipamentos

n Os computadores devem ser velozes, com muita memória,discos rápidos e com grande capacidade dearmazenamento.

n A rede deve ser rápida.n Os monitores devem ser grandes e com alta qualidade de

imagem.n Deve haver uma máquina separada para integração.n É recomendável que exista um servidor, acessível também

pela Web, para armazenar documentações do projeto,manuais etc.

30

Page 31: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Mural

n Serve para a colocação dos cartões da iteração.n Neste, deve-se criar três colunas com as seguintes

informações: cartões não-iniciados, cartões emandamento, cartões finalizados.

31

Page 32: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Quadro branco

n Usado para apoiar as discussões e debates da equipe.n Fornece um local no qual a equipe pode fazer desenhos e

anotações e compartilhá-los facilmente com todos osmembros.

32

Page 33: Práticas do XP - WordPress.com · O ritmo sustentável é mais produtivo n O XP recomenda que as pessoas trabalhem oito horas por dia (40h semanais). n Isso demonstra respeito pela

Mandamentos

n Representam regras que devem ser seguidas no projeto.Costuma ser fixados na parede com letras grandes.

33