Extreme Programming - XP

Kom i gang. Det er Gratis
eller tilmeld med din email adresse
Extreme Programming - XP af Mind Map: Extreme Programming - XP

1. Values (valores)

1.1. Estabelecem a forma do desenvolvimento XP

1.1.1. Simplicidade

1.1.1.1. incentiva ao extremo práticas que reduzam a complexidade do sistema

1.1.1.2. A solução adotada deve ser sempre a mais simples que alcance os objetivos esperados

1.1.1.3. Use as tecnologias, algoritmos e técnicas mais simples que permitirão atender aos requisitos do usuário - final

1.1.1.4. Design, processo e código podem ser simplificados a qualquer momento

1.1.1.5. Comece por solução simples e que funcionem

1.1.2. Comunicação

1.1.2.1. Várias práticas do XP promovem uma maior comunicação entre os membros da equipe

1.1.2.2. A comunicção não é limitada por procedimentos formais. reunião informal, e-amil, bate-papo, telefone, próprio código

1.1.2.3. Comunicação ágil

1.1.2.4. Todos são parte do time, inclusive o cliente

1.1.2.5. Contato diário face a face

1.1.2.6. Pair programming

1.1.3. Feedbacks

1.1.3.1. Várias práticas de XP garantem um rápido feedback sobre várias etapas/partes do processo:

1.1.3.1.1. Feedback sobre qualidade do código (testes de unidade, programação em pares, posse coletiva)

1.1.3.1.2. Feedback sobre estado do desenvolvimento ( estórias do usuário-final , integração contínua, jogo do planejamento.

1.1.3.2. Permite maior agilidade

1.1.3.2.1. Erros detectados e corrigidos imediatamente

1.1.3.2.2. Requisitos e prazos reavalidados mais cedo

1.1.3.2.3. Permite estimativas mais precisas

1.1.3.3. Testes

1.1.3.3.1. Unitários

1.1.3.3.2. Integração

1.1.3.4. Cliente

1.1.3.4.1. Testes funcionais

1.1.3.5. Membros do time

1.1.3.5.1. Quando um novo requisito chega o time estima quanto tempo será necessário

1.1.4. Coragem

1.1.4.1. Testes, integração contínua, programação em pares e outras práticas de XP aumentam a confiança do programador e ajuda-no a ter coragem para:

1.1.4.1.1. melhorar o código que está funcionando para torná-lo mais simples

1.1.4.1.2. investir tempo no desenvolvimento de testes

1.1.4.1.3. mexer no design em estágio avançado

1.1.4.1.4. pedir ajuda aos que sabem mais

1.1.4.1.5. abandonar processos formais e ter o projeto e a documentação em forma de código.

1.1.4.2. Não deixe para amanhã o que pode ser feito agora

1.1.4.3. Não ficou bom? Refaça o quanto necessário

1.1.4.4. Se não precisa, jogue fora!

2. Principles (principios)

2.1. Guiam o desenvolvimento do software

2.1.1. Rapid Feedback ( retorno rápido)

2.1.1.1. O retorno entre os desenvolvedores é rápido - cliente sabe se o produto que está sendo desenvolvido atende as suas necessidades

2.1.1.2. Modele um pouco, mostre ao cliente e então modele novamente. Garante que o seu modelo será preciso enquanto seu conhecimento do projeto aumenta.

2.1.2. Assume Simplicity (simplicidade)

2.1.2.1. Deixe o seu modelo tão simples quanto possível e assuma que a solução mais simples é a melhor

2.1.2.2. O Design do sistema deve ser feito para a iteração corrente. Não deve ser feito design sobre uma possível necessidade futura.

2.1.3. Incremental Change ( mundanças incrementais

2.1.3.1. O modelo não será perfeito na primeira tentativa, ele irá mudar de acordo com o desenvolvimento do projeto.

2.1.3.2. Os problemas devem ser solucionados com um conjunto de pequenas modificações.

2.1.4. Embrace Change (aceitar mudanças)

2.1.4.1. Mudanças ocorrerão no projeto de acordo com o crescimento do entendimento do mesmo.

2.1.4.2. Aceite as mudanças e tenha coragem para reconstruir.

2.1.5. Quality Work (trabalho de qualidade)

2.1.5.1. A qualidade do trabalho nunca deve ser comprometida.

2.1.5.2. XP eleva a importância da codificação e do teste antes da programação - test-first programming.

3. Activities (atividades)

3.1. Devem ser executadas por todo o ciclo de vida XP

3.1.1. Listening

3.1.2. Testing

3.1.3. Coding (codificar)

3.1.4. Designing (projetar)

4. Practices (práticas)

4.1. São utilizadas pelas equipes XP para desenvolver sistemas

4.1.1. Process

4.1.1.1. On- site customer (cliente no local)

4.1.1.2. testing (testes)

4.1.1.3. Small releases (versões pequenas)

4.1.1.4. planning game (planejamento do jogo)

4.1.2. Programming

4.1.2.1. Simple design (projeto simples)

4.1.2.2. Testing (testes)

4.1.2.3. refactoring (reconstrução)

4.1.2.4. coding standars (código padrão)

4.1.3. Team

4.1.3.1. Collective Ownership (código coletivo)

4.1.3.2. Continuos integration (integração continua)

4.1.3.3. metaphor (metáfora)

4.1.3.4. pair programming (programação em par)

4.1.3.5. Small releases (versões pequenas)

5. 1- Values (valores)

6. Conjunto de valores, princípios e práticas

7. Método de desenvolvimento de Software

8. Ciclo de desenvolvimento curtos e releases frequentes

9. Permite respostas rápidas e a mudanças de requisitos em qualquer etapa do desenvolvimento

10. Enfatiza o trabalho em equipe que se auto-organiza em que todos são iguais num trabalho colaborativo.

11. "Metodologia ágil para Equipes pequenas a médias desenvolvendo software com requisitos vagos ou que mudam frequentemente." (Beck 2000)

12. Codificação é a principal tarefa

13. Revisão permanente do código , testes frequentes, participação do usuário final, refatoração contínua, refinamento contínuo da arquitetura, integração contínua, planejamento, projeto e reprojeto a qualquer hora.