Universidade de Brasília - UnB Faculdade UnB Gama - FGA Curso ...
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 6
-
Upload
renato-leal -
Category
Technology
-
view
119 -
download
0
Transcript of Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 6
Introdução a Engenharia de
SoftwareCJR – Empresa Júnior de Computação
Extreme Programming6
1 História
• O “ágil”• Requisitos
• Tecnologia• Pessoas
Habilidade de se mover prontamente com rapidez e facilidade
Mudança constante de requisitos nos projetos, ambiente empresarial (Web) eProcessos organizacionais
Ferramentas e plataformas usadas já não atendiam as necessidades
Comportamento individual é imprevisível e as interações de projeto ficam cadavez mais complexas
1 História
Kent Beck, 1999 e 2004
2 O núcleo
Valores PráticasPrincípios
3 Valores
• Comunicação• Simplicidade• Feedback• Coragem• Respeito
Documentação x Informação para toda equipe, prioriza o oral
Começar desenvolvendo aquilo que é necessário para hoje
Do sistema (testes), do cliente (validação), dos desenvolvedores
Implementar o hoje. Refatorar depois se preciso ou até mesmo jogar o código fora
Respeite a todos (incluindo você mesmo) e não dê commit com código com bug!
4 Princípios
• Feedback rápido• Presumir simplicidade• Mudanças incrementais• Abraçar mudanças• Trabalho de alta qualidade.
Cliente junto, testes de unidade, quanto mais rápido melhor o feedback!
Não adianta prever o futuro. Faça o hoje apenas.
Mudaram os requisitos? OK!
5 Práticas
12 práticas, 4 grandes grupos
5 Práticas12 práticas, 4 grandes grupos
Fine scale feedback Continuous process Shared understanding Programmer welfare
Programação Pareada Integração Contínua Padrões de Programação Passos Sustentáveis
Jogo de Planejamento Refatoração Propriedade Coletiva
Desenvolvimento Orientado a Testes
Pequenas Entregas Design Simples
Time Coeso Metáforas de Sistema
5 Regras
Planejamento
Gerência
Projetando“Codando”
Testes
Planejamento
Gerência
Projetando“Codando”
Testes
5 Regras
• Divida em iterações• Pense em pequenas e frequentes entregas• Escreva histórias de usuário• Planejamento de uma iteração começa
apenas quando ela começa
Planejamento
Gerência
Projetando“Codando”
Testes
5 Regras
• Reuniões diárias em pé• Defina o tempo da equipe• Meça a velocidade do andamento• Troque as tarefas das pessoas• Corrija o XP quando ele não funciona
Planejamento
Gerência
Projetando“Codando”
Testes
5 Regras
• Faça simples• Escolha uma metáfora• Utilize os cartões CRC• Não coloque funcionalidades antes do tempo• Refatore!
Planejamento
Gerência
Projetando“Codando”
Testes
5 Regras
• O cliente deve sempre estar disponível• Utilize os padrões• Crie o teste de unidade antes• Sempre programe em duplas• Apenas uma dupla integra por vez• Lembre-se que o código é de todo mundo
Planejamento
Gerência
Projetando“Codando”
Testes
5 Regras
• Todo código deve ter seu teste de unidade
• Todo código deve passar nos testes antes de ser entregue
Bibliografiahttp://www.extremeprogramming.org/rules.html
http://www.extremeprogramming.org/map/project.html
http://en.wikipedia.org/wiki/Extreme_programming
Renato Leal
CJREmpresa Júnior de Computação da UnB