Introdução à Programação extrema (XP)

Documentos relacionados
Introdução a Métodos Ágeis com ênfase em XP. Alfredo Goldman Professor do IME - USP

Programação Extrema na Prática

A Evolução de XP segundo Kent Beck Parte 1

Programação extrema (XP)

MANIFESTO ÁGIL, SCRUM E EXTREME PROGRAMMING COMO CONSTRUIR SOFTWARE COM QUALIDADE E QUE AGREGAM VALOR AO CLIENTE?

PROGRAMAÇÃO EXTREMA - XP

Programação extrema (XP)

XP EXTREME PROGRAMMING. AGO106 - Gestão

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa

Extreme Programming: Valores e Práticas

Métodos Ágeis e Programação Extrema (XP)

Refatoração: Melhorando código existente

EXTREME PROGRAMMING (XP)

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Princípios e práticas de extremme Programming

Processos Ágeis de Desenvolvimento de Software. Yuri Pereira

Desenvolvimento de Software de Qualidade através de Testes Automatizados

O papel do QA (Testador) em um time Ágil. #caipiraagil2017

Introdução a Métodos Ágeis. Curso de Verão IME/USP

Processos Ágeis de Desenvolvimento de Software

Dificuldades na implantação de Métodos Ágeis

Uma introdução a Domain Driven Design. Daniel Cukier IME-USP

Desenvolvimento ágil de software

Desenvolvimento Ágil de Software

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Programação extrema (XP)

Desenvolvendo Software Livre com Programação extrema

5. Qual é a primeira execução do desenvolvimento orientado a testes?

Engenharia de Software DESENVOLVIMENTO ÁGIL

Código Limpo. Curso de Verão IME/USP Hugo Corbucci

Módulo I Princípios e Padrões de Projeto de SW em Java

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Lista de Exercícios 02: Revisão

Disciplina: Engenharia de Software. 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

2 Processos Ágeis Scrum

Princípios em refatoração. Prof. André Luiz Peron Martins Lanna

Daniel Wildt

Prof. Me. Marcos Echevarria

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

2. Modelos de Desenvolvimento de Software

Testes de Unidade. Curso de Verão IME/USP Hugo Corbucci

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

Desenvolvimento de Sistemas para WEB Site:

DECIDA QUAL O NÍVEL DE FLUÊNCIA ÁGIL MAIS ADEQUADO PARA SEU TIME SUZYANNE OLIVEIRA E JULIANA CHAHOUD

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Modulo I Introdução ao XP

Os Desafios da Segurança no Desenvolvimento com Métodos Ágeis. OWASP Education Project. The OWASP Foundation

1. A função DevOps, que se concentra principalmente em Produtos & Serviços:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

UM POUCO DO NOSSO TRABALHO. Desenvolvimento de produtos digitais

Capítulo 3. Desenvolvimento Ágil de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Modelos de Gestão de Projetos

A Evolução de XP segundo Kent Beck Parte 2

Desenvolvimento orientado por testes, padrões de testes e JWebUnit

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Engenharia de Software. Projeto de Arquitetura

Refatoração: uma introdução. Prof. André Luiz Peron Martins Lanna

Transcrição:

Introdução à Programação extrema (XP) Cursos de Verão 2008 - IME/USP Mariana Bravo e Hugo Corbucci Departamento de Ciência da Computação www.agilcoop.org.br

O que é? XP é leve XP é focado no desenvolvimento de software XP funciona em times de qualquer tamanho XP se adapta à requisitos vagos e que mudam rapidamente

De onde vem? Metodologia de desenvolvimento de software aperfeiçoada nos últimos 8 anos. Ganhou notoriedade a partir da OOPSLA 2000. Nome principal: Kent Beck. 3

Os Valores de XP Comunicação Feedback Coragem Simplicidade Respeito 4

Introdução às práticas de XP Atividades a serem adotadas no cotidiano da equipe Adaptáveis a diferentes contextos Se suportam e complementam Permitem adoção em pequenos passos 5

