Extreme Programming: quais principais regras e valores?
- 3/10/2019
- Robson Camargo
Semelhante a outros métodos ágeis, o Extreme Programming também oferece pequenos lançamentos iterativos em intervalos frequentes ao longo do ciclo de vida de um projeto.
Assim como o Manifesto Ágil, o Extreme Programming (XP) também trabalha a partir de alguns valores e regras que vamos conhecer ao longo desse texto.
O que é Extreme Programming?
Um dos mais populares do movimento ágil, o Extreme Programming é a metodologia de desenvolvimento de software mais apropriada para o setor, porque produz melhorias de qualidade e alto nível de adaptabilidade.
Essa afirmação ganha força porque dentro da engenharia de software o XP proporciona mais agilidade para ambientes acelerados, que não estão mais coerentes com abordagens tradicionais de gerenciamento de projeto, como o método cascata ou preditivo, que prevê um longo período de execução e apenas uma entrega final.
A utilização dessa metodologia capacita os desenvolvedores a proporcionar mais satisfação aos clientes porque permite respostas mais confiantes para as mudanças de requisitos e escopo, mesmo quando o produto está ao final do seu ciclo.
O framework XP é aplicável quando:
- A equipe é pequena, não superior a 12 pessoas;
- Prevê riscos causados por projetos de tempo fixo com a utilização de novas tecnologias;
- Projetos de pesquisa que prevêem mudanças constantes;
- A tecnologia que os desenvolvedores estão usando permite testes automatizados de unidades e funcionalidades;
- Tem alteração dinâmica dos requisitos do software e escopo.
O Extreme Programming foi criado em 1996, pelo engenheiro de software Kent Beck, quando o surgimento da internet no início dos anos 1990 promoveu uma necessidade de mudanças no desenvolvimento de softwares, que antes tinham um ciclo de vida muito mais longo.
A necessidade cada vez maior de velocidade no meio, inspirou o Extremme Programming a levar as práticas ágeis a níveis extremos, para responder as solicitações dos clientes de forma cada vez mais rápida.
Para isso, o XP trabalha com regras simples, mas que operam de forma muito eficaz tornando os gerentes, clientes e desenvolvedores são todos parceiros, formando uma equipe altamente produtiva e auto-organizada.
Scrum VS XP
Entre as várias metodologias ágeis, o Scrum vs XP vão apresentar diversas semelhanças, como o ênfase em trabalho em equipe, mas a principal diferença é que enquanto o Extreme Programming está muito mais focado e apropriado para as peculiaridades da área de software, o Scrum pode ser aplicado em qualquer setor.
Metodologias ágeis: XP abrange 5 valores
Para trabalhar com rapidez e eficiência, a metodologia ágil XP é baseada em cinco valores para que os envolvidos no projeto se sintam confiantes na direção que o projeto estará tomando:
Simplicidade
O Extreme Programming vai dividir a etapa principal em metas menores, totalmente realizáveis pela equipe desenvolvedora, que cumpre apenas exatamente o que foi solicitado para maximizar o valor criado na etapa.
Comunicação
Todos envolvidos no desenvolvimento, que trabalham juntos, de requisitos à implementação de códigos, devem se comunicar diariamente, durante reuniões stand-up, para atualização de status e resolução de problemas de forma imediata.
Coragem
Não há nada a temer com as mudanças de requisitos durante a execução do software, especialmente porque todos trabalham juntos. Por isso, é preciso sempre dizer a verdade sobre estimativas e progresso no desenvolvimento.
Cada membro da equipe deve assumir a responsabilidade pela sua parte de forma corajosa, com uma “ação efetiva diante do medo”, conforme previu o próprio criador do XP, Kent Beck.
Respeito
Nas equipes dessa metodologia ágil o respeito é ponto fundamental para que a comunicação seja boa, o que vai promover melhor fornecimento de feedbacks e aceitação deles, especialmente quando houver necessidade de promover mudanças.
Feedback
As equipes do Extreme Programming devem se adaptar de acordo com as necessidades do cliente e do projeto, por isso, os feedbacks são tão importantes.
Também pela mesma razão, os desenvolvedores precisam apresentar o software com frequência e antecedência para promover alterações necessárias.
Regras do Extreme Programming
As regras do Extreme Programming, publicadas pela primeira vez em 1999, também são muito simples, e funcionam quase no formato de um quebra-cabeças de engrenagens encaixadas:
Extreme Programming Planning (Planejamento)
Nesta fase, o cliente vai escrever histórias de usuário que gostaria de ver. Essa reunião vai acontecer no início do ciclo da iteração e vai contar com:
- Histórias de usuários;
- Será criado um planejamento de liberação para criar a programação de liberação;
- Projeto é dividido em iterações e lançamentos frequentes;
- O planejamento de iteração vai iniciar cada iteração.
Gerenciamento
Essa é a etapa em que o gerente de projeto vai escolher a equipe, que vai trabalhar de forma colaborativa, e poderá promover sucesso no desenvolvimento do software. Nesta fase há ações como :
- Espaço de trabalho aberto e dedicado;
- Definição de ritmo sustentável;
- Reunião stand up todos os dias;
- Medição da velocidade do projeto;
- Movimento das pessoas;
- Correção do XP, quando necessário.
Projetando
Nessa regra o valor da simplicidade ganha peso, com início de um design mais simples ou não adicionar funcionalidade com muita antecedência. Algumas ações dessa fase são:
- Escolher metáfora do sistema;
- Usar cartões CRC para sessões de design;
- Criar soluções de pico para reduzir riscos;
- Cuidado na adição das funcionalidades com muita antecedência;
- Refatorar sempre que possível, para aprimorar a concepção do software.
Codificação
Depois de várias fases de trabalho é chegada a hora de implementação do código no software. Nesta hora, todos revisam e qualquer um dos desenvolvedores podem acrescentar funcionalidades. Para isso é necessário que:
- O cliente esteja disponível e presente;
- Desenhar diagramas (Extreme Programming Diagram) que serão inscritos nos códigos;
- O código seja escrito de acordo com os padrões definidos;
- Codificar o teste de unidade primeiro;
- Todo teste de codificação será programado com membros das equipes em pares;
- Apenas um par vai integrar um código por vez;
- Configurar um computador de integração dedicado;
- Usar propriedade coletiva.
Testes
Nesta fase, a equipe precisa fazer testes de unidade para corrigir eventuais bugs, antes que código seja liberado. Além disso:
- Quando um erro é encontrado, os testes são criados;
- Os testes de aceitação são realizados frequentemente e a pontuação é executada.
Entendeu? Para quem já trabalha com as metodologias ágeis ou não, mas está envolvido em um projeto de software, o Extreme Programming será a melhor opção para programas que envolvam riscos, com prazos apertados; têm funcionalidades que mudam constantemente e clientes que não estão bem certos do que querem.
Sobre o autor
Robson Camargo, PMP, MBA, GWCPM, ASF é professor nos cursos de MBA das Principais Escolas de Negócio do País: FGV, Fundação Dom Cabral e FIA/USP com Certificação PMP – Project Management Professional emitida pelo PMI, MBA em Administração de Projetos pela FEA/USP e Master Certificate pela George Washington. Robson Camargo é autor do livro PM VISUAL e criador do Método PM VISUAL. Sua equipe realiza treinamentos e consultorias em empresas do Brasil e exterior. Robson Camargo está à frente da RC Robson Camargo – Projetos e Negócios, há mais de 11 anos.
As marcas PMP, PMI, PMBOK e a logomarca “REP” RegisteredEducationProvaider são marcas registradas do Project Management Institute, Inc.
Deixe seu Comentário