Blog referente a aula de 10/6/2008
XP - Extreme Programing
Extreme Programing
É uma metodologia de programação ágil para equipes pequenas que trabalharam no desenvolvimento de softwares com poucos requisitos e com muitas mudanças durante a sua implementação
Geralmente formado por grupos de 12 pessoas.
Surgiu nos anos 80 através do Small Talk, é vc programar de modo eficiente , seguindo alguns critérios de comportamento , tais como:
Programação em Par – ou seja , um programa e o outro acompanha o código dando sugestões ao parceiro sobre algum erro.
O XP se baseia em 4 valores fundamentais:
Feedback:
Nele o cliente reaprende com o sistema e o reavalia, ou seja vc pega programa mostra ao cliente e ele lhe dá o sinal positivo de retorno , se ficou bom ou não.
Comunicação:
Como a equipe é pequena , a comunicação é total e bem vinda, rende muito mais na produção.
Simplicidade
Nada de invenções ou previsões, ou seja implemente apenas o necessário.
Coragem
Ousadia , alterar algo que já esta certo procurando uma maior melhora, correr o risco de estragar algo que já esta funcionando muito bem.
O XP se destina a grupos de programadores pequenos, projetos rápidos , e linhas de código bem volumosas , de 1000 a 250.000 linhas.
Os princípios do XP são comunicação total com o cliente visando o feedback , simplicidade total no programa, nele valoriza-se muito pessoas que sejam aptas e que queiram mudanças , ou seja não tenham medo de mudar e aceitem desafios.
Nele a alta qualidade no desenvolvimento é essencial.
Práticas do XP
Jogo do Planejamento
Planejamento é essencial entre os programadores
Fases Pequenas
O desenvolvimento é feito em iterações semanais , onde desenvolvedores e clientes interagem entre si para o bom desenvolvimento, sendo que o cliente tem papel fundamental , pois ele fica sabendo o que esta acontecendo e o que virá a acontecer no projeto.
Metáfora
Baseia-se em exemplos, em situações , usando-as metaforicamente na solução do dia a dia.
É preciso traduzir as palavras do cliente para o significado que ele espera dentro do projeto.
Projeto Simples
Simplicidade é o princípio fundamental do XP, se o cliente o mandar fazer uma aplicação de login com senha 123 , faça apenas o que ele pediu , não se preocupe com restrições , programação fácil deve ser substituída por código simples.
Testes
Primeiro crie os testes unitários , depois crie o código para que os testes funcionem. Esta abordagem é complexa no início, pois vai contra o processo de desenvolvimento de muitos anos. Só que os testes unitários são essenciais para que a qualidade do projeto seja mantida.
Refatoração
Aproveitar código já existente , atualizando-o visando a sua melhora, processo que permite a melhoria continua da programação, melhora a clareza do código.
Exemplos de refatoração:
- Mudanças de nome de variáveis , classes e etc.
- Pequenas mudanças na arquitetura.
Programação em par
Dois programadores juntos , um digitando e o outro acompanhando o código digitado, geralmente coloca-se um programador inexperiente com um já experiente , onde o menos “maduro” fica no computador digitando o código e o instrutor fica ao seu lado auxiliando-o no seu desenvolvimento , este trabalho coletivo beneficia o trabalho proporcionando um código fonte de melhor qualidade.
Exemplo de programação em par
EX:Sistema de multimídia orientado a objetos.
Propriedade Coletiva
Ninguém é dono do código , propriedade coletiva, tanto que qualquer desenvolvedor da equipe pode mudar e melhorar o código do outro.
Integração Contínua
Sempre que produzir uma funcionalidade , nunca demore muito tempo para integrá-la a versão atual do sistema , procure sempre que terminar sua aplicação integrá-la em tempo real.
Semana de 40 horas
Trabalhar com qualidade , sem horas extras, horas extras são permitidas somente quando trouxerem produtividade a execução do projeto, não existe essa de levar serviço para casa , trabalhe bem e produza bem no seu horário de serviço.
Cliente junto aos desenvolvedores
O cliente participa de todo o processo de execução do sistema , podendo até opinar.
Padronização do código
Código padronizado
Deve se seguir certas normas, pois assim um código digitado por vários desenvolvedores fica integrado , como se fosse feito por um só , sem confusões.
Pequenos releases
Liberação de pequenas versões funcionais do projeto auxilia muito no processo de aceitação por parte do cliente
O código
Padrões de implementação adotados por todo o grupo, tem que ser o mais claro possível e entendido por todos os desenvolvedores.
Até a próxima
Bibliografia: