O Extreme Programming (XP) é uma metodologia de desenvolvimento de software seguidora dos conceitos ágeis, nascida nos Estados Unidos ao final da década de 90.Provavelmente é a mais conhecida de todas.
Incluindo todas as praticas ágeis o XP possui seus valores fundamentais:
Comunicação: Basicamente o alicerce de tudo que se refere a relacionamentos, principalmente entre cliente e fornecedor, a comunicação direta e sem firulas é imprescindível para uma boa evolução de qualquer projeto.
Incluindo todas as praticas ágeis o XP possui seus valores fundamentais:
Comunicação: Basicamente o alicerce de tudo que se refere a relacionamentos, principalmente entre cliente e fornecedor, a comunicação direta e sem firulas é imprescindível para uma boa evolução de qualquer projeto.
Simplicidade: Implementar apenas aquilo que é suficiente para atender a necessidade do cliente. Ou seja, ao codificar uma funcionalidade devemos nos preocupar apenas com os problemas de hoje e deixar os problemas futuros para serem discutidos e planejados futuramente.
Feedback: Basicamente o retorno do cliente em relação ao sistema. Quando o cliente aprende a utilizar sistema ele reavalia suas necessidades gerando assim o feedback para a equipe de desenvolvedores. Esse feedback traz várias alterações que são de extrema necessidade para o cliente.
Coragem: Com um modelo de desenvolvimento incremental onde as funcionalidades podem mudar de uma hora para outra gerando situações inesperadas e riscos de falhas, é preciso ter em mente que isso faz parte do desenvolvimento de uma solução funcional.
Com base nos valores o XP dita os seus princípios básicos:
Feedback rápido: Um rápido retorno de sua avaliação por parte do cliente garante maior agilidade para o projeto uma vez que a equipe pode aprender mais rapidamente com seus erros e acertos.
Simplicidade Presumida: Todos os problemas e oportunidades devem ser resolvidos de maneira simples e concisa sem a adição de pontos desnecessários.
Mudanças Incrementais: Grandes mudanças de uma só vez em qualquer projeto é muito difícil que dê certo, no XP o projeto é alterado gradualmente em seu tempo de desenvolvimento. Essa mudança dever planejada e estudada para que não atrapalhe o funcionamento normal do sistema.
Alta Qualidade: Importantíssimo manter a qualidade total de um projeto, fazendo com que ele não apresente erros, que tenha bom desempenho e que definitivamente atenda as expectativas do cliente.
Um site bem interessante sobre XP
Outro site...esse é da USP
Para aplicar os valores e princípios durante o desenvolvimento de software, XP propõe uma série de práticas. Há uma confiança muito grande na sinergia entre elas, os pontos fracos de cada uma são superados pelos pontos fortes de outras.
Planning Game (jogo de planejamento): planejamento de cada ciclo de desenvolvimento, ao iniciar uma nova etapa todas as iterações relacionadas deverão ser reavaliadas.
Small Releases (pequenas versões): Liberação de versões funcionais do software para a ‘apreciação’ e validação do cliente.
Metaphor (metáfora): Se comunicar com o cliente de forma que ele possa entender exatamente o que a equipe quer dizer.
Simple Desing (criação simples): Desenvolver as iterações exatamente como elas foram especificadas e da forma mais simples possível, sem incluir códigos e funcionalidades desnecessárias.
Whole team (time integrado): Manter o time completamente coeso e integrado. O cliente inclusive é parte do time.
Customer Tests (testes de validação): Testes sugeridos e realizados junto ao cliente com intuito de simular o mais próximo possível a situação real que o software irá operar.
Sustainable Tests (ritmo sustentável): Criar um ritmo de produção que viabilize uma vida normal para os integrantes da equipe. Criar ciclos que possam ser resolvidos utilizando apenas o horário normal de trabalho dos integrantes.
Stand-up Meeting (reuniões em pé): Reuniões diárias rápidas a fim de sincronizar todos os processos do dia.
Um site bem interessante sobre XP
Outro site...esse é da USP
Para aplicar os valores e princípios durante o desenvolvimento de software, XP propõe uma série de práticas. Há uma confiança muito grande na sinergia entre elas, os pontos fracos de cada uma são superados pelos pontos fortes de outras.
Planning Game (jogo de planejamento): planejamento de cada ciclo de desenvolvimento, ao iniciar uma nova etapa todas as iterações relacionadas deverão ser reavaliadas.
Small Releases (pequenas versões): Liberação de versões funcionais do software para a ‘apreciação’ e validação do cliente.
Metaphor (metáfora): Se comunicar com o cliente de forma que ele possa entender exatamente o que a equipe quer dizer.
Simple Desing (criação simples): Desenvolver as iterações exatamente como elas foram especificadas e da forma mais simples possível, sem incluir códigos e funcionalidades desnecessárias.
Whole team (time integrado): Manter o time completamente coeso e integrado. O cliente inclusive é parte do time.
Customer Tests (testes de validação): Testes sugeridos e realizados junto ao cliente com intuito de simular o mais próximo possível a situação real que o software irá operar.
Sustainable Tests (ritmo sustentável): Criar um ritmo de produção que viabilize uma vida normal para os integrantes da equipe. Criar ciclos que possam ser resolvidos utilizando apenas o horário normal de trabalho dos integrantes.
Stand-up Meeting (reuniões em pé): Reuniões diárias rápidas a fim de sincronizar todos os processos do dia.
Collective Ownership (propriedade coletiva): Todos os integrantes da equipe têm acessos permitidos aos códigos sem a necessidade de autorizações prévias a fim de toda equipe ter conhecimento de todo sistema e ter a capacidade de atuar em qualquer iteração.
Pair Programming (programação em dupla): O desenvolvimento é sempre feito por duplas em um único computador, enquanto um codifica o outro revê o código e elabora a seqüência da codificação. Os papeis são invertidos constantemente.
Coding Standards (padrões de códigos): Manter um padrão para o desenvolvimento para que independente de quem mexa em uma determinada área de código, mesmo nunca tendo visto essa área, possa prosseguir sem problemas e deixar ‘preparado’ para outras pessoas. A adoção de frameworks de desenvolvimento é uma boa dica.
Test Driven Developemnt (desenvolvimento orientado a testes): Um dos principais pontos do XP, criar os testes mesmo antes do código em si, dessa forma é possível manter uma qualidade elevada e 100% funcional.
Refactoring (refinamento): Refinar o sistema constantemente, limpando códigos, eliminando duplicidade e adequando melhor aos padrões.Continuous Integration (integração continua): Sempre que produzir uma nova funcionalidade, nunca esperar uma semana para integrar à versão atual do sistema. Isto só aumenta a possibilidade de conflitos e a possibilidade de erros no código fonte. Integrar de forma contínua permite saber o status real da programação.
Pair Programming (programação em dupla): O desenvolvimento é sempre feito por duplas em um único computador, enquanto um codifica o outro revê o código e elabora a seqüência da codificação. Os papeis são invertidos constantemente.
Coding Standards (padrões de códigos): Manter um padrão para o desenvolvimento para que independente de quem mexa em uma determinada área de código, mesmo nunca tendo visto essa área, possa prosseguir sem problemas e deixar ‘preparado’ para outras pessoas. A adoção de frameworks de desenvolvimento é uma boa dica.
Test Driven Developemnt (desenvolvimento orientado a testes): Um dos principais pontos do XP, criar os testes mesmo antes do código em si, dessa forma é possível manter uma qualidade elevada e 100% funcional.
Refactoring (refinamento): Refinar o sistema constantemente, limpando códigos, eliminando duplicidade e adequando melhor aos padrões.Continuous Integration (integração continua): Sempre que produzir uma nova funcionalidade, nunca esperar uma semana para integrar à versão atual do sistema. Isto só aumenta a possibilidade de conflitos e a possibilidade de erros no código fonte. Integrar de forma contínua permite saber o status real da programação.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8PbiH4WCowv-4ZNqpWyuX1RXRatWbmr2BxnUGo8xDnHV9YeowqnkAHSscbK-yqE3id_EomNUDTqflj7ppWliipxFbJonKN-cWcjGBv3JSMJd3lfQTN2uNcye-OviutbB7VwjjhAL9sGI/s400/circles.jpg)
Nenhum comentário:
Postar um comentário