1 / 79

PADS

PADS. Processos Ágeis de Desenvolvimento de Software. Márcio Amorim mkamorim@gmail.com Milton Campos miltoncampospe@gmail.com Recife-PE, 2009. Estrutura do Capítulo. 9.1 Introdução 9.2 Origem Ágil 9.3 Extreme Programming – XP 9.4 Scrum 9.5 Feature Driven Development – FDD

josie
Download Presentation

PADS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PADS Processos Ágeis de Desenvolvimento de Software Márcio Amorim mkamorim@gmail.com Milton Campos miltoncampospe@gmail.com Recife-PE, 2009

  2. Estrutura do Capítulo CIN/UFPE Márcio Amorim / Milton Campos • 9.1 Introdução • 9.2 Origem Ágil • 9.3 Extreme Programming – XP • 9.4 Scrum • 9.5 Feature Driven Development – FDD • 9.6 Dynamic Systems Development Method - DSDM • 9.7 Considerações Finais • 9.8 Exercício • 9.9 Referências Bibliográficas

  3. Estrutura do Processo no Capítulo CIN/UFPE Márcio Amorim / Milton Campos 9.5 Processo X 9.5.1 A Aplicabilidade do X. 9.5.2 Características do X. 9.5.3 Ciclo de Vida do X. 9.5.4 Papéis do X. 9.5.5 Práticas do X.

  4. 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 desenvolvimento é cada vez menor... há necessidade de diminuição de custos ... busca constante pelo aumento da qualidade.

  5. Contextualização Processos tradicionais tornaram-se “pesados” para a engenharia de software Muita burocracia Muita documentação Pouca flexibilidade a mudanças no projeto Não contemplam o cenário atual Conflito de interesses

  6. Origem Ágil CIN/UFPE Márcio Amorim / Milton Campos • Reunião entre 17 gurus da comunidade de desenvolvimento: • Kent Beck, Mike Beedle, Arie Van Bennekum, Alistair Cockburn, Ward Cunningham, 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. • Realizada entre os dias 11 e 13 de fevereiro de 2001 em uma estação de esqui nas montanhas de Utah, Estados Unidos,

  7. Origem Ágil CIN/UFPE Márcio Amorim / Milton Campos Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan  That is, while there is value in the items on the right, we value the items on the left more. 

  8. XP eXtreme Programming Márcio Amorim mkamorim@gmail.com Milton Campos miltoncampospe@gmail.com

  9. eXtreme Programming CIN/UFPE Márcio Amorim / Milton Campos • Em meados de 1990, Kent Beck procurou formas mais simples e eficientes de desenvolver software • Identificou o que tornava simples e o que dificultava o desenvolvimento de software • Em Março de 1996, ele iniciou um projeto com novos conceitos que resultaram no processo XP - eXtreme Programming

  10. eXtreme Programming CIN/UFPE Márcio Amorim / Milton Campos “Trata-se de uma metodologia ágil para equipes pequenas e médias desenvolvendo software com requisitos vagos e em constante mudança” Kent Beck

  11. Características do XP CIN/UFPE Márcio Amorim / Milton Campos Equipes pequenas e médias; Requisitos vagos; Valores, Princípios e Práticas; Foco na programação.

  12. Papéis do XP Gerente de Projeto Analista de Teste Coach Desenvolvedor Cliente Redator Técnico CIN/UFPE Márcio Amorim / Milton Campos

  13. Valores do XP CIN/UFPE Márcio Amorim / Milton Campos Comunicação; Simplicidade; Feedback; e Coragem.

  14. Princípios do XP CIN/UFPE Márcio Amorim / Milton Campos Feedback rápido; Assumir simplicidade; Mudanças incrementais; e Trabalho de qualidade.

  15. Práticas do XP CIN/UFPE Márcio Amorim / Milton Campos Cliente Presente; Jogo de Planejamento; Stand Up Meeting; Programação Pareada; Desenvolvimento guiado pelos testes; Refatoração;

  16. Práticas do XP CIN/UFPE Márcio Amorim / Milton Campos Código Coletivo; Código Padronizado; Projeto Simples; Metáfora; Ritmo Sustentável; Integração Continua; e Pequenas Versões.

  17. Ciclo de Vida do XP CIN/UFPE Márcio Amorim / Milton Campos • A fase de exploração • É anterior à construção do sistema; • Investigações de possíveis soluções são feitas e verifica-se a viabilidade de tais soluções; • Os programadores elaboram possíveis arquiteturas e fazem considerações sobre o ambiente tecnológico (hardware, rede, software, performance, tráfego) onde o sistema irá rodar.

  18. Ciclo de Vida do XP CIN/UFPE Márcio Amorim / Milton Campos • A fase de planejamento inicial • Definição das estórias pelo cliente; • Os programadores assinalam dificuldades; • Escolhas das estórias por valor de negócio.

  19. Ciclo de Vida do XP CIN/UFPE Márcio Amorim / Milton Campos • Iterações do release • São escritos os casos de teste funcionais e de unidade. Os programadores vão seguindo mais ou menos o seguinte fluxo de atividades na seguinte ordem (em cada iteração): escrita dos casos de testes; projeto e refatoramento; codificação; realização dos testes; e integração.

  20. Ciclo de Vida do XP CIN/UFPE Márcio Amorim / Milton Campos • A fase de manutenção • pode ser considerada como uma característica inerente a um projeto XP; • Em XP você está simultaneamente produzindo novas funcionalidades, mantendo o sistema existente rodando, incorporando novas pessoas na equipe e melhorando o código.

  21. Ciclo de Vida do XP CIN/UFPE Márcio Amorim / Milton Campos • A fase de morte • Atendendo o que foi solicitado pelo cliente; • Economicamente inviável, devido a dificuldades de adicionar funcionalidades a um custo baixo e devido a uma alta taxa de erros.

  22. Referências Bibliográficas CIN/UFPE Márcio Amorim / Milton Campos MANHÃES Teles, Vinícius. Extreme Programming. 1. ed. Novatec Editora, 2004. BECK, Kent. Programação Extrema Explicada: acolha as mudanças. 1. ed. Bookman, 2004. MANHÃES Teles, Vinícius. Um Estudo de Caso da Adoção das Práticas e Valores do Extreme Programming. Dissertação (mestrado em informática) – Universidade Federal do Rio de Janeiro - UFRJ, IM / DCC, 2005.

  23. Scrum Márcio Amorim mkamorim@gmail.com Milton Campos miltoncampospe@gmail.com

  24. SCRUM Ênfase dada ao gerenciamento do projeto. Atividades de monitoramento e feedback Não estabelece técnicas para o desenvolvimento Equipes pequenas (máximo 7 pessoas) Requisitos que são pouco estáveis ou desconhecidos Ciclos curtos (Sprint máx. 30 dias) Envolvimento do “cliente”

  25. Papéis no Scrum Product Owner (PO): representa os interesses de todos no projeto, define as funcionalidades e as priorizam. Scrum Master (SM): facilitador, apóia a equipe no uso adequado do processo, promove reuniões, remove os impedimentos Time: desenvolve as funcionalidades

  26. Main Flow

  27. Product Backlog

  28. Main Flow

  29. Sprint Planning 1

  30. Main Flow

  31. Sprint Backlog Requirements Analysis and Design Coding Test Code Review Deployment Requirements Analysis and Design Coding Test Code Review Deployment Requirements Analysis and Design Coding Test Code Review Deployment

  32. Main Flow

  33. Daily Scrums • Reunião diária de 15 minutos • Mesmo local e hora todo os dias • Cada integrante do time, responde: • O que você terminou desde a última reunião? • O que vai terminar antes da próxima reunião? • Quais os impedimentos?

  34. Sprint – The Task Board Requirements Analysis and Design Coding Test Code Review Deployment Requirements Analysis and Design Coding Code Review Deployment dev 0 imp Test dev 1 Requirements Analysis and Design Coding Test Code Review Deployment

  35. Burndown Chart

  36. Main Flow

  37. Sprint Review Meeting Participa todos os stakeholders Apresentação do que foi “feito” durante a Sprint

  38. Sprint Retrospective Participa o time e o PO Melhoria do Processo Soluções para os problemas críticos

  39. Referências Bibliográficas CIN/UFPE Márcio Amorim / Milton Campos Schwaber, K., Agile Project Management WithScrum, Microsoft, 2004. Schwaber, K. andBeedle, M., Agile Software DevelopmentWithScrum. NJ: Prentence Hall, 2002.

  40. FDD Feature Driven Development Márcio Amorim mkamorim@gmail.com Milton Campos miltoncampospe@gmail.com

  41. Feature Driven Development CIN/UFPE Márcio Amorim / Milton Campos ... após 2 anos de consultoria, 3.500 páginas de casos de uso e um modelo de objetos com centenas de classes, foi avaliado como impossível.

  42. Feature Driven Development CIN/UFPE Márcio Amorim / Milton Campos Criada em 1997 em um grande projeto em Java para o UnitedOverseasBank, em Singapura; Nasceu a partir da experiência de análise e modelagem orientadas por objetos de Peter Coad, e de gerenciamento de projetos de Jeff De Luca;

  43. Feature Driven Development CIN/UFPE Márcio Amorim / Milton Campos Primeira publicação em 1999, no do livro Java Modeling in ColorwithUML, de Peter Coad, Eric Lefebvre e Jeff De Luca; Em 2002, Stephen Palmer e John Mac Felsing publicaram o livro A PraticalGuide to FeatureDrivenDevelopment, com a versão completa;

  44. Feature Driven Development CIN/UFPE Márcio Amorim / Milton Campos Em 2003, David Anderson, o livro Agile Management for Software Engineering: UsingtheTheoryofConstraints for Business Results, considerado por muitos como um marco na literatura ágil.

  45. Feature Driven Development CIN/UFPE Márcio Amorim / Milton Campos Metodologia ágil para o processo de engenharia de software, com foco na entrega frequente do sistema funcionando e na utilização de boas práticas durante o ciclo de desenvolvimento.

  46. Características do FDD CIN/UFPE Márcio Amorim / Milton Campos Situa-se numa posição intermediária entre as abordagens mais tradicionais e as ágeis; Envolvimento do cliente nos processos de planejamento e desenvolvimento de software;

  47. Características do FDD CIN/UFPE Márcio Amorim / Milton Campos Não é extremamente focada apenas na programação ou no modelo, mas sim utiliza o bom senso para abstrair o melhor dos dois mundos; Tamanho dos times de 16 – 20 membros, suportando composições bem maiores;

  48. Características do FDD CIN/UFPE Márcio Amorim / Milton Campos Entrega resultados funcionais e tangíveis a cada 2 semanas ou menos; Pequenos blocos de funcionalidades (features) valorizados pelo cliente; Planejamento detalhado e guiado para medição; Produção de software com qualidade.

  49. Papéis do FDD Suporte Documentador Testador Gestor de projeto Adm. de sistemas Eng. de builds Gestor de desenvolvimento CLIENTE Guru de linguagem Chefe de design Papéis: Gestor de atividade Programador chefe Primário Secundário Adicionais Especialista Dono de classe CIN/UFPE Márcio Amorim / Milton Campos

  50. Práticas CIN/UFPE Márcio Amorim / Milton Campos Modelagem de objetos de domínio; Desenvolvimento por feature; Posse individual do código/classe; Equipes de features; Inspeções e builds reguladores; Gerenciamento de configuração; Relatório/visibilidade de resultados.

More Related