XP Flashcards
O que é eXtreme Programming (XP)?
O eXtreme Programming é uma metodologia ágil de desenvolvimento de software para equipes pequenas, coesas e multidisciplinares cujos projetos possuem requisitos vagos e em constante mudança.
Qual é o modelo de história de usuário?
Como um [ATOR] eu quero/preciso de/devo/gostaria de [AÇÃO] para [FUNCIONALIDADE].
Como um vendedor responsável pelo setor de livros eu quero procurar por livros filtrando por nome para que seja possível verificar se o livro X está disponível para compra.
Quais são os valores fundamentais do XP?
SR. FCC
Simplicidade:
XP incentiva que se comece com a solução mais simples. Funcionalidades adicionais podem ser acrescentadas posteriormente. Alega-se que desenvolver funções que não são necessárias hoje pode ser prejudicial, na medida em que futuramente essa função pode não ser mais útil.
Respeito:
Aqui se inclui o respeito pelos outros, assim como o auto-respeito. Membros devem respeitar seu próprio trabalho, sempre se esforçando para oferecer alta qualidade e buscando o melhor projeto para a solução através de refatoração.
Feedback:
O feedback ocorre quando os testes unitários ou testes de integração retornam o estado do sistema após a implementação das mudanças. Ademais, como os clientes participam do desenvolvimento de testes, eles podem dar um feedback instantâneo.
Coragem:
A coragem permite que os desenvolvedores se sintam confortáveis ao refatorar o seu código, quando necessário. Eventualmente, há de se ter coragem para jogar fora um código ou para remover um código obsoleto, não importa quanto esforço e tempo se gastou para produzi-lo.
Além disso, coragem significa persistência, pois um programador pode se encontrar preso em um problema complexo durante um dia inteiro sem conseguir resolver.
Comunicação:
Para se desenvolver um sistema de software, exige-se comunicar os requisitos de sistema para os desenvolvedores. Em metodologias formais de desenvolvimento de software, esta tarefa é realizada por meio de documentação. O Extreme Programming favorece projetos simples, metáforas comuns, a colaboração dos usuários, programadores e outros stakeholders, a comunicação verbal frequente e o feedback.
Quais são os princípios básicos do XP?
Feedback rápido:
Retorno tempestivo do cliente, isto é, o sistema é apresentado e – a cada mudança – há um novo retorno positivo ou negativo do cliente.
Abraçar mudanças:
Mudanças devem ser bem-vindas e ocorrerão de acordo com o melhor entendimento do projeto.
Presumir simplicidade:
Todo problema deve ser tratado para ser resolvido da forma mais simples possível.
Mudanças incrementais:
A solução deve ser aperfeiçoada a cada iteração de modo a satisfazer, ao fim, as expectativas do usuário.
Trabalho de qualidade:
A qualidade jamais deve ser comprometida – essa é uma das razões para se ter a codificação dos testes antes da codificação do sistema.
O que é o planejamento incremental no XP?
Os requisitos são registrados em cartões de histórias e as histórias a serem incluídas em um release são determinadas pelo tempo disponível e sua prioridade relativa. Os desenvolvedores dividem essas histórias em tarefas.
O que são pequenos releases?
O conjunto mínimo útil de funcionalidade que agrega valor ao negócio é desenvolvido primeiro. Releases do sistema são frequentes e adicionam funcionalidade incrementalmente ao primeiro release.
Por que se mantém um Projeto Simples no XP?
Para que se atenda os requisitos atuais e nada mais para evitar desperdícios.
No que consiste o desenvolvimento test-first?
Um framework automatizado de teste unitário é usado para escrever os testes para uma nova parte da funcionalidade antes que esta seja implementada. Portanto, primeiro se escreve o teste, depois faz-se a implementação.
O que significa a prática de refactoring?
Espera-se que todos os desenvolvedores recriem o código continuamente tão logo os aprimoramentos do código forem encontrados. Isso torna o código simples de entender e fácil de manter.
Por que é feita a programação em pares no XP?
Para que atuem um verificando o trabalho do outro e fornecendo apoio para realizar sempre um bom trabalho. Eles utilizam o mesmo mouse, teclado e monitor.
Como explicar a propriedade coletiva do XP?
FAMOSO COMUNISMO
Os pares de desenvolvedores trabalham em todas as áreas do sistema, de tal maneira que não se formem ilhas de conhecimento, com todos os desenvolvedores de posse de todo o código. Qualquer um pode mudar qualquer coisa.
Do que se trata a prática de Integração Contínua no XP?
Ela diz que tão logo o trabalho em tarefa seja concluído, este é integrado ao sistema. Além disso, são realizados testes unitários.
O que seria um ritmo sustentável para a programação XP?
Grandes quantidades de horas extras não são consideradas aceitáveis, pois, no médio prazo, há uma redução na qualidade do código e na produtividade. Trabalhar por longos períodos se torna contraproducente – recomenda-se 40 horas semanais.
Como é feita a comunicação entre a equipe?
A equipe se comunica sobre o desenvolvimento de software por meio de metáforas, caso consiga encontrar uma que realmente faça sentido dentro do contexto e possa facilitar a comunicação.
O que significa dizer um cliente on-site?
Um representante do usuário final do sistema deve estar disponível em tempo integral para apoiar a equipe. No XP, o cliente é um membro da equipe de desenvolvimento e é responsável por trazer os requisitos do sistema.