31
Agile Agile Modeling Modeling Robson God Grupo de Estudos em Processos de Desenvolvimen CIN - UF Outubro 20

Metodologias-Ageis - AM

Embed Size (px)

Citation preview

Page 1: Metodologias-Ageis - AM

Agile ModelingAgile Modeling

Robson GodoiGrupo de Estudos em Processos de Desenvolvimento

CIN - UFPEOutubro 2002

Page 2: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 3: Metodologias-Ageis - AM

Objetivo

Apresentar os conceitos de Análise de Projetos Ágeis, mostrando as principais caracteristicas da Agile Modeling

Page 4: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 5: Metodologias-Ageis - AM

Introdução Pesquisas indicam a pouca “qualidade” dos

softwares desenvolvidos. Cronogramas e orçamentos estourados; Necessidades dos clientes não alcançadas; Má comunicação com o cliente.

A procura pela “bala de prata” (Brooks -1987) Problemas: Complexidade, Conformidade,

Mutabilidade e Invisibilidade Soluções: Linguagem de alto-nível, Prototipação,

Desenvolvimento incremental e Bons desenvolvedores.

Page 6: Metodologias-Ageis - AM

Heavyweight x Lightweight Heavyweight (Plan-driven)

Pregam planejamento extensivo, processos bem definidos e rigoroso reuso para produzir uma atividade de desenvolvimento eficiente e previsível.

Amadurecendo gradualmente para atingir a perfeição.

Lightweight (Agile) Pregam planejar o suficiente, documentar o suficiente,

utilizar a individualidade, codificar de maneira simples e eficiente, buscando a satisfação momentânea do cliente.

Ser bom o suficientemente.

Page 7: Metodologias-Ageis - AM

The Planning Spectrum

(Boehm - 2002)

Page 8: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 9: Metodologias-Ageis - AM

Agile Manifesto Fevereiro de 2001. 17 pessoas da área de desenvolvimento de

software se reuniram e formaram a Agile Alliance.

Buscavam uma alternativa à processos heavyweight de desenvolvimento do software.

Incentivavam melhores maneiras de se desenvolver software.

Formularam princípios que definem os critérios para processos ágeis de desenvolvimento.

Page 10: Metodologias-Ageis - AM

Valores da Agile Alliance

Indivíduos e Interações mais que processos e ferramentas.

Software operante mais que documentações completas.

Colaboração do cliente mais que negociações contratuais

Responder às mudanças mais que seguir um planejamento

Page 11: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 12: Metodologias-Ageis - AM

O que é um Agile Model ?

É um modelo bom o suficiente, nada mais, que exibe as seguintes características:

Atende seu propósito. É inteligível. É suficientemente preciso. É suficientemente consistente. É suficientemente detalhado. Provê um valor positivo. É tão simples quanto possível.

Page 13: Metodologias-Ageis - AM

Agile Modeling (AM) É uma metodologia baseada na prática para modelagem

efetiva de sistemas baseados em software. 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.

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.

It’s “touchy-feely”, it’s not hard and fast – pense em AM como uma arte, não como uma ciência.

Page 14: Metodologias-Ageis - AM

O que é AM ? É uma atitude, não um processo prescritivo. É um suplemento aos métodos existentes, ele não é uma

metodologia completa. É uma forma efetiva de se trabalhar em conjunto para

atingir as necessidades dos stakeholders do projeto. É efetivo e é sobre ser efetivo. É 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.

Page 15: Metodologias-Ageis - AM

O que não é AM ?

Não é uma bala de prata. Não é um ataque à documentação, pelo contrário

AM aconselha a criação de documentos que tem valor.

Não é um ataque às ferramentas CASE. Não é para todos.

Page 16: Metodologias-Ageis - AM

Objetivos de AM

Definir e mostrar como colocar em prática uma coleção de valores, princípios e práticas pertinentes à modelagem efetiva e lightweight.

Explorar como aplicar técnicas de modelagem em projetos de software através de uma abordagem ágil tal como XP, DSDM, SCRUM e outros.

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

Page 17: Metodologias-Ageis - AM

Escopo de AM

Page 18: Metodologias-Ageis - AM

Valores de AM

Além dos valores definidos pela AA, incorporou e estendeu os do XP: Comunicação Simplicidade Feedback Coragem Humildade

Page 19: Metodologias-Ageis - AM

Princípios centrais de AM Simplicidade assumida Mudanças são bem-vindas O Software é seu objetivo principal Se preparar para o problemas futuros é seu objetivo

secundário Mudanças incrementais Maximizar o investimento dos stakeholders Modelar com um propósito Múltiplos modelos Trabalho de qualidade Feedback rápido Viaje leve

Page 20: Metodologias-Ageis - AM

Princípios adicionais de AM

Conteúdo é mais importante que representação Todos podem aprender com todos os outros Conheça seus modelos Conheça suas ferramentas Adaptação local Comunicação aberta e honesta Trabalhe com o instinto das pessoas

Page 21: Metodologias-Ageis - AM

Práticas centrais de AM Participação ativa dos stakeholders do projeto Aplique os artefatos certos Propriedade coletiva Considere a “testabilidade” Crie vários modelos em paralelo Crie conteúdo simples Represente os modelos de forma simples Apresente os modelos publicamente Passe para os outros artefatos Modele em pequenos incrementos Modele com os outros Prove, demonstre com código Use as ferramentas mais simples

Page 22: Metodologias-Ageis - AM

Práticas adicionais de AM

Aplique normas de modelagem Aplique padrões “fáceis” Descarte os modelos temporários Formalize os modelos de contrato Modele para comunicar Modele para entender Reutilize recursos existentes Atualize somente quando doer

Page 23: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 24: Metodologias-Ageis - AM

Agile Modeling e XP

XP inclui claramente atividades de modelagem, mesmo que de forma implícita (User stores, modelos Class Responsibility Collaborator (CRC) e sketches).

Metodologia baseada em práticas (Proximidade conceitual).

Alguns diagramas são melhores que muitas linhas de código

Documentação é preciso, mas só a necessária.

Page 25: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 26: Metodologias-Ageis - AM

Unified Process (UP)

Ciclo de vida para Enterprise UP (Superset do RUP)

Page 27: Metodologias-Ageis - AM

Agile Modeling e UP

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

Cultura da organização estar aberta aos valores, princípios e práticas de AM (Organizações não centradas em documentação).

AM para aumentar a fluidez do processo.

Page 28: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 29: Metodologias-Ageis - AM

Conclusões

AM parecer ser mostrou uma metodologia bastante flexível e abrangente, permitindo uma adapdação “facil” sobre diversas metodologias existentes e consolidadas.

Page 30: Metodologias-Ageis - AM

Conteúdo

Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Page 31: Metodologias-Ageis - AM

Referências

www.agilemodeling.com www.agilealliance.com