Extreme Programming: Valores e Práticas

Tamanho: px
Começar a partir da página:

Download "Extreme Programming: Valores e Práticas"

Transcrição

1 Programação Extrema Extreme Programming: Valores e Práticas Prof. Mauro Lopes

2 Objetivos Anteriormente trabalhamos os conceitos do Desenvolvimento Tradicional e do Desenvolvimento Ágil. Trouxemos o manifesto ágil às claras e apresentamos duas metodologias ágeis, o XP (Extreme Programming) e o Scrum. Agora iremos trabalhar dois conceitos (valores e práticas) que são pilares fundamentais da metodologia XP, objeto de estudo do nosso curso. Após esta aula o aluno terá condições de observar com maior propriedade a metodologia XP. 2

3 Plano de Aula Extreme Programming: revendo conceitos Valores do XP Práticas do XP 3

4 Extreme Programming: revendo conceitos O Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento de sistemas orientados a objeto; Equipes pequenas, preferencialmente até 12 desenvolvedores; Desenvolvimentoincremental(ou iterativo), onde o sistema começa a ser implementado logo no início do projeto e vai ganhando novas funcionalidades ao longo do tempo; O XP é um processo que busca assegurar que o cliente receba o máximo de valor de cada dia de trabalho da equipe de desenvolvimento. 4

5 Extreme Programming: revendo conceitos O Extreme Programming, ou XP, é organizado em torno de um conjunto de valores e práticas que atuam de forma harmônica e coesa para assegurar que o cliente sempre receba um alto retorno do investimento em software. Apresentaremos agora de forma resumida este conjunto de Valores e Práticas; 5

6 Valores do XP O Extreme Programming, ou XP, se baseia em quatros valores fundamentais: FeedBack Comunicação Simplicidade Coragem 6

7 Valores do XP:FeedBack Quando o cliente aprende com o sistema que utiliza e re-avalia as suas necessidades, ele gera feedback para a equipe de desenvolvimento. Feedback: mecanismo fundamental para condução diária do projeto pelo cliente. Equipe focada naquilo que gera valor para o cliente. Usuário pilotando o sistema apresentado pela equipe, para dar feedback ao cliente. (Case Encceja) Imagem obtida de: 7

8 Valores do XP:Comunicação A comunicação entre o cliente e a equipe permite que todos os detalhes do projeto sejam tratados com a atenção e a agilidade que merecem. Uma série de termos são usados no desenvolvimento ágil. É criado um vocabulário que o cliente possa usar, entender e discutir. Exemplo de alguns termos usados no Scrum (outra metodologia ágil), e que são de conhecimento do cliente 8

9 Valores do XP:Simplicidade É necessário que a equipe compreenda e utilize o valor da simplicidade, que nos ensina a implementar apenas aquilo que é suficiente para atender a cada necessidade do cliente. Evite especular sobre as necessidades dos clientes. Ganhamos mais tempo implementando as funcionalidades de hoje. Solução 1 Solução 2 Imagine que o seu cliente quer apenas usar o telefone para ligar 9

10 Valores do XP:Coragem A equipe precisa ser corajosa e acreditar que, utilizando as práticas e valores do XP, será capaz de fazer o software evoluir com segurança e agilidade. Entender o XP é fundamental para usá-la. 10

11 Práticas do XP O XP se baseia nas seguintes práticas: Cliente Presente Jogo do Planejamento Stand UpMeeting Programação em Par Desenvolvimento guiado pelos testes Refatoração Código Coletivo Código Padronizado Design Simples Metáfora Ritmo Sustentável Integração Contínua Releases Curtos; 11

12 Práticas do XP: Cliente Presente O XP trabalha com a premissa de que o cliente deve conduzir o desenvolvimento a partir do feedback que recebe do sistema; A presença do cliente viabiliza a simplicidade do processo em diversos aspectos, especialmente na comunicação; 12

13 Práticas do XP: Cliente Presente Atividade para a próxima Aula: Faça uma pesquisa sobre as estórias do usuário usadas no XP. Verifique se existe algum padrão e compare com as outras formas de levantar informações (requisitos) de outras metodologias. 13

