GoConqr has a new look! Let us know what you think.

Flashcards

XP

Andrei Inacio Gestão de Projetos Profissionalizante Portuguese 18 cards

Cards in this deck (18)

  1. 1O que é XP?Extreme Programming (XP) é um método ágil criado no final da década de 90 para desenvolvimento de software.
    É uma metodologia que tem como objetivo criar sistemas com alta qualidade, com base em uma interação próxima com os clientes, testagem constante e ciclos de desenvolvimento curtos.
  2. 25 valores da metodologia XPComunicação: para que os desenvolvedores possam compreender precisamente o que o cliente necessita e para que o próprio cliente tenha ciência das possibilidades, estrutura e objetivos do sistema, o Extreme Programming propõe conversas presenciais e diretas entre as partes.
    A simplicidade é necessária desde a forma como se levanta requisitos até a codificação e os testes da solução desenvolvida;
    Feedback: os retornos e comentários constantes, precoces e em ciclos curtos sobre as práticas durante o processo são fundamentais para garantir ajustes rápidos e mais precisos.
    Coragem: para estar aberto a mudanças, encarar as falhas, aceitar os feedbacks, propor melhorias e saber dizer não quando necessário. Significa confiar no processo. Em seu livro Extreme Programming Explained, o autor Kent Beck define coragem como “ação eficaz em face do medo”.
    Respeito: o trabalho em equipe é uma das premissas do XP e, para isso, é preciso que os membros se respeitem, aceitem sugestões, colaborem entre si e prezem por um bom relacionamento.
  3. 3Como funciona o Extreme Programming?principal objetivo é fazer ciclos de entregas rápidos, contínuos e incrementais, para atingir os resultados esperados pelo cliente.
    No XP, propriamente, isso é feito com base em práticas e etapas predefinidas para que o processo tenha a máxima eficácia. O software (ou outro projeto) é desenvolvido em ciclos semanais, com reuniões periódicas entre cliente e equipe de desenvolvimento.
  4. 4AS BOAS PRÁTICAS DE XP1 Jogo de Planejamento
    2 Cliente sempre disponível
    3 Pequenos lançamentos ou entregas curtas
    4 Metáfora
    5 Design Simples
    6 Testes de Usuário
    7 Ritmo Sustentável
    8 Propriedade Coletiva
    9 Programação Pareada
    10 Padronização do Código
    11 Desenvolvimento Orientado a Testes
    12 - Refatoração
    13 - Integração Contínua
  5. 5Jogo de Planejamento (Planning Game)No início da semana, a equipe se reúne com o cliente para elencar as funcionalidades prioritárias e tornar claras as expectativas e necessidades com relação ao projeto. Aqui, define-se o escopo (sempre flexível e negociável). O encontro é chamado de Jogo de Planejamento.
  6. 6Cliente sempre disponível (he Customer is Always Available)Constante disponibilidade do cliente para colaborar em dúvidas, alterações, e prioridades em um escopo, ou seja, dando um dinamismo ativo ao projeto.
  7. 7Pequenos lançamentos ou entregas curtas (Small Releases)Conforme as interações são concluídas, o cliente recebe pequenas versões/releases do sistema, visando com que seja colocado em prática e validado aquilo que está sendo implementado. Isto também permite que mais cedo possam ser detectadas necessidades de alterações de requisitos no software.
  8. 8Metáfora (Metaphor)Visando facilitar a comunicação da equipe, caso seja possível, é estabelecido o uso de metáforas em pontos chaves ao projeto como, por exemplo, a definição de um nome que seja comum à equipe e simbolize algo de fácil assimilação como, por exemplo: "Vamos chamar nosso projeto de "cartão de ponto", para um sistema que gerencie as batidas de ponto de funcionários, gerando o provisionamento financeiro e mensal para módulo de folha de pagamento".
  9. 9Design Simples (Simple Design)O código está, a qualquer momento, na forma mais simples e mais clara, conforme os padrões definidos pela equipe de desenvolvimento, facilitando a compreensão e possível continuidade por qualquer um de seus membros.
  10. 10Testes de Usuário Acceptance Tests (Testes de Aceitação)São definidos pelo usuário na fase inicial do projeto e são os critérios de aceitação do software conforme a estratégia de entrega e representa exatamente a métrica de aderência do software desenvolvido/implantado ao universo do cliente.
  11. 11Ritmo Sustentável (40 Hour Week (Otimizando as jornadas de trabalho) )Trabalhar por longos períodos é contraproducente. Portanto, sempre que possível, deve-se evitar a sobrecarga de trabalho de todos da equipe, criando condições favoráveis ao uso da carga normal de trabalho. É necessário deixar a equipe livre para relaxar, brincar, ou fazer o quem bem entender para equilibrar o trabalho mental e físico. Existe até uma frase que diz: trabalhe a 100% durante as 40 horas e descanse a 100% no resto. Se algum deles não for feito com 100%, um afetará o outro.
  12. 12Propriedade Coletiva (Collective Code Ownership (Propriedade coletiva - O código é de todos da equipe))Uma vez aplicados a Programação em Dupla e o Rodízio de Pessoas, a equipe como um todo é responsável por cada arquivo de código. Não é preciso pedir autorização para alterar qualquer arquivo, mantendo claro, um padrão prático de comunicação da equipe.
  13. 13Programação Pareada (Pair Programming (Programação em dupla))A programação em um único computador é feita em pares (duplas) para garantir que o desenvolvimento passe por revisão constante e o aprendizado de cada profissional evolua no processo. Duas cabeças pensam melhor que uma e favorecem o compartilhamento de conhecimento das regras de negócio e o nivelamento técnico dos programadores.
  14. 14Padronização do CódigoTodo código é desenvolvido seguindo um padrão, qualquer que seja, mas toda equipe deve seguir o mesmo padrão. Dessa forma, todos da equipe terão a mesma visão do código.
  15. 15Desenvolvimento Orientado a Testes (Test First Design (Primeiro os testes) )Testes unitários são fundamentais para a qualidade do projeto. Crie testes unitários e só depois crie o código para colocá-los em funcionamento.
  16. 16Refatoração (Refactoring (Refatoração - melhoria constante do código))É um processo que permite a melhoria contínua do projeto, tornando-o mais claro, com menos possibilidade de erros e de duplicação de processos.
  17. 17Integração Contínua ()Ao criar novas funcionalidades, estas devem ser integradas rapidamente à versão atual do sistema. Isso porque quanto antes for testado, mais rapidamente serão descobertos problemas, que podem ser corrigidos.
    Os diversos módulos do software são integrados diversas vezes por dia e todos os testes unitários são executados. O código não passa até obter sucesso em 100% dos testes unitários, facilitando, dessa forma, o trabalho de implementação da solução.
  18. 18Move People Around (Rodízio de pessoas)As duplas de programação são revezadas periodicamente, com o objetivo de uniformizar os códigos produzidos, deixar todos os módulos do sistema com mesmo padrão de código/pensamento e compartilhar o código com todos da equipe.

Information

Description
Profissionalizante Gestão de Projetos (Conceitos de metodologias ágeis (Scrum, Kanban, XP)) Flashcards on XP, created by Andrei Inacio on 14/03/2024.
Created by
Andrei Inacio
Views
1
Rating

More on Extreme Programming (XP)

Feedback

What is it about?

What do you think of the new look?

How do you like it?