Slides utilizados em aula na disciplina Qualidade de Software do Instituto de Ciências Exatas e Informática - Sistemas de Informação. Pontifícia Universidade Católica de Minas Gerais - Unidade Barreiro, 1º Semestre 2015.
• Enquanto o Scrum foca na priorização e feedback do trabalho de desenvolvimento no nível de gerenciamento de projetos, o XP foca nas melhores práticas de desenvolvimento de software. eXtreme Programing
de aceitação Pequenos releases Spike User Stories Próxima iteração Nova user story Velocidade do projeto bugs Cenários de teste Plano do release Última Versão Aprovação do cliente Estimativas incertas Estimativas confiantes
são utilizadas no planejamento de releases e iterações; • As iterações tem normalmente 2 semanas de duração e os desenvolvedores trabalham em par durante as iterações; eXtreme Programing
gostaria de <desejo>, de modo que <benefício> As a <role>, I want <goal/desire> so that <benefit> De maneira a <receber o benefício> como <papel>, eu gostaria <benefício> In order to <receive benefit> as a <role>, I want <goal/desire> Proposta de um time da Connextra Proposta de Chris Matts
fiscal da compra no meu email, de modo que eu possa comprovar a compra. Como leitor, eu gostaria de poder marcar a página que parei de ler meu e-book, de modo que eu possa retornar do mesmo lugar quando voltar a ler. De maneira a apresentar melhor a matéria como professor, eu gostaria de poder exibir conteúdo áudio visual durante a aula.
uma determinada tecnologia ou arquitetura a ser implementada em uma determinada • Funcional: sempre utilizado quando há dúvidas em como o usuário irá interagir com o sistema, do ponto de vista de usabilidade e comportamento.
de energia, para que eu possa avaliar o meu consumo do passado, presente e projetado. técnico: Pesquisar quanto leva para obter os dados de consumo de energia, quais são os possíveis canais de comunicação e banda necessária. funcional: Criar um protótipo de um histograma simulando um histórico de consumo e obter um feedback do usuário sobre usabilidade História complexa Funcional Técnico
cliente que representa o negócio; • O time é multi-disciplinar; • Um coach para assegurar as práticas e processos; • Um gestor para facilitar a comunicação externa; • Especialistas generalistas; ◦ Otimização dos recursos (pessoas).
Acontecem uma ou duas vezes por ano. Iteration planning : • Planejamento das iterações ( No Scrum → sprint); • Quebra de histórias em tarefas e estima-se o trabalho; • Comprometimento do time com a entrega.
• Testes automatizados; • O cliente cria testes que comprovam uma determinada funcionalidade em execução: Exemplo: ◦ Após realizar uma compra, acesso minha caixa de entrada de emails e devo ter recebido uma mensagem com a nota fiscal eletrônica.
pode avaliar e melhorar qualquer parte do código; • Aumenta a visibilidade e o conhecimento de todo o time sobre o código; • Aumenta a qualidade do código; • Minimiza o risco na saida de membros do time.
time possui um ritmo sustentável; • Horas extras podem eventualmente ser necessárias, mas no XP é claro que longas horas de trabalho são improdutivas e devem ser evitadas.
todo o código (normalmente diariamente) para assegurar que ele compila. • Expõe problemas de maneira antecipada antes que mais código seja desenvolvido sob um código já falho.
pessoas escrevem o mesmo código simultaneamente. • Pode parecer improdutivo, mas o XP garante que que a produtividade aumenta uma vez que os defeitos são reduzidos e a comunicação entre os membros do time aumenta;
• Os testes são escritos antes da codificação da funcionalidade; ◦ Na primeira vez que for executado o teste tem que falhar já que a funcionalidade ainda não foi implementada. O objetivo é fazer com que o teste tenha sucesso.