14 Práticas do XP: Jogo do Planejamento Todo o projeto em XP é dividido em releases (entregas) e iterações; No início de cada release e de cada iteração ocorre o Jogo do Planejamento; O Jogo do Planejamento é uma reunião onde o cliente avalia as funcionalidades que devem ser implementadas e prioriza aquelas que farão parte da próxima release ou da próxima iteração; No XP as funcionalidades são descritas em pequenos cartões e são chamadas de estórias; 14

15 Práticas do XP: Jogo do Planejamento Estórias 15

16 Práticas do XP: Jogo do Planejamento 16

17 Práticas do XP: Jogo do Planejamento Atividade para a próxima Aula: Faça uma pesquisa sobre o Jogo do Planejamento. Como ele éorganizado no XP. Háalgum padrão? O que significa velocidade e pontos? 17

18 Práticas do XP: Stand Up Meeting No XP a equipe de desenvolvimento se reúne a cada manhã para avaliar o trabalho que foi executado no dia anterior e priorizar aquilo que será implementado; 18

19 Práticas do XP: Programação em Par No XP os programadores implementam as funcionalidades em pares. Esta Prática permite que o código seja revisado permanentemente, enquanto é construído. A Prática também tem o objetivo de trazer soluções mais simples e eficaz, pois os programadores se complementam; 19

20 Práticas do XP: Desenvolvimento guiado por Testes O XP utiliza alguns mecanismos para promover a alta qualidade dos sistemas. Uma delas é a programação em pares. Além dela o XP também utiliza a técnica de desenvolvimento guiado pelos teste; Os desenvolvedores escrevem testes para cada funcionalidade antes de codificá-la, desta forma aprofundam o entendimento das necessidades dos clientes (melhora a análise) e se preocupam com interfaces externas dos métodos e das classes antes de codificá-la (melhora o design); 20

21 Práticas do XP: Desenvolvimento guiado por Testes Quem não fica preocupado em alterar algo que não foi vc que fez? Testes Automatizados; Como eu posso aprender mais sobre o Sistema? Ações de Teste, devem acontecer antes do seu desenvolvimento em si; Testes de unidade e Testes de aceitação Teste de unidade: verificar se os resultados gerados por cada classe estão corretos (teste simples funcional) Testes de Aceitação: verificar se a interação entre as classes que implementam uma funcionalidade (estória) atendem a necessidade de forma correta 21

22 Práticas do XP: Desenvolvimento guiado por Testes Atividade para a próxima Aula: Que outros testes de software existem? Que ferramentas existem para a automação de testes. Comente sobre as suas descobertas. 22

23 Práticas do XP: Refatoração Freqüentemente para fazer o sistema evoluir, a equipe irá modificar partes do sistema que esteja funcionando; A Refatoração é o ato de alterar um código sem afetar a funcionalidade que ele implementa; É utilizado para tornar o software mais simples de ser manipulado pela equipe de desenvolvimento e faz uso fortemente dos testes para evitar que mudanças façam com que o sistema pare de funcionar; 23

24 Práticas do XP: Código Coletivo No XP os desenvolvedores tem acesso a todas as partes do código e podem alterar aquilo que julgarem importante sem a necessidade de pedir autorização de outra pessoa, pois o código é coletivo; Este é mais um mecanismo de revisão e verificação do código; Se durante a leitura de um código este se mostrar confuso, ele é sério candidato a Refatoração; 24

25 Práticas do XP: Código Padronizado Padrões de codificação ajudam na rápida manipulação do código, principalmente durante as ações de manutenção; O padrão de codificação torna o sistema mais homogêneo; 25

26 Práticas do XP: Código Padronizado Atividade para a próxima Aula: Pesquise se as Linguagens de Programação possuem algum padrão para nome de variáveis, identação, etc, em resumo, padrão de escrita do código-fonte. 26

27 Práticas do XP: Design Simples Ao invés de criar generalizações dentro do código, de modo a prepará-lo para possíveis necessidades futuras, a equipe deve sempre optar por um código que seja suficiente para atender as necessidades da funcionalidade solicitada; A Refatoração, os testes e as demais práticas dão suporte a este crescimento incremental do código; 27

28 Práticas do XP: Metáfora Muitas vezes pessoas tentam explicar um assunto ou problema a outras pessoas por um período sem obter o êxito necessário na explicação dada, simplesmente as outras pessoas não conseguem entender a mensagem que está se tentando repassar; Ao criar comparações e analogias com o assunto que está em questão as pessoas passarão a entender deste assunto de uma forma muito mais rápida e possivelmente não a esquecerão mais. Este tipo de artifício é chamado de metáfora no XP; 28

