Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a Métodos Ágeis Engenharia de Software – Turma TI Básico Prof. Thiago Souza – thiagosouza@cos.ufrj.br Apresentação 2 } Professor } Formação } Doutorando em Engenharia de Sistemas e Computação/UFRJ } Mestre em Informática/UFRJ } Especialista em Desenvolvimento de Sistemas Distribuídos/UFRJ } Bacharel em Sistemas de Informação/UNIGRANRIO } Certificações } Certified Professional for Requirements Engineering/IREB } Certified Tester Foundation Level/BSTQB } Sun Certified Java Associate/Oracle } Experiência Profissional } Analista de Sistemas/SERPRO (desde 2005) } Professor Universitário/UNIGRANRIO (desde 2004) } Professor Pós-Graduação Lato Sensu/UFRJ (desde 2013) Introdução a Métodos Ágeis - Prof. Thiago Souza Programação 3 Técnicas de Verificação e Validação de Software - Prof. Thiago Souza Data Assuntos 29/04 Fundamentos de Engenharia de Software 06/05 Rational Unified Process (RUP) 13/05 Rational Unified Process (RUP) 20/05 Introdução a Métodos Ágeis 27/05 Scrum e Extreme Programming (XP) 03/06 CMMI 10/06 MPS.BR 17/06 Engenharia de Requisitos 24/06 Engenharia de Requisitos 01/07 Qualidade do Produto 08/07 Qualidade do Produto 15/07 Gerência de Configuração de Software 22/07 Gestão de Projetos 29/07 Métricas de Processo e de Produto 05/08 Reengenharia e Engenharia Reversa Roteiro } Desenvolvimento Tradicional de Software } Desenvolvimento Ágil de Software } Referências } Exercícios 4 Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Tradicional de Software 5 } Tendência até os anos 90 } Processos prescritivos e formais } Heavy-weight process } Tendência atual } Processos descritivos e comportamentais } Light-weight process } Métodos ágeis Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Tradicional de Software 6 } Modelo Cascata } Considera que requisitos não irão mudar ao longo do projeto. } Requisitos sempre mudam. } Cliente não tem chance de pedir novamente. } O cliente tem contato com um produto executável muito tempo depois da primeira reunião com a equipe. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Tradicional de Software 7 } Modelo Cascata } Problemas } É impossível conhecer todos os requisitos logo no início do projeto. } Mesmo fazendo todo o esforço possível é improvável que todos os requisitos sejam levantados no início do projeto. } Existem requisitos que usuários e analistas não conseguem identificar de forma antecipada. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Tradicional de Software 8 } Custo das mudanças } Quanto mais tarde for feita uma mudança maior será seu custo. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Tradicional de Software 9 } A crise de software } Standish Chaos Report } Análise regular sobre milhares de projetos de desenvolvimento de software nos EUA. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 10 } O que é } Conjunto de métodos e práticas para desenvolver software. } O termo é abrangente e engloba conceitos como: } Atenção maior está no que as pessoas podem fazer e não somente nos processos que elas utilizam. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 11 } O que é } O software é construídos por partes (incrementos) e para cada parte executa-se um ciclo (iteração). Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 12 } Por que se tornar ágil? Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 13 } O que é agilidade? } Ter rapidez e desembaraço. } Fazer as coisas complexas de forma simples. } Ter a equipe comprometida com os objetivos do projeto. } Entregar aquilo que gera maior valor para o cliente, de forma cada vez mais rápida e com qualidade. } Ter capacidade de responder rapidamente a mudanças. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 14 } O que é agilidade? } Agilidade não significa necessariamente diminuir o tempo de entrega do sistema. } Agilidade está relacionada a diminuir o tempo de manutenção corretiva do sistema. } Para alcançar agilidade pode ser necessário incluir mais atividades de desenvolvimento. Introdução a Métodos Ágeis - Prof. Thiago Souza desenvolvimento manutenção desenvolvimento manutenção Tempo “Apressado” Ágil Desenvolvimento Ágil de Software 15 } O que é um método ágil? } É uma atitude, não um processo prescritivo. } É um complemento aos métodos existentes, e não uma metodologia completa. } É uma forma de se trabalhar em conjunto para atingir as necessidades das partes interessadas no projeto. } É uma coisa que funciona na prática, não é teoria acadêmica. } É para o desenvolvedor médio, mas não é um substituto de pessoas competentes. } Não é um ataque à documentação, pelo contrário aconselha a criação de documentos que têm valor. } Não é um ataque às ferramentas CASE. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 16 } Métodos ágeis } Há diversas metodologias para desenvolvimento ágil. } Cada metodologia enfatiza um conjunto particular de aspectos de desenvolvimento de software. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 17 } Origem dos métodos ágeis } Apesar de algumas metodologias ágeis existirem há mais de 20 anos, no ano de 2001 que foi dado o pontapé para a grande disseminação das abordagens ágeis. } Nesta época, os principais responsáveis pela teoria e aplicação de diversos métodos se reuniram para discutir sobre as melhores maneiras de gerenciar e desenvolver projetos de software. } Entre os participantes do grupo estavam nomes como: Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 18 } Origem dos métodos ágeis } Estes encontros iriam resultar no Manifesto Ágil e na formação da Aliança Ágil, uma organização sem fins lucrativos destinada a promover a adoção dos métodos ágeis. } O Manifesto Ágil documentou princípios orientadores para o desenvolvimento ágil e definiu uma filosofia em torno de um conjunto de metodologias existentes. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 19 } Manifesto Ágil Rational Unified Process (RUP) - Prof. Thiago Souza Desenvolvimento Ágil de Software 20 } Métodos ágeis enfatizam } Comunicação face a face. } Colaboração entre clientes e desenvolvedores. } Software operacional como a principal demonstração de progresso. } Demonstração frequente de progresso. } Técnicas de engenharia que agreguem valor } Test-Driven Development (TDD), Behavior Driven Development (BDD), Integração Contínua (IC), refatoração,etc. } Retrospectivas e melhoria contínua. Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 21 } Princípios ágeis Introdução a Métodos Ágeis - Prof. Thiago Souza Desenvolvimento Ágil de Software 22 } Comparação Introdução a Métodos Ágeis - Prof. Thiago Souza Referências 23 } Manifesto Ágil } http://manifestoagil.com.br/ } The new methodology } http://www.martinfowler.com/articles/newMethodology.html } Cockburn, A. Agile Software Development.Addison- Wesley, 2002. } Crispin, L.; Gregory, J. Agile Testing. Addison- Wesley, 2009. Introdução a Métodos Ágeis - Prof. Thiago Souza Exercícios Engenharia de Software – Turma TI Básico Prof. Thiago Souza – thiagosouza@cos.ufrj.br Exercícios 25 Fundamentos de Engenharia de Software - Prof. Thiago Souza Exercícios 26 Fundamentos de Engenharia de Software - Prof. Thiago Souza Exercícios 27 Fundamentos de Engenharia de Software - Prof. Thiago Souza Exercícios 28 Fundamentos de Engenharia de Software - Prof. Thiago Souza Exercícios 29 Fundamentos de Engenharia de Software - Prof. Thiago Souza
Compartilhar