A equipe e seu ambiente Time completo: Equipe inteira com o mesmo objetivo Sentar juntos: Todos na mesma sala e próximos 6

A equipe e seu ambiente Papéis Coach: Lembra a todos as práticas e ajuda com dificuldades na equipe Tracker: Mantem informações sobre o projeto e elabora gráficos que mostrem as mais importantes à equipe Cliente: Determina o que é mais importante, responde dúvidas dos programadores e toma decisões sobre funcionalidades. 7

A equipe e seu ambiente Área de trabalho informativa: A sala de trabalho deve transmitir as informações essenciais pra equipe e ajudar a resolver problemas. Cliente presente: Dúvidas devem ser respondidas com o mínimo de atraso possível e com o máximo de contato. 8

Jogo do planejamento Clientes escrevem e priorizam histórias Desenvolvedores estimam as mais prioritárias Suporte do coach e do tracker para evitar otimismo ou pessimismo excessivo 9

No início Exploração: Antes do desenvolvimento do sistema, a equipe passa um período estudando e trabalhando com as tecnologias. Spikes: Ensaios de código rápidos com o intuito de aprender ou comunicar idéias. 10

Tudo várias vezes Ciclos diários: Alta granularidade e precisão semanal: Granularidade média da estação: Planejamento relativamente vago com folga 11

Sem exagerar Trabalho energizado: Balancear a intensidade do trabalho para não desgastar a equipe. Folga: Não planeje até o último minuto. Deixe uma folga para imprevistos porque eles sempre surgem. 12

Melhorando sempre Análise de causa inicial Retrospectiva: Nada é perfeito. Tudo sempre pode melhorar e, para isso, precisa entender o que deu certo e errado. Continuar + Parar - Começar 13

Trabalhando em equipe Código compartilhado: Eu fiz, você arruma, nós nos ajudamos Padronização do estilo de código: Seu código e meu código devem ser quase idênticos e indistinguíveis 14

Código unificado Repositório único Integração contínua 15

Build de 10 minutos 16 Fonte: http://xkcd.com/303/

Design Incremental Simples YAGNI: You Aint Gonna Need It Você não vai precisar disso Refatoração DRY: Dont Repeat Yourself Não se repita Investimento contínuo: Refatorar é um investimento pro futuro 17

Testes Desenvolvimento dirigido por testes Testes automatizados Unidade: Testa o código Aceitação: Testa a funcionalidade Interface: Testa a interação com usuário 18

Redundância Programação pareada: Distribuindo conhecimento na equipe 19

Um dia de XP Escolhe uma história do cliente. Procura um par livre e um computador. Seleciona um cartão de história. Discute modificações recentes no sistema Discute história do cliente Entra no ciclo: Testes Implementação Projeto (design) Integração 20

Atos constantes no desenvolvimento Executa testes antigos. Busca oportunidades para simplificação. Modifica desenho e implementação incrementalmente baseado na funcionalidade exigida no momento. Escreve novos testes. Enquanto todos os testes não rodam a 100%, o trabalho não está terminado. Integra novo código ao repositório. 21

Começando Pequenos passos: As práticas podem ser adotadas aos poucos. Escolha de coach: O cara experiente que ajuda a equipe. Adaptando: Refletir sobre objetivos e como atingí-los. 22

Quando não usar Quando os valores de XP conflitam com os valores da sua empresa ou equipe. Muito cuidado com: Sistemas críticos Sistemas muito grandes Enorme sistema legado 23

Envolva-se Conferências: Agile 2008 (http://www.agile2008.org/) OOPSLA 2008 (http://www.oopsla.org/) Sites colaborativos: Martin Fowler (http://martinfowler.com/) Ron Jeffries (http://www.xprogramming.com/) Brian Marick (http://www.testing.com/) Ward Cunningham (http://c2.com/cgi/wiki?extremeprogramming) 24

Maiores informações AgilCoop: http://www.agilcoop.org.br/portal Outros: http://www.agilealliance.org/ http://www.xispe.com.br/ http://www.extremeprogramming.org/ http://www.agilealliance.com.br/ 25