29 Práticas do XP: Ritmo Sustentável Uma grande problema nos projetos de software é a falta de tempo para encerrar o mesmo, e uma das técnicas mais adotadas para compensar a falta de tempo é submeter os desenvolvedores (humanos) a trabalharem até mais tarde e muitas vezes sacrificarem seus finais de semana; Precisamos de desenvolvedores ativos, criativos e dispostos a solucionar problemas. Precisamos manter o ritmo sustentável; 29

30 Práticas do XP: Integração Contínua No desenvolvimento tradicional geralmente as equipes são organizadas de modo que uma parte (módulo) fique sob responsabilidade de um desenvolvedor, cabe a esta pessoa efetuar testes e codificação que dizem respeito a sua parte. Esta estratégia reduz a complexidade e as preocupações de um desenvolvedor; O XP propõe uma integração contínua, se possível deve ser efetuada diversas vezes ao dia para que toda a equipe tenha conhecimento do código recém desenvolvido. Com esta prática o feedback sobre a alteração efetuada será retornado em um menor espaço de tempo; 30

31 Práticas do XP: Releases Curtos No modelo tradicional o projeto é dividido em fases, de um modo que o cliente começará a ter benefício com o sistema muito próximo de o mesmo estar finalizado. A maior parte do investimento do projeto é feita antes mesmo de estar concluído, sem ter gerado qualquer tipo de valor econômico ao cliente; O XP recomenda que pequenos investimentos sejam efetuados de forma gradual (entregas) e que busque grandes recompensas o mais rapidamente possível. Com a prática de releases curtos, o XP pretende dar o máximo de valor econômico ao cliente em um curto espaço de tempo; 31

32 Perguntas Página do Professor Mauro: 32

33 Próxima Aula... Práticas do XP: Cliente Presente e Jogo do Planejamento. 33

34 Referências Materiais avulsos da Internet e o Livro Extreme Programming, Vinicius Manhães Teles, 1ª Edição - Editora Novatec, 316 páginas. Apresentando XP. Encante seus clientes com Extreme Programming:(acessado em ) Programming.html 34

XP EXTREME PROGRAMMING. AGO106 - Gestão

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:

Leia mais

2 Processos Ágeis Scrum

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

Leia mais

Sumário. Capítulo 3 Valores do XP Feedback Comunicação... 46

Sumário. Capítulo 3 Valores do XP Feedback Comunicação... 46 Sumário Sobre o autor... 6 Revisores técnicos... 7 Agradecimentos... 9 Prefácio... 17 Introdução... 19 Capítulo 1 Extreme Programming: visão geral... 21 Valores do XP... 22 Práticas do XP... 23 Cliente

Leia mais

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 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

Leia mais

Giovane Mendes Costa Kennedy da Silva Menezes

Giovane Mendes Costa Kennedy da Silva Menezes Giovane Mendes Costa Kennedy da Silva Menezes 2 INTRODUÇÃO A indústria de software passou por grandes transformações e grandes desafios, entre eles, desenvolver software com qualidade no menor tempo possível;

Leia mais

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

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,

Leia mais

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

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa Desenvolvimento Ágil de Software Prof. Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br 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

Leia mais

Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil)

Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil) Programação Extrema Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil) Prof. Mauro Lopes 1-31 25 Plano de Aula Desafios do Desenvolvimento de Software Introdução

Leia mais

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

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

Leia mais

Modulo I Introdução ao XP

Modulo I Introdução ao XP Modulo I Introdução ao XP Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo VI Xtreme Programming Valores e Princípios do XP Desenvolvimento centrado

Leia mais

Programação Extrema na Prática

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 - dbassi@gmail.com Assuntos de Hoje Métodos Ágeis Valores Ágeis Programação Extrema Princípios

Leia mais

Processos Ágeis de Desenvolvimento de Software

Processos Ágeis de Desenvolvimento de Software Processos Ágeis de Desenvolvimento de Software -Focono XP - Rodrigo Rebouças de Almeida rodrigor@rodrigor.com Processo Conjunto de atividades ordenadas, restrições e recursos que produzem um resultado

