Metodologias ageis

2,912 views
2,724 views

Published on

Apresentação de metodologias de desenvolvimento de software ageis.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,912
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
118
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Metodologias ageis

  1. 1. Agile Modeling Robson Godoi Grupo de Estudos em Processos de Desenvolvimento CIN - UFPE Outubro 2002
  2. 2. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  3. 3. Objetivo <ul><li>Apresentar os conceitos de Análise de Projetos Ágeis, mostrando as principais caracteristicas da Agile Modeling </li></ul>
  4. 4. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  5. 5. Introdução <ul><li>Pesquisas indicam a pouca “qualidade” dos softwares desenvolvidos. </li></ul><ul><ul><li>Cronogramas e orçamentos estourados; </li></ul></ul><ul><ul><li>Necessidades dos clientes não alcançadas; </li></ul></ul><ul><ul><li>Má comunicação com o cliente. </li></ul></ul><ul><li>A procura pela “bala de prata” (Brooks -1987) </li></ul><ul><ul><li>Problemas: Complexidade, Conformidade, Mutabilidade e Invisibilidade </li></ul></ul><ul><ul><li>Soluções: Linguagem de alto-nível, Prototipação, Desenvolvimento incremental e Bons desenvolvedores. </li></ul></ul>
  6. 6. Heavyweight x Lightweight <ul><li>Heavyweight (Plan-driven) </li></ul><ul><ul><li>Pregam planejamento extensivo, processos bem definidos e rigoroso reuso para produzir uma atividade de desenvolvimento eficiente e previsível. </li></ul></ul><ul><ul><li>Amadurecendo gradualmente para atingir a perfeição. </li></ul></ul><ul><li>Lightweight (Agile) </li></ul><ul><ul><li>Pregam planejar o suficiente, documentar o suficiente, utilizar a individualidade, codificar de maneira simples e eficiente, buscando a satisfação momentânea do cliente. </li></ul></ul><ul><ul><li>Ser bom o suficientemente. </li></ul></ul>
  7. 7. The Planning Spectrum <ul><li>(Boehm - 2002) </li></ul>
  8. 8. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  9. 9. Agile Manifesto <ul><li>Fevereiro de 2001. </li></ul><ul><li>17 pessoas da área de desenvolvimento de software se reuniram e formaram a Agile Alliance. </li></ul><ul><li>Buscavam uma alternativa à processos heavyweight de desenvolvimento do software. </li></ul><ul><li>Incentivavam melhores maneiras de se desenvolver software. </li></ul><ul><li>Formularam princípios que definem os critérios para processos ágeis de desenvolvimento. </li></ul>
  10. 10. Valores da Agile Alliance <ul><li>Indivíduos e Interações mais que processos e ferramentas. </li></ul><ul><li>Software operante mais que documentações completas. </li></ul><ul><li>Colaboração do cliente mais que negociações contratuais </li></ul><ul><li>Responder às mudanças mais que seguir um planejamento </li></ul>
  11. 11. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  12. 12. O que é um Agile Model ? <ul><li>É um modelo bom o suficiente, nada mais, que exibe as seguintes características: </li></ul><ul><ul><li>Atende seu propósito. </li></ul></ul><ul><ul><li>É inteligível. </li></ul></ul><ul><ul><li>É suficientemente preciso. </li></ul></ul><ul><ul><li>É suficientemente consistente. </li></ul></ul><ul><ul><li>É suficientemente detalhado. </li></ul></ul><ul><ul><li>Provê um valor positivo. </li></ul></ul><ul><ul><li>É tão simples quanto possível. </li></ul></ul>
  13. 13. Agile Modeling (AM) <ul><li>É uma metodologia baseada na prática para modelagem efetiva de sistemas baseados em software. </li></ul><ul><li>A metodologia AM é uma coleção de práticas, guiadas por princípios e valores que podem ser aplicados por profissionais de software no dia a dia. </li></ul><ul><li>AM não é um processo prescritivo, ela não define procedimentos detalhados de como criar um dado tipo de modelo, ao invés, ela provê conselhos de como ser efetivo na atividade de modelagem. </li></ul><ul><li>It’s “touchy-feely”, it’s not hard and fast – pense em AM como uma arte, não como uma ciência. </li></ul>
  14. 14. O que é AM ? <ul><li>É uma atitude, não um processo prescritivo. </li></ul><ul><li>É um suplemento aos métodos existentes, ele não é uma metodologia completa. </li></ul><ul><li>É uma forma efetiva de se trabalhar em conjunto para atingir as necessidades dos stakeholders do projeto. </li></ul><ul><li>É efetivo e é sobre ser efetivo. </li></ul><ul><li>É uma coisa que funciona na prática, não é teoria acadêmica. </li></ul><ul><li>É para o desenvolvedor médio mas não é um substituto de pessoas competentes. </li></ul>
  15. 15. O que não é AM ? <ul><li>Não é uma bala de prata. </li></ul><ul><li>Não é um ataque à documentação, pelo contrário AM aconselha a criação de documentos que tem valor. </li></ul><ul><li>Não é um ataque às ferramentas CASE. </li></ul><ul><li>Não é para todos. </li></ul>
  16. 16. Objetivos de AM <ul><li>Definir e mostrar como colocar em prática uma coleção de valores, princípios e práticas pertinentes à modelagem efetiva e lightweight. </li></ul><ul><li>Explorar como aplicar técnicas de modelagem em projetos de software através de uma abordagem ágil tal como XP, DSDM, SCRUM e outros. </li></ul><ul><li>Explorar como melhorar a modelagem sob processos prescritivos como os Unified Process (UP), como o Rational Unified Process (RUP) ou o Enterprise Unified Process (EUP). </li></ul>
  17. 17. Escopo de AM
  18. 18. Valores de AM <ul><li>Além dos valores definidos pela AA, incorporou e estendeu os do XP: </li></ul><ul><ul><li>Comunicação </li></ul></ul><ul><ul><li>Simplicidade </li></ul></ul><ul><ul><li>Feedback </li></ul></ul><ul><ul><li>Coragem </li></ul></ul><ul><ul><li>Humildade </li></ul></ul>
  19. 19. Princípios centrais de AM <ul><li>Simplicidade assumida </li></ul><ul><li>Mudanças são bem-vindas </li></ul><ul><li>O Software é seu objetivo principal </li></ul><ul><li>Se preparar para o problemas futuros é seu objetivo secundário </li></ul><ul><li>Mudanças incrementais </li></ul><ul><li>Maximizar o investimento dos stakeholders </li></ul><ul><li>Modelar com um propósito </li></ul><ul><li>Múltiplos modelos </li></ul><ul><li>Trabalho de qualidade </li></ul><ul><li>Feedback rápido </li></ul><ul><li>Viaje leve </li></ul>
  20. 20. Princípios adicionais de AM <ul><li>Conteúdo é mais importante que representação </li></ul><ul><li>Todos podem aprender com todos os outros </li></ul><ul><li>Conheça seus modelos </li></ul><ul><li>Conheça suas ferramentas </li></ul><ul><li>Adaptação local </li></ul><ul><li>Comunicação aberta e honesta </li></ul><ul><li>Trabalhe com o instinto das pessoas </li></ul>
  21. 21. Práticas centrais de AM <ul><li>Participação ativa dos stakeholders do projeto </li></ul><ul><li>Aplique os artefatos certos </li></ul><ul><li>Propriedade coletiva </li></ul><ul><li>Considere a “testabilidade” </li></ul><ul><li>Crie vários modelos em paralelo </li></ul><ul><li>Crie conteúdo simples </li></ul><ul><li>Represente os modelos de forma simples </li></ul><ul><li>Apresente os modelos publicamente </li></ul><ul><li>Passe para os outros artefatos </li></ul><ul><li>Modele em pequenos incrementos </li></ul><ul><li>Modele com os outros </li></ul><ul><li>Prove, demonstre com código </li></ul><ul><li>Use as ferramentas mais simples </li></ul>
  22. 22. Práticas adicionais de AM <ul><li>Aplique normas de modelagem </li></ul><ul><li>Aplique padrões “fáceis” </li></ul><ul><li>Descarte os modelos temporários </li></ul><ul><li>Formalize os modelos de contrato </li></ul><ul><li>Modele para comunicar </li></ul><ul><li>Modele para entender </li></ul><ul><li>Reutilize recursos existentes </li></ul><ul><li>Atualize somente quando doer </li></ul>
  23. 23. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  24. 24. Agile Modeling e XP <ul><li>XP inclui claramente atividades de modelagem, mesmo que de forma implícita (User stores, modelos Class Responsibility Collaborator (CRC) e sketches ). </li></ul><ul><li>Metodologia baseada em práticas (Proximidade conceitual). </li></ul><ul><li>Alguns diagramas são melhores que muitas linhas de código </li></ul><ul><li>Documentação é preciso, mas só a necessária. </li></ul>
  25. 25. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  26. 26. Unified Process ( UP ) <ul><li>Ciclo de vida para Enterprise UP (Superset do RUP) </li></ul>
  27. 27. Agile Modeling e UP <ul><li>Princípios e práticas AM estão em UP, mesmo que de forma implícita (Participação ativa dos stakeholders, Aplique normas de modelagem , aplique o artefato correto, etc ). </li></ul><ul><li>Cultura da organização estar aberta aos valores, princípios e práticas de AM (Organizações não centradas em documentação). </li></ul><ul><li>AM para aumentar a fluidez do processo. </li></ul>
  28. 28. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  29. 29. Conclusões <ul><li>AM parecer ser mostrou uma metodologia bastante flexível e abrangente, permitindo uma adapdação “facil” sobre diversas metodologias existentes e consolidadas. </li></ul>
  30. 30. Conteúdo <ul><li>Objetivo </li></ul><ul><li>Introdução </li></ul><ul><li>Manifesto for Agile Software Development </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Agile Modeling e XP </li></ul><ul><li>Agile Modeling e UP </li></ul><ul><li>Conclusões </li></ul><ul><li>Referências </li></ul>
  31. 31. Referências <ul><li>www.agilemodeling.com </li></ul><ul><li>www.agilealliance.com </li></ul>

×