TEMA 01 Flashcards
O que é Extreme Programming(XP)?
Criada em 1996 por Kent Beck, Ward Cunningham e outros
desenvolvedores,
Extreme programming é uma metodologia ágil de desenvolvimento
de software que enfatiza a simplicidade, a comunicação e o feedback rápido. Ela visa produzir
software de alta qualidade de forma rápida e eficiente, mantendo um ritmo sustentável de trabalho.
Esta metodologia é dinâmica eversátil, mas exige que a equipe de desenvolvimento seja
rigorosamente disciplinada, pois possui uma série de valores, princípios e práticas que precisam ser
seguidos para que a eficácia no projeto seja atingida.
Quais são quatro valores do XP?
Extreme Programming se concentra em quatro valores fundamentais:
-Comunicação
-Simplicidade
-Feedback
-Coragem.
A comunicação é importante porque a programação é uma atividade social e
colaborativa.
A simplicidade é importante porque sistemas simples são mais fáceis de manter e
adaptar.
O feedback é importante porque permite ajustar continuamente o projeto às necessidades
do cliente.
E a coragem é importante porque o XP envolve constantes mudanças e riscos.
Fale sobre os quatro valores do XP.
O método Extreme Programming (XP) está focado em quatro valores fundamentais que
orientam a equipe do projeto.
- Comunicação: é a chave para a resolução de conflitos, para a solução de problemas. Por meio
dela, é possível encontrar possibilidades de melhorias no projeto. - Simplicidade: o código-fonte deve ser sempre organizado e de fácil compreensão. Não devem
ser mantidas funcionalidades desnecessárias. - Feedback: a equipe do projeto tem retornos constantemente, seja dos testes, seja dos outros
colegas ou dos clientes. Com esses feedbacks é possível realizar os ajustes com maior
celeridade. - Coragem: a equipe do projeto precisa tomar decisões difíceis, sair da zona de conforto e testar
novas ideias, permitindo, com isso, que decisões assertivas para o projeto sejam tomadas.
Esses valores norteiam as práticas do XP, auxiliando no trabalho colaborativo, eficaz e com foco
no cliente da equipe do projeto.
O que se espera quando se segue os princípios do XP? E quais são eles?
Ao seguir os princípios do XP, a equipe de desenvolvimento de software pode produzir software de
alta qualidade que atenda às necessidades do cliente de forma eficaz.
Estes princípios incluem
-Feedback rápido
-Simplicidade
-Mudança incremental
-Qualidade de trabalho
-Pequenos passos
-Melhoria contínua
-Diversidade
-Reflexão constante.
Quais são os 12 princípios para o desenvolvimento ágil de software?
Na metodologia XP, existem 12 princípios fundamentais para o desenvolvimento ágil de
software.
- Feedback rápido: o feedback dos clientes e usuários finais norteia a equipe de desenvolvimento
para realizar os ajustes necessários em tempo real. - Presunção de simplicidade: buscar sempre as soluções mais simples para entregar um produto
de qualidade; é mais fácil entender, manter e atualizar um código mais simples e organizado. - Mudança incremental: o desenvolvimento deve ser realizado de maneira incremental e, a cada
etapa, deve entregar um software funcional; a equipe deve estar pronta para mudanças sempre
que exigido. - Trabalho de alta qualidade: a equipe do projeto deve garantir que o sistema seja testado,
organizado e documentado. - Pequenos passos: devem ser definidos pequenos ciclos de entrega do produto, para garantir
que seja entregue valor ao cliente com maior rapidez e, com isso, que os ajustes sejam
realizados à medida que são identificados. - Melhoria contínua: a equipe do projeto deve buscar constantemente aprimoramento no
processo de desenvolvimento do software, com o intuito de melhorar a qualidade, a
performance e a eficiência do projeto. - Diversidade: a equipe deve ter várias habilidades, experiências e visões para agregar ao produto
soluções criativas e inovadoras. - Reflexão constante: a cada término de iteração, a equipe deve identificar o que funcionou bem
e o que precisa melhorar e, com isso, ajustar o processo para as próximas iterações. - Comunicação: a comunicação entre a equipe e com o cliente deve ser clara e direta para o bom
entendimento das necessidades e objetivos do projeto. - Respeito: as opiniões devem ser respeitadas para que o ambiente de trabalho seja agradável e
produtivo. - Coragem: a equipe deve ter coragem para fazer os questionamentos necessários, tomar
decisões difíceis e realizar mudanças de projeto, mesmo que audaciosas. - Presença/disponibilidade do cliente: durante o projeto é primordial que o cliente esteja
presente para orientar e entregar seu feedback.
O XP define várias práticas que as equipes de desenvolvimento de software devem seguir para
alcançar seus objetivos, sendo elas:
jogo do planejamento – reunião entre o cliente e a equipe de desenvolvimento para definir quais
funcionalidades serão desenvolvidas em um determinado período;
pequenos releases – releases curtos e frequentes para entregar funcionalidades que agreguem valor ao cliente;
metáfora – explicar o software por meio de metáforas para facilitar o entendimento da equipe;
projeto simples – construir um software claro e objetivo para facilitar sua manutenção e
evolução;
testes – criar testes automatizados para garantir a qualidade do software;
programação em par – adotar o pair programming;
refatoração – adotar a refatoração;
integração contínua – integração contínua do código desenvolvido para que seja testado e
validado com frequência;
ritmo sustentável – definir um ritmo de trabalho que seja saudável para a equipe;
cliente presente – trazer o cliente para trabalhar próximo à equipe;
programação em duplas rotativas – mudar as duplas de programação com frequência.
propriedade coletiva do código – todos os desenvolvedores são responsáveis pelo código e
podem alterá-lo sempre que necessário;
padrões de codificação – definir um padrão de codificação a ser aplicado pela equipe de
desenvolvimento para que seja mais fácil sua manutenção;
integração do usuário – utilizar as histórias de usuário (user stories) para documentar as
funcionalidades;
refatoração em larga escala – melhorar a qualidade do código em grande escala; pode
abranger alterações consideráveis;
programe o que você precisa hoje – o desenvolvedor deve codificar somente o que foi
acordado para aquele momento; evitar desenvolver funcionalidades que podem ser necessárias
no futuro;
uso de metodologias ágeis – outras metodologias ágeis, Scrum, Kanban e Lean podem ser
utilizadas em conjunto com o XP.
As práticas da Extreme Programming (XP) podem ser adequadas e ajustadas de acordo com as
necessidades da equipe ou do projeto. A equipe pode trabalhar com as práticas que forem mais
aderentes ao seu processo de desenvolvimento, buscando sempre entregar valor ao cliente.