Leia mais

Princípios e práticas de extremme Programming

Princípios e práticas de extremme Programming Princípios e práticas de extremme Programming Tiago Eugenio de Melo tiago@comunidadesol.org 1 Sumário Introdução Princípios Práticas Quando não usar Conclusões Referências 2 extreme Programming É uma metodologia

Leia mais

Desenvolvimento Ágil de Software

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

Leia mais

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

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 dtsato@ime.usp.br Agenda PARTE 1 1. Introdução 2. O que é XP? 3. O que mudou em XP? Valores, Princípios e Práticas

Leia mais

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo

Leia mais

Desenvolvimento Ágil

Desenvolvimento Ágil Programação para a Plataforma Android Aula 15 Desenvolvimento Ágil O que são métodos ágeis de programação? O que é desenvolvimento orientado a testes? Quais recursos podem ser usados para deixar o desenvolvimento

Leia mais

Scrum e Extreme Programming

Scrum e Extreme Programming Scrum e Extreme Programming CODEX Sumário Objetivo 3 Scrum 4 Papéis de Atuação 4 Eventos do Scrum 5 Artefatos do Scrum 5 Porque Scrum? 5 Extreme Programming 6 Práticas do Extreme Programming 6 Porque XP?

Leia mais

PROJETO EM SISTEMAS DE INFORMAÇÃO. Unidade I - Metodologia de desenvolvimento a ser adotada. Luiz Leão

PROJETO EM SISTEMAS DE INFORMAÇÃO. Unidade I - Metodologia de desenvolvimento a ser adotada. Luiz Leão Unidade I - Metodologia de desenvolvimento a ser adotada Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Exposição das metodologias possíveis, conforme o tipo de projeto; Fundamentação

Leia mais

Desenvolvimento Ágil. Fernando Magno Quintão Pereira. 8 de Novembro de 2010

Desenvolvimento Ágil. Fernando Magno Quintão Pereira. 8 de Novembro de 2010 Desenvolvimento Ágil Fernando Magno Quintão Pereira 8 de Novembro de 2010 Questão 1 Considere as seguintes contraposições: Iterações entre indivíduos ferramentas e processos. O software que funciona boa

Leia mais

Desenvolvimento ágil de software

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

Leia mais

Informática I. Aula Aula 21-29/11/06 1

Informática I. Aula Aula 21-29/11/06 1 Informática I Aula 21 http://www.ic.uff.br/~bianca/informatica1/ Aula 21-29/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

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? 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

Leia mais

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: 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.

Leia mais

Proposta do desenvolvimento de um software para apoio ao ensino da disciplina de programação orientada a objetos

Proposta do desenvolvimento de um software para apoio ao ensino da disciplina de programação orientada a objetos Anais do I Simpósio Interdisciplinar de Tecnologias na Educação [SInTE] IFSP Câmpus Boituva 24 a 26 de junho de 2015 Boituva SP Capital Nacional do Paraquedismo Proposta do desenvolvimento de um software

Leia mais

Capítulo 1. Extreme Programming: visão geral

Capítulo 1. Extreme Programming: visão geral Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento

Leia mais

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 09289 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Especificação

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

SCRUM Agilidade na Gestão de Projetos

SCRUM Agilidade na Gestão de Projetos SCRUM Agilidade na Gestão de Projetos Prof. Flávio Barros flavioifma@gmail.com 2 www.flaviobarros.com.br 3 MOTIVAÇÃO POR QUE OS PROJETOS FALHAM 4 POR QUE OS PROJETOS FALHAM 5 http://metaconsulting.blogspot.com.br/2016/03/blog-post.html

Leia mais

Práticas do XP (Programação em Pares e Stand Up Meeting)

Práticas do XP (Programação em Pares e Stand Up Meeting) Programação Extrema Práticas do XP (Programação em Pares e Stand Up Meeting) Prof. Mauro Lopes 1-17 31 Objetivos Após explorarmos os Valores e as Práticas do XP, iremos trabalhar de forma mais profunda

Leia mais

PROGRAMAÇÃO EXTREMA - XP

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 é

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades

Leia mais

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

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

Leia mais

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Problemas e Práticas Recomendadas no Desenvolvimento de Software Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento

Leia mais

