Introdução à Programação extrema (XP)
|
|
|
- André Peixoto
- 6 Há anos
- Visualizações:
Transcrição
1 Introdução à Programação extrema (XP) Cursos de Verão IME/USP Mariana Bravo e Hugo Corbucci Departamento de Ciência da Computação
2 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
3 De onde vem? Metodologia de desenvolvimento de software aperfeiçoada nos últimos 8 anos. Ganhou notoriedade a partir da OOPSLA Nome principal: Kent Beck. 3
4 Os Valores de XP Comunicação Feedback Coragem Simplicidade Respeito 4
5 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
6 A equipe e seu ambiente Time completo: Equipe inteira com o mesmo objetivo Sentar juntos: Todos na mesma sala e próximos 6
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 Código unificado Repositório único Integração contínua 15
16 Build de 10 minutos 16 Fonte:
17 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
18 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
19 Redundância Programação pareada: Distribuindo conhecimento na equipe 19
20 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
21 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
22 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
23 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
24 Envolva-se Conferências: Agile 2008 ( OOPSLA 2008 ( Sites colaborativos: Martin Fowler ( Ron Jeffries ( Brian Marick ( Ward Cunningham ( 24
25 Maiores informações AgilCoop: Outros:
Introdução a Métodos Ágeis com ênfase em XP. Alfredo Goldman Professor do IME - USP
Introdução a Métodos Ágeis com ênfase em XP Alfredo Goldman Professor do IME - USP Pequeno histórico Docente do IME - USP desde 1993 Interesse inicial em métodos ágeis: 2001 Ensino: Laboratório de Programação
Programação Extrema na Prática
Programação Extrema na Prática Engenharia de Software Conference - 13:40-15:00 maio/09 São Paulo Dairton Bassi - [email protected] Assuntos de Hoje Métodos Ágeis Valores Ágeis Programação Extrema Princípios
A Evolução de XP segundo Kent Beck Parte 1
A Evolução de XP segundo Kent Beck Parte 1 O que mudou nesses 5 anos? Danilo Toshiaki Sato [email protected] Agenda PARTE 1 1. Introdução 2. O que é XP? 3. O que mudou em XP? Valores, Princípios e Práticas
Programação extrema (XP)
Programação extrema (XP) Cursos de Verão 2009 - IME/USP Alfredo Goldman Departamento de Ciência da Computação www.agilcoop.org.br Agenda Primeira versão de XP Segunda versão de XP Perguntas durante a apresentação
MANIFESTO ÁGIL, SCRUM E EXTREME PROGRAMMING COMO CONSTRUIR SOFTWARE COM QUALIDADE E QUE AGREGAM VALOR AO CLIENTE?
MANIFESTO ÁGIL, SCRUM E EXTREME PROGRAMMING COMO CONSTRUIR SOFTWARE COM QUALIDADE E QUE AGREGAM VALOR AO CLIENTE? CAIO ROSÁRIO DIAS FORMADO EM TÉCNICO DE INFORMÁTICA IFBA; QUINTO SEMESTRE DO CURSO DE ANALISE
PROGRAMAÇÃO EXTREMA - XP
PROGRAMAÇÃO EXTREMA - XP Hoje em dia o maior problema para a entrega de um projeto, é a quantidade de riscos que podem ocorrer com o mesmo, como atraso na entrega, sistema que está sendo entregue não é
Programação extrema (XP)
Métodos Ágeis de Desenvolvimento de Software e a Programação extrema (XP) Cursos de Verão 2007 - IME/USP Profs. Alfredo Goldman e Fabio Kon Departamento de Ciência da Computação www.agilcoop.org.br Nossa
XP EXTREME PROGRAMMING. AGO106 - Gestão
XP EXTREME PROGRAMMING AGO106 - Gestão de Processos de Desenvolvimento de Software DESENVOLVIMENTO TRADICIONAL Sequencial: Análise, Design, Implementação, Teste, Implantação e Manutenção Características:
Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira
Projeto de Desenvolvimento Software Extreme Programming Prof.: Ari Oliveira O Extreme Programming (XP) é uma metodologia de desenvolvimento de software que auxilia na produção de sistemas de maior qualidade,
Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa
Desenvolvimento Ágil de Software Prof. Edjandir Corrêa Costa [email protected] Métodos Ágeis História Na início da década de 90 havia uma visão de que a melhor maneira para se criar software era
Extreme Programming: Valores e Práticas
Programação Extrema Extreme Programming: Valores e Práticas Prof. Mauro Lopes 1-31 34 Objetivos Anteriormente trabalhamos os conceitos do Desenvolvimento Tradicional e do Desenvolvimento Ágil. Trouxemos
Métodos Ágeis e Programação Extrema (XP)
Métodos Ágeis e Programação Extrema (XP) 1 Métodos Ágeis A insatisfação com os overheads envolvidos em métodos tradicionais de desenvolvimento levou à criação dos métodos ágeis. Esses métodos: Focam no
Refatoração: Melhorando código existente
Refatoração: Melhorando código existente AgilCoop Cursos de Verão 2010 Mariana Bravo IME/USP Refatoração Uma mudança no sistema que não altera seu comportamento funcional, mas melhora sua estrutura interna
EXTREME PROGRAMMING (XP)
EXTREME PROGRAMMING (XP) Ian Sommerville, 8º edição Capítulo 17 A arte do Desenvolvimento Ágil Aula de Luiz Eduardo Guarino de Vasconcelos Metodologia XP XP é sobre mudança social Kent Beck Não basta apenas
Análise e Projeto. Prof. Erinaldo Sanches Nascimento
Análise e Projeto Prof. Erinaldo Sanches Nascimento Objetivos Apresentar o ciclo de vida de desenvolvimento de sistemas. Descrever as metodologias de desenvolvimento de sistemas. 2 Introdução Programação
Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee
Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee Novatec Copyright 2004, 2014 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610
Princípios e práticas de extremme Programming
Princípios e práticas de extremme Programming Tiago Eugenio de Melo [email protected] 1 Sumário Introdução Princípios Práticas Quando não usar Conclusões Referências 2 extreme Programming É uma metodologia
Processos Ágeis de Desenvolvimento de Software. Yuri Pereira
Processos Ágeis de Desenvolvimento de Software Yuri Pereira [email protected] Contexto Processos ágeis surgiram como alternativa aos processos tradicionais...... que apresentam restrições principalmente
Desenvolvimento de Software de Qualidade através de Testes Automatizados
Desenvolvimento de Software de Qualidade através de Testes Automatizados Fabio Kon e Paulo Cheque Departamento de Ciência de Computação IME/USP 9/2/2009 Verão 2009 Erros de Software Causam prejuízos de
O papel do QA (Testador) em um time Ágil. #caipiraagil2017
O papel do QA (Testador) em um time Ágil #caipiraagil2017 Mariana Elisa Moisés Atualmente Mobile QA Analyst na Tegra (Sorocaba) e entusiasta de mulheres na Tecnologia!
Introdução a Métodos Ágeis. Curso de Verão IME/USP
Introdução a Métodos Ágeis Curso de Verão 2008 - IME/USP www.agilcoop.org.br Danilo Sato Mariana Bravo Tradicional ou Ágil? 2 Tradicional ou Ágil? Forecast-driven vs Feedback-driven 3 O Que é Sucesso?
Processos Ágeis de Desenvolvimento de Software
Processos Ágeis de Desenvolvimento de Software -Focono XP - Rodrigo Rebouças de Almeida [email protected] Processo Conjunto de atividades ordenadas, restrições e recursos que produzem um resultado
Dificuldades na implantação de Métodos Ágeis
Dificuldades na implantação de Métodos Ágeis Curso de Verão 2009 IME/USP Dairton Bassi Baseado na palestra Dificuldades na implantação de Métodos Ágeis apresentada no Encontro Ágil 2008 pelo Prof. Dr.
Uma introdução a Domain Driven Design. Daniel Cukier IME-USP
Uma introdução a Domain Driven Design Daniel Cukier [email protected] IME-USP Padrões Um padrão é uma regra de três partes que expressa a relação entre um certo contexto 1, um problema 2 e uma solução
Desenvolvimento ágil de software
Desenvolvimento ágil de software Prof. Cristiane Aparecida Lana slide 1 Bibliografia utilizada: Mais opções visite meu site, clique aqui para acessá-lo. slide 2 2011 Pearson 2011 Pearson Prentice Prentice
Desenvolvimento Ágil de Software
DCC / ICEx / UFMG Desenvolvimento Ágil de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Agenda Métodos ágeis Histórico e Motivação Manifesto ágil Desenvolvimento dirigido a planos e ágil
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. A figura abaixo representa, simplificadamente, as fases do Modelo de Ciclo de Vida Cascata.
Programação extrema (XP)
Programação extrema (XP) Cursos de Verão 2010 - IME/USP Alfredo Goldman Departamento de Ciência da Computação www.agilcoop.org.br Agenda Primeira versão de XP Segunda versão de XP Perguntas durante a apresentação
Desenvolvendo Software Livre com Programação extrema
Desenvolvendo Software Livre com Programação extrema Dairton Bassi FISL 7.0 abril/2006 Panorama sobre o Desenvolvimento de Software A sociedade demanda: Grande quantidade de sistemas/aplicações Sistemas
5. Qual é a primeira execução do desenvolvimento orientado a testes?
1. Técnicas de facilitação ajudam na colaboração efetiva e compreensão. Qual das opções abaixo não pode ser considerada como uma técnica de facilitação? A. Brainstorming B. Planning Poker C. Revisão da
Engenharia de Software DESENVOLVIMENTO ÁGIL
Engenharia de Software DESENVOLVIMENTO ÁGIL Em 2001, Kent Beck e outros dezesseis renomados desenvolvedores, autores e consultores da área de software assinaram o Manifesto para Desenvolvimento Ágil de
Código Limpo. Curso de Verão IME/USP Hugo Corbucci
Código Limpo Curso de Verão 2010 - IME/USP www.agilcoop.org.br Hugo Corbucci Introdução A única métrica válida de qualidade de código: VSFs/min Código bom Código ruim 2 Introdução Você sabe que está trabalhando
Módulo I Princípios e Padrões de Projeto de SW em Java
Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra [email protected] Ismael H F Santos [email protected] April 05 Prof. Ismael H. F. Santos - [email protected]
Engenharia de Software. Prof. Me. Clodoaldo Brasilino
Engenharia de Software Prof. Me. Clodoaldo Brasilino [email protected] Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Metodologia Ágil
Lista de Exercícios 02: Revisão
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Aplicadas ICEA Departamento de Computação e Sistemas DECSI Disciplina: Gerência de Configuração e Engenharia de Software CSI 487 Professor:
Disciplina: Engenharia de Software. 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE
Disciplina: Engenharia de Software 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE Quando termina o desenvolvimento de um software? A maioria das grandes empresas gasta mais na manutenção de sistemas existentes
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada
2 Processos Ágeis Scrum
2 Processos Ágeis Processos ágeis, também conhecidos como métodos ágeis, referem-se a um grupo de processos de desenvolvimento de software baseados em desenvolvimento iterativo, onde os requisitos e as
Princípios em refatoração. Prof. André Luiz Peron Martins Lanna
Princípios em refatoração Prof. André Luiz Peron Martins Lanna Agenda Definição de refatoração. Por que refatorar? Quando refatorar? Problemas com refatoração. Refatoração e projeto. Refatoração e performance.
Daniel Wildt [email protected]
Metodologias Ágeis e Software Livre Daniel Wildt [email protected] Bacharel em Informática (PUCRS) Professor Universitário (FACENSA) Mais de 10 anos de experiência em Desenvolvimento de Software, hoje
Prof. Me. Marcos Echevarria
Prof. Me. Marcos Echevarria Nas décadas de 80 e 90 a visão geral sobre a melhor maneira de desenvolver software era seguir um cuidadoso planejamento para garantir uma boa qualidade; Esse cenário era aplicável
Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana
Estágio II Aula 04 Testes Ágeis Prof. MSc. Fred Viana Agenda Manifesto dos Testes Ágeis Testes Ágeis x Testes Tradicionais Sinais de que os Testes Não São Ágeis Testador Ágil Testador Ágil em Equipe Independente
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão [email protected] http://www.luizleao.com Questão 1 O desenvolvimento de software envolve usuários, clientes e desenvolvedores. Avalie as seguintes afirmações
2. Modelos de Desenvolvimento de Software
2. Modelos de Desenvolvimento de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/06 EST, Setúbal Ciclo de Vida do Software Um sistema de software é desenvolvido gradualmente
Testes de Unidade. Curso de Verão IME/USP Hugo Corbucci
Testes de Unidade Curso de Verão 2010 - IME/USP www.agilcoop.org.br Hugo Corbucci [email protected] Caracterização 2 Caracterização 3 Caracterização 4 Caracterização 5 Caracterização Como? 6 Caracterização
MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.
METODOLOGIAS ÁGEIS SURGIMENTO As metodologias ágeis surgiram em resposta ao problema dos atrasos no desenvolvimento de software e aos cancelamentos, devido ao fato dos sistemas demorarem muito tempo para
Desenvolvimento de Sistemas para WEB Site:
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Desenvolvimento de Sistemas para WEB Site: http://jeiks.net E-mail: [email protected] Introdução
DECIDA QUAL O NÍVEL DE FLUÊNCIA ÁGIL MAIS ADEQUADO PARA SEU TIME SUZYANNE OLIVEIRA E JULIANA CHAHOUD
DECIDA QUAL O NÍVEL DE FLUÊNCIA ÁGIL MAIS ADEQUADO PARA SEU TIME SUZYANNE OLIVEIRA E JULIANA CHAHOUD JULIANA CHAHOUD JCHAHOUD.COM Consultora Principal de Desenvolvimento da ThoughtWorks, há 20 anos na
Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Modulo I Introdução ao XP
Modulo I Introdução ao XP Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - [email protected] 1 Ementa Modulo VI Xtreme Programming Valores e Princípios do XP Desenvolvimento centrado
Os Desafios da Segurança no Desenvolvimento com Métodos Ágeis. OWASP Education Project. The OWASP Foundation http://www.owasp.org
Os Desafios da Segurança no Desenvolvimento com Métodos Ágeis Education Project Rafael Dreher Porto Alegre Chapter - Co-founder Security Consultant @ Dell [email protected] Copyright 2007 The Foundation
1. A função DevOps, que se concentra principalmente em Produtos & Serviços:
Questões de múltipla escolha 1. A função DevOps, que se concentra principalmente em Produtos & Serviços: a) Desenvolvimento Ágil b) Melhoria Contínua c) Automatizar tudo d) Centralizar o Desenvolvimento
ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:
UM POUCO DO NOSSO TRABALHO. Desenvolvimento de produtos digitais
UM POUCO DO NOSSO TRABALHO Desenvolvimento de produtos digitais Desenvolvemos produtos digitais com inteligência e tecnologia. Somos especialistas em comportamento digital e criamos experiências que impulsionam
Capítulo 3. Desenvolvimento Ágil de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 3 Desenvolvimento Ágil de Software slide 1 Tópicos apresentados Métodos ágeis Desenvolvimento ágil e dirigido a planos Extreme Programming Gerenciamento ágil de projetos Escalamento de métodos
Modelos de Gestão de Projetos
Modelos de Gestão de Projetos Gestão de Projetos Tradicionais Criados para situações de baixo risco e incertezas, já existe conhecimento sobre o que será desenvolvido, o escopo envolvido e o objetivo proposto
A Evolução de XP segundo Kent Beck Parte 2
A Evolução de XP segundo Kent Beck Parte 2 O que mudou nesses 5 anos? Danilo Toshiaki Sato [email protected] Agenda PARTE 1 1. Introdução 2. O que é XP? 3. O que mudou em XP? Valores, Princípios e Práticas
Desenvolvimento orientado por testes, padrões de testes e JWebUnit
Desenvolvimento orientado por testes, padrões de testes e JWebUnit ou por que você quer fazer isso mas sempre deixa pro final? Copyleft -- Alexandre Freire Por que testar? Precisamos saber se o software
Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil
Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes [email protected] 2 Vale a pena ver de novo Modelo de Processo:
Engenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Refatoração: uma introdução. Prof. André Luiz Peron Martins Lanna
Refatoração: uma introdução Prof. André Luiz Peron Martins Lanna Agenda Introdução Idéias preliminares Um primeiro exemplo Conclusões Bibliografia Introdução Em DSW o assunto principal foi o Projeto de
