Você está na página 1de 31

Agile Modeling

Robson Godoi
Grupo de Estudos em Processos de Desenvolvimento
CIN - UFPE
Outubro 2002
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
Objetivo

 Apresentar os conceitos de Análise de


Projetos Ágeis, mostrando as principais
caracteristicas da Agile Modeling
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
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.
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.
The Planning Spectrum

(Boehm - 2002)
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
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.
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
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
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.


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.
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.
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.
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).
Escopo de AM
Valores de AM

 Além dos valores definidos pela AA,


incorporou e estendeu os do XP:
 Comunicação
 Simplicidade

 Feedback

 Coragem

 Humildade
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
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
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
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
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
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.
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
Unified Process (UP)

Ciclo de vida para Enterprise UP (Superset do RUP)


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.
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
Conclusões

 AM parecer ser mostrou uma metodologia


bastante flexível e abrangente, permitindo
uma adapdação “facil” sobre diversas
metodologias existentes e consolidadas.
Conteúdo
 Objetivo
 Introdução
 Manifesto for Agile Software Development
 Agile Modeling
 Agile Modeling e XP
 Agile Modeling e UP
 Conclusões
 Referências
Referências
 www.agilemodeling.com
 www.agilealliance.com

Você também pode gostar