Planejamento Ágil de Projetos

Planejamento Ágil de Projetos Planejamento Ágil de Projetos Engenharia de Software Conference - maio de 2009 - São Paulo Dairton Bassi dbassi@gmail.com Plano da Palestra Problemas da Indústria de Software Planejamento em Níveis Técnicas

Leia mais

Metodologias Ágeis de Desenvolvimento. Fernando Trinta

Metodologias Ágeis de Desenvolvimento. Fernando Trinta Metodologias Ágeis de Desenvolvimento Fernando Trinta Contextualização A Engenharia de software vêm recorrentemente enfrentando o cenário onde... as aplicações são cada vez mais complexas... o tempo de

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 O desenvolvimento de software envolve usuários, clientes e desenvolvedores. Avalie as seguintes afirmações

Leia mais

Perfis Importantes no Scrum

Perfis Importantes no Scrum Scrum Modeo ági de gestão de projetos; Conceito mais importante chama-se sprint (ou cico); Origem na indústria automobiística; Livro de Schwaber e Beede (2001) expica de forma competa e sistemática; Perfis

Leia mais

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

Introdução à Programação extrema (XP) 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

Leia mais

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação - Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação COM06852 - Introdução aos SI Prof.

Leia mais

Modelos de Gestão de Projetos

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

Leia mais

Manifesto Ágil Princípios

Manifesto Ágil Princípios Manifesto Ágil Princípios Indivíduos e interações são mais importantes que processos e ferramentas. Software funcionando é mais importante do que documentação completa e detalhada. Colaboração com o cliente

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Prof. Luiz A. Nascimento. As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software.

Prof. Luiz A. Nascimento. As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software. Prof. Luiz A. Nascimento As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software. Porque metodologias ágeis? A história dos fracassos no desenvolvimento de

Leia mais

extreme Programming extreme Programming

extreme Programming extreme Programming extreme Programming Os riscos mais frequentes do processo de desenvolvimento são tratados da seguinte forma: Atrasos na calendarização diversas pequenas versões, no máximo com uns poucos meses de duração

Leia mais

SIMPLe: uma abordagem simples

SIMPLe: uma abordagem simples SIMPLe: uma abordagem simples orientada a problemas para o desenvolvimento de software Rafael Sabbagh Parte I!! Problemas e Soluções Aceitar Feature Request gera desperdício! Feature Request! Converse

Leia mais

ACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE. Resp:Marcelo Nascimento Costa, MSc

ACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE. Resp:Marcelo Nascimento Costa, MSc ACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE Resp:Marcelo Nascimento Costa, MSc Sejam Todos Bem-Vindos 1 ORIENTAÇÕES INICIAIS Dê preferência ao uso de uma conexão

Leia mais

Processo de Desenvolvimento. Edjandir Corrêa Costa

Processo de Desenvolvimento. Edjandir Corrêa Costa Processo de Desenvolvimento Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: QUALIDADE DE SOFTWARE Aula N : 12 Tema:

Leia mais

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

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

Leia mais

Modulo I Método Ágil XP Extreme Programming

Modulo I Método Ágil XP Extreme Programming Modulo I Método Ágil XP Extreme Programming Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Vinicius Manhaes Teles, Extreme Programming, Novatec Editora

Leia mais

Análise e Projeto Orientado a Objetos

Análise e Projeto Orientado a Objetos Análise e Projeto Orientado a Objetos Contextualizando Por que Análise e Projeto? Análise versus Projeto Análise e Projeto OO Processo de Desenvolvimento de Software Alguns Processos de Desenvolvimento

Leia mais

Class Responsibilities and Collaborators

Class Responsibilities and Collaborators Class Responsibilities and Collaborators Cartões que representam as responsabilidades e as interações das classes Utilizados para estimular o aprendizado do paradigma da orientação a objetos Dimensões

Leia mais

Apresentando XP. Encante seus clientes com Extreme Programming

Apresentando XP. Encante seus clientes com Extreme Programming Apresentando XP. Encante seus clientes com Extreme Programming Giovane Roslindo Kuhn Vitor Fernando Pamplona Resumo: Este artigo tem por objetivo apresentar a metodologia de desenvolvimento ágil de software

Leia mais

Processos Ágeis de Desenvolvimento de Software. Yuri Pereira

