Manifesto Ágil FDD AUP Cleiton Rocha Mônica Oliveira Edervan Oliveira Éder Ferreira Introdução Manifesto Ágil Princípios Ágeis FDD (Feature Driven Development) AUP (Agile Unified process) Obs: Alguns slides com anotações. 2 Manifesto Ágil • Conceito : Método Ágil; • Métodos Pesados(Cascata) x Métodos Leves; • Reunião (Utha – EUA – Em 2001) Paradigma de Desenvolvimento; • Manifesto Ágil; • 12 princípios básicos; • Aliança Ágil - http://www.agilealliance.org/ 3 Profissionais • Kent Beck, Mike Beedle, Arie Van Bennekum, Alistair Cockburn, Ward Cunningjam, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, e Dave Thomas. 4 Princípios Ágeis • A) Prioridade é satisfazer ao cliente através de entregas contínuas e frequentes; • B) Receber bem as mudanças de requisitos, mesmo em fase avançada do projeto; • C) Entrega com freqüência, sempre na menor escala de tempo; • D) As equipes de negócio desenvolvimento devem trabalhar juntas diariamente; • E) Manter uma equipe motivada fornecendo ambiente, apoio e confiança; • F) A maneira mais eficiente da informação circular é através de uma conversa face a face; 5 Princípios Ágeis • G) Ter o sistema funcionando é a melhor medida de progresso; • H) Processos Ágeis promovem o desenvolvimento sustentável; • I) Atenção contínua a excelência técnica e um bom projeto aumentam a agilidade; • J) Simplicidade é essencial; • K) As melhores arquiteturas, requisitos e projetos provém de equipes organizadas; • L)Em intervalos regulares, a equipe deve refletir sobre como se tornar mais eficaz. 6 FDD (Feature Driven Development) • Origem • Características Básicas • Melhores Práticas • Utilização da Metodologia • Casos de sucesso 7 FDD (Feature Driven Development) • Origem anos 90 Jeff de Luca A metodologia ágil Feature Driven Development, mais conhecida como FDD... Fonte: Sched Peter Coad • Características Básicas Fonte: Petercoad Traz benefícios a gerentes, desenvolvedores e clientes... 8 FDD (Feature Driven Development) • Melhores Práticas Modelagem de objetos do domínio. Desenvolvimento por funcionalidade. a) Áreas de Negócio b) Atividades de Negócio c) Passos da Atividade de Negócio Entregas regulares (builds) Formação da equipe de projeto. a) Gerente de projeto 9 FDD (Feature Driven Development) • Melhores Práticas b) Arquiteto-chefe/especialista no domínio. c) Equipe de modelagem/planejamento. d) Programador chefe. e) Equipe de funcionalidade “features”. Posse individual do código. a) Inspeções regulares. b) Gerenciamento de configuração e mudanças. c) Relatório/visibilidade de resultados. 10 FDD (Feature Driven Development) • Utilização da Metodologia 1. Modelagem de objetos do domínio. 11 FDD (Feature Driven Development) • Utilização da Metodologia 2. Regras de negócio 12 FDD (Feature Driven Development) • Utilização da Metodologia 3. Lista de features 13 FDD (Feature Driven Development) • Utilização da Metodologia 4. Refinar a lista de features. 14 FDD (Feature Driven Development) • Utilização da Metodologia 5. Implementação. 15 FDD (Feature Driven Development) • Utilização da Metodologia 6. Finalização. • Casos de sucesso Empresas: designIT e Tangiblesolutions 16 FDD (Feature Driven Development) • Ferramenta de desenvolvimento para utilização da FDD Disponível em: http://fddtools.sourceforge.net/ 17 FDD (Feature Driven Development) • Material extra Serão apresentadas as principais características deste modelo e como ele pode ser facilmente integrado ao Scrum, por exemplo. 18 AUP (Agile Unified process) • Origem • Fases de Desenvolvimento • Marcos de Cada Fase • Disciplinas AUP (Agile Unified process) Scott Ambler • Origem Em setembro de 2005 foi desenvolvido o processo AUP por Scott Ambler. • Fases de Desenvolvimento Fonte: Scott W. Ambler’s Home Page São realizadas de forma sequencial e interativa, e disponibiliza versões incrementais. Será realizada em quatro fases. AUP (Agile Unified process) • Fases e Disciplinas da AUP AUP (Agile Unified process) • Marcos de cada fase AUP (Agile Unified process) • Fases da AUP Iniciação (Inception) Elaboração (Elaboration) Construção (Constrution) Transição (Transition) 23 AUP (Agile Unified process) • Marcos de cada fase Objetivos do Ciclo de Vida (LCO) Arquitetura do Ciclo de Vida (LCA) Capacidade Operacional Inicial (IOC) Lançamento de Produto (PR) AUP (Agile Unified process) • Disciplinas Modelo (Model) Implementação (Implementation) Teste (Test) Implantação (Deployment) Gerenciamento de Configuração (Configuration Management) Gerenciamentos de Projetos (Project Management) Ambiente (Evironment) AUP (Agile Unified process) • Iniciação (inception) Objetivos Escopo Arquitetura Financiamento inicial Aprovar o projeto AUP (Agile Unified process) • Marcos da fase iniciação Objetivos do Ciclo de Vida (LCO) Presente no final da fase Iniciação Concordância do Escopo Definição inicial dos Requisitos Concordância do Plano Aceitação de Riscos e do Processo Viabilidade e Plano do Projeto Adequação ao Portfólio AUP (Agile Unified process) • Elaboração (Elaboration) Objetivos Protótipo Mostrar que o projeto e viável Configurar o sistema para próxima fase AUP (Agile Unified process) • Marcos da fase elaboração Arquitetura do Ciclo de Vida (LCA) Visão Estabelecida Arquitetura Estável Aceitação de Riscos Viabilidade Plano de Projeto Cumprimento Empresarial AUP (Agile Unified process) • Construção (Constrution) Objetivos Desenvolver o sistema de forma incremental Atendendo os requisitos de forma prioritária AUP (Agile Unified process) • Marcos da fase construção Capacidade Operacional Inicial (IOC) Estabilidade do Sistema Aceitação dos ricos e custos Plano de Projeto Cumprimento Empresarial AUP (Agile Unified process) • Transição (Transition) Objetivos Executar testes no sistema Executar teste com usuário Corrigir os defeitos Validar documentação Validar o sistema no ambiente de trabalho AUP (Agile Unified process) • Marcos da fase Transição Lançamento de Produto (PR) Aceitação de Operações Suporte Custos e estimativas Referências SBROCCO, José Henrique. Metodologias ágeis: engenharia de software sob medida. 1ª ed. São Paulo: Érica, 2012. SOMMERVILLE, Ian. Engenharia de Software. 9ª ed. São Paulo: Pearson Prentice Hall, 2011. PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 7ª ed. Porto Alegre: AMGH, 2011. ROCHA, Fábio. Introdução ao FDD – Feature Driven Development. DEVMEDIA. Disponível em: < http://www.devmedia.com.br/introducao-ao-fdd-feature-drivendevelopment/27971 >Acesso em: 19/05/2014. Referências FURLAN, Renata C. Agile Unified Process e a Aderência do modelo de processo de software MPS.BR Nível G. 2012. 77 f. Tese (Pós Graduação em Engenharia de Software) – Universidade Tecnológica Federal do Paraná, Campus Medianeira, Paraná, 2012. MANIFESTO for Agile Software Development. Agile Manifesto. Disponível em: < http://manifestoagil.com.br/ > Acesso em: 25/05/2014. SANTOS, Rogério C; LUZ, Giulian Dalton. Manifesto Ágil. IME USP. Disponível em: < http://www.ime.usp.br/~gdaltonl/ageis/ageis_6pp.pdf > Acesso em: 25/05/2014.