XP - Extreme Progamming
Por: Regis Lucio • 7/6/2015 • Trabalho acadêmico • 1.414 Palavras (6 Páginas) • 809 Visualizações
1 INTRODUÇÃO
Dentro do contexto das metodologias ágeis de desenvolvimento de softwares, que são pautadas pelo Manifesto Ágil, criado em 2001 com o objetivo de estabelecer maneiras para o desenvolvimento de softwares de forma mais objetiva, abordaremos nesta pesquisa o método de Programação Extrema, mais conhecida como XP, sigla que representa a denominação em inglês eXtreme Programming.
Desde 1997, ano de sua criação, a metodologia XP tem auxiliado a indústria de softwares com seu princípio básico de levar ao extremo as boas práticas da engenharia de softwares. Em tese, é indicado para pequenas e médias empresas, entretanto, ao obser o estudo de caso da Chrysler e a unificação do seu sistema mundial de folha de pagamento pode-se perceber que é um método eficiente independente das questões estruturais das empresas.
Ainda no contexto das metodologias ágeis, na pesquisa foi apresentada uma pesquisa sobre o SCRUM, que possui uma abordagem voltada para o desenvolvimento incremental e interativo da área de projetos, tendo o XP como um método complementar, por possuir uma abordagem diferenciada, que foca suas atividades no desenvolvimento. Ambas se complementam e são utilizadas com maior frequência pela engenharia de softwares na atualidade.
A seguir, abordaremos a Programação Extrema ou XP, de forma conceitual e descritiva, com o objetivo de apresentar esse método ágil de desenvolvimento, sua aplicação e utilização no mercado de softwares e empresas que optam por utilizar seus conceitos.
2 PROGRAMAÇÃO EXTREMA – XP
Segundo Calado (2014) a metodologia eXtreme Programming (XP) é uma das mais conhecidas e utilizadas das metodologias ágeis. Surgiu em 1999, criada pelo americano Kent Beck como forma de valorizar a programação, dando menos ênfase as documentações e análise e fazendo uso preferencialmente da orientação a objetos. Para Medeiros (2014) o XP possui semelhanças com a metodologia SCRUM, em termos de valores e modelos de desenvolvimento de projetos. Para o autor, esses métodos asseguram o trato com as incertezas dos projetos e também se complementam, sendo o SCRUM um framework gerencial e o XP, em contrapartida, mais focado nas práticas da engenharia.
O XP é um método voltado para o desenvolvimento, porém, não prescritivo, ou seja, não se trata de um manual com procedimentos. Esse método é pautado por valores que serão tratados a seguir, nesta pesquisa. Possui também um objetivo principal, que é: “... levar ao extremo um conjunto de práticas que são ditas como boas na engenharia de software.” (MEDEIROS, 2014)
2.1 Os valores do XP
De acordo com Christianini Filho (2015) a metodologia XP possui cinco valores fundamentais que são: comunicação, simplicidade, feedback, coragem e respeito. A partir desses valores citados, possui alguns princípios básicos tais como: feedback rápido, presumir simplicidade, mudanças incrementais, abraçar mudanças e trabalho de qualidade. A seguir os cinco valores do XP:
- Comunicação: valoriza-se a comunicação face to face, bem como a qualificação dos meios de comunicação para torna-los eficientes. A enfatização da comunicação favorece a diminuição de documentação.
- Simplicidade: inicialmente faz-se o que é mais simples e funcional e posteriormente o mais complexo caso haja necessidade. O coach ou responsável pelas práticas fica encarregado de monitorar essa questão em relação ao projeto.
- Coragem: juntamente com a responsabilidade, é a capacidade de se fazer alterações em um código já em produção, “abrir mão” do que se julga não necessário, acreditar no feedback correto, aprender com os erros, dar feedback sincero, mudar paradigmas.
- Feedback: muito presente nas reuniões diárias do SCRUM, possibilita que todos envolvidos saibam o que se passa no processo como um todo. A agilidade na troca de informações favorece a evolução do projeto e faz com que todos acompanhem cada momento dos processos.
- Respeito: todos têm importância dentro do projeto. A sinergia da equipe possibilita o ganho para todos. Independente da função valoriza-se o desempenho em prol da realização e entrega do produto.
2.2 Papéis principais do XP
Segundo Christianini Filho (2015) o XP também possui quatro papéis principais:
- Programadores: não possuem hierarquia e são o foco principal da metodologia.
- Treinador (coach): o mais experiente do time em geral. Não precisa ser o melhor programador, porém o que mais entende da metodologia XP.
- Acompanhador (tracker): a pessoa responsável de trazer a equipe informações, gráficos e um posicionamento sobre o andamento do projeto para a tomada de decisões. Pode às vezes ser o coach a pessoa que desenvolve essa função.
- Cliente: é parte importante no processo e fornece as informações para esclarecer as dúvidas que os programadores possam ter no decorrer do projeto.
2.3 Consolidação do XP
A consolidação do XP se dá, nas palavras de Calado (2014) após quatro etapas que serão descritas a seguir:
- Planejamento: nesta fase, os membros técnicos da equipe realizam o momento de audição, que é uma atividade de levantamento de requisitos, a fim de entender o ambiente de negócios do software. Essa atividade gera uma série de cenários que descrevem o resultado, as características e as funcionalidades requisitadas para o software. Cada cenário descrito pelos usuários é colocado em uma ficha, o cliente, por sua vez, atribui um valor a essas fichas de acordo com o valor de negócio global. Os membros da equipe avaliam as fichas e atribuem um custo (medido em semanas para desenvolvimento). Se esse custo for maior que 3 semanas, então é solicitado aos clientes que realizem a decomposição dos cenários em partes menores, sempre com a mentalidade de que os novos possam surgir.
- Projeto: o projeto XP segue o princípio KIS (keep it simple) que prega a preservação da simplicidade, assim, é preferível que se tenha um projeto simples do que uma representação mais complexa. Dessa forma, a etapa de projeto oferece um guia de implementação para uma história à medida que é escrita, ficando desencorajado o planejamento das funcionalidades extras. O uso de cartões CRC (classe-responsabilidade-colaborador) ajudam a identificar e organizar as classes orientadas a objetos relevantes para o incremento de software corrente. Nessa fase, se um grave problema de projeto for encontrado, é recomendado que seja feita a criação imediata de um protótipo operacional dessa parte do projeto (solução pontual) com objetivo de reduzir os riscos para quando a verdadeira implementação iniciar.
- Codificação: depois que os cenários dos usuários são desenvolvidos, antes da codificação, a equipe XP desenvolve uma série de testes de unidade que exercitarão cada um dos cenários que serão incluídas na iteração (TDD). Após a escrita dos testes, tem início a fase de codificação em si, que envolve um conceito-chave da metodologia XP que é a programação em dupla. Conforme a dupla de programadores completa o trabalho, o código é integrado ao trabalho dos outros, por uma equipe de integração, ou em alguns casos, pela própria dupla programadora.
- Testes: como discutido no item de codificação acima, a criação de testes de unidade, são criados antes da etapa de codificação em si. Esses mesmos testes devem ser implementados de forma que seja possível reproduzi-los de forma automática. Essa abordagem permite que os testes ocorram diariamente, dando à esquipe XP uma indicação contínua do progresso e possibilitando que possíveis erros sejam encontrados e corrigidos não somente depois que o código esteja pronto. Já os testes de aceitação, são especificados pelos clientes durante a confecção dos cenários de usuários e mantém o foco nas características e funcionalidades que o sistema possui do ponto de vista do cliente.
4 CONCLUSÃO
Ao elucidarmos sobre a metodologia XP, percebe-se de forma clara que desde a sua criação em 1999, a sua evolução tem contribuído para garantir a eficiência do método. Os grandes exemplos da Chrysler e Ford Motors reafirmam que as boas práticas contribuem para o desenvolvimento de softwares de forma ágil e eficiente.
...