Processos Ágeis de Desenvolvimento de Software. Yuri Pereira Processos Ágeis de Desenvolvimento de Software Yuri Pereira ycssp@cin.ufpe.br Contexto Processos ágeis surgiram como alternativa aos processos tradicionais...... que apresentam restrições principalmente

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento

Leia mais

Modulo I Método Ágil XP Extreme Programming

Modulo I Método Ágil XP Extreme Programming Modulo I Método Ágil XP Extreme Programming Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Vinicius Manhaes Teles, Extreme Programming, Novatec Editora

Leia mais

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Software. Prof. Me. Clodoaldo Brasilino Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Metodologia Ágil

Leia mais

Cooperativa de Desenvolvimento Ágil de Software

Cooperativa de Desenvolvimento Ágil de Software Cooperativa de Desenvolvimento Ágil de Software Dairton Bassi 15/11/2006 Roteiro Métodos Ágeis Motivação O que é a AgilCoop O que fazemos Como usamos a Incubadora Panorama do Mundo

Leia mais

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

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?

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser

Leia mais

EXTREME PROGRAMMING (XP)

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

Leia mais

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT Prof. Fabiano Papaiz IFRN Feature Driven Development = Desenvolvimento Guiado por Funcionalidades FDD é uma metodologia ágil para gerenciamento e desenvolvimento

Leia mais

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.5 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento

Leia mais

Práticas Ágeis de Teste

Práticas Ágeis de Teste Práticas Ágeis de Teste Edson Saraiva de Almeida Maio/2012 Teste Ágil Teste ágil = Teste improvisado 1 Processo de Teste Desenvolvimento Tradicional Testadores teste e GQ Programadores - codificam uma

Leia mais

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

Dificuldades na implantação de Métodos Ágeis Dificuldades na implantação de Métodos Ágeis Encontro Ágil 2008 IME/USP www.agilcoop.org.br Prof. Dr. Fabio Kon IME / USP Os Princípios Ágeis e as dificuldades Software funcionando... Adaptação a mudanças...

Leia mais

Noções do padrão MVC e DAO

Noções do padrão MVC e DAO Ambiente de Programação Visual Noções do padrão MVC e DAO Prof. Mauro Lopes 1-31 18 Objetivos Nesta aula iremos apresentar os conceitos introdutórios sobre Padrões de Projetos. Nesta introdução iremos

Leia mais

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

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.

Leia mais

PROCESSOS DE SOFTWARE

PROCESSOS DE SOFTWARE PROCESSOS DE SOFTWARE Atividades para especificar, projetar, implementar e testar sistemas de software 1 Processos de software Uma Visão Genérica: 3 Fases Definição - o que Engenharia do Sistema Planejamento

Leia mais

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 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

Leia mais

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

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

Leia mais

Extending Extreme Programming With Practices From Other Methodologies

Extending Extreme Programming With Practices From Other Methodologies Extending Extreme Programming With Practices From Other Methodologies Danilo Sato, Dairton Bassi, Alfredo Goldman DCC-IME/USP - Departamento de Ciência da Computação do Instituto de Matemática e Estatística

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Teste de Software Verificação e validação Testes de desenvolvimento Testes de release Testes de usuário Desenvolvimento dirigido a testes Kele Teixeira Belloze kelebelloze@gmail.com

Leia mais

Escrevendo Estórias do Usuário Eficazes aula #3

Escrevendo Estórias do Usuário Eficazes aula #3 Escrevendo Estórias do Usuário Eficazes aula #3 www.etecnologia.com.br (11) 9123-5358 (11) 9962-4260 Rildo F Santos twitter: @rildosan skype: rildo.f.santos http://rildosan.blogspot.com/ Versão Versão

Leia mais

Capítulo 3 - Desenvolvimento Ágil de Software. 2017/2018 Capítulo 3 Desenvolvimento Agile de Software

Capítulo 3 - Desenvolvimento Ágil de Software. 2017/2018 Capítulo 3 Desenvolvimento Agile de Software Capítulo 3 - Desenvolvimento Ágil de Software 1 Assuntos abordados Métodos ágeis Técnicas de desenvolvimento ágil Gestão ágil de projetos Dimensionamento de métodos ágeis 2017/2018 Capítulo 3 Desenvolvimento

Leia mais

Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)

Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP) Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP) Fundamentos de Engenharia de Software PPGIA Carlos G. Vasco, Marcelo H. Vithoft, Paulo R. Estante Design and programming

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Processo de desenvolvimento

Processo de desenvolvimento Processo de desenvolvimento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 19 Sumário 1 Desenvolvimento para a Web 2 / 19 1 Desenvolvimento

Leia mais

Verificação e Validação (V & V)

Verificação e Validação (V & V) Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo

Leia mais

Community. .com. Introdução ao T D

Community. .com. Introdução ao T D Community Introdução ao T D D Cadastro de Usuário Cadastro de Usuário Cadastro de Usuário Cadastro de Usuário Cadastro de Usuário Cadastro de Usuário Cadastro de Usuário Cadastro de Usuário Meu sistema

Leia mais

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) 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:

Leia mais

NUNES, R. D. A implantação das metodologias ágeis de desenvolvimento de software Scrum e Extreme Programming (XP)

NUNES, R. D. A implantação das metodologias ágeis de desenvolvimento de software Scrum e Extreme Programming (XP) 1 A IMPLANTAÇÃO DAS METODOLOGIAS ÁGEIS DE DESENVOLVIMENTO DE SOFTWARE SCRUM E EXTREME PROGRAMMING (XP): UMA ALTERNATIVA PARA PEQUENAS EMPRESAS DO SETOR DE TECNOLOGIA DA INFORMAÇÃO 1 Rodrigo Dantas Nunes

Leia mais

PDS. Aula 1.7 Métodos Ágeis. Prof. Dr. Bruno Moreno

PDS. Aula 1.7 Métodos Ágeis. Prof. Dr. Bruno Moreno PDS Aula 1.7 Métodos Ágeis Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br O que é ser ágil? 2 Definição Ágil: Refere-se a capacidade de criar e responder a mudanças com o objetivo de ter sucesso em um

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Metodologia XP (extreme Programming) Entre 80% e 90% dos projetos de software fracassam devido a atrasos no cronograma; falta de planejamento; inúmeros bugs; incompreensão dos requisitos

Leia mais

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

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 dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu

Leia mais

Modelagem Orientada a Objetos

Modelagem Orientada a Objetos Modelagem de Sistemas Modelagem Orientada a Objetos Prof. Mauro Lopes Modelagem de Sistemas Prof. Mauro Lopes 1-31 13 Objetivos Nesta aula iremos apresentar os princípios da Modelagem Orientada a Objetos,

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: QUALIDADE DE SOFTWARE Tema: Teste de Software:

Leia mais

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

INTRODUÇÃO A ENGENHARIA DE SOFTWARE Universidade Estadual Vale do Acaraú INTRODUÇÃO A ENGENHARIA DE SOFTWARE : Prof. Raquel Silveira Métodos ágeis focam em simplicidade, software funcional no início das iterações, flexibilidade e intensa

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

Leia mais

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis Professor Ariel da Silva Dias RUP e Modelos Ágeis Modelo de processo de software proprietário. Desenvolvido pela empresa Rational Software Corporation. Em 2003 a empresa foi adquirida pela IBM. Então O

Leia mais

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

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

Leia mais

Processo Unificado. Leonardo Gresta Paulino Murta

Processo Unificado. Leonardo Gresta Paulino Murta Processo Unificado Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Processo de Software Desenvolvimento Iterativo Desenvolvimento Evolutivo Desenvolvimento Ágil Processo Unificado Fronteira entre

Leia mais

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

Aula 2 - Modelos de Processo - cascata, iterativo e incremental e ágil Aula 2 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo O que é um processo?

Leia mais

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

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

Leia mais

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema: Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)

Leia mais

Modernização de Legados

Modernização de Legados de Legados A Davanso Tecnologia oferece ao mercado o serviço de de Sistemas Legados. Na maioria das vezes, as empresas possuem sistemas que estão em produção, representando um investimento já efetuado,

Leia mais

Scrum Foundations. Fundamentos de Scrum

Scrum Foundations. Fundamentos de Scrum Scrum Foundations Fundamentos de Scrum Sobre o curso Curso base para as funções de Scrum Developer e Scrum Master Histórico, Estrutura e Funções Scrum Product Owner Scrum Developer Scrum Master Artefatos

Leia mais