Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de...
-
Upload
ronaldo-carvalho-salazar -
Category
Documents
-
view
213 -
download
0
Transcript of Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de...
![Page 1: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/1.jpg)
Agile ModelingJúlio Lins – Junho 2003
![Page 2: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/2.jpg)
2 / 22
Agile Alliance
• Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming
• O grupo se denomina Agile Allience• É então publicado o Manifesto for Agile
Software Development
![Page 3: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/3.jpg)
3 / 22
Manifesto
• O manifesto estabelece 4 valores seguidos por metodologias ágeis– Interações e indivíduos acima de processos e
ferramentas– Software em funcionamento acima de
documentação completa– Colaboração de clientes acima de negociação
contratual– Atendimento a mudanças acima do
planejamento inicial
![Page 4: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/4.jpg)
4 / 22
Agile Modeling
• Define um conjunto de valores, princípios e práticas a serem acopladas a um método ágil de modelagem.
![Page 5: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/5.jpg)
5 / 22
Filosofia
• Agilizar a criação e manutenção de modelos através de práticas ágeis e eficazes
• Modelos incluem requisitos, análise, projeto, modelagem de banco de dados
• Foco no uso de ferramentas simples– Quadro branco– Post-it– Cartões CRC
![Page 6: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/6.jpg)
6 / 22
Valores
• Comunicação• Simplicidade• Feedback• Coragem• Humildade
– Desenvolvedores ágeis reconhecem que não sabem de tudo e procuram aprender se comunicando com outros
– Não são “donos da verdade”, simplesmente atendem às demandas dos seus clientes
XP
![Page 7: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/7.jpg)
7 / 22
Alguns princípios
• Software é o principal objetivo– Software de qualidade atendendo aos requisitos
é mais importante que documentação• Travel light
– Documentação boa o bastante para alcançar os objetivos
– Avaliar com cautela documentos a serem mantidos
• Abraçar mudanças– Mudanças fazem parte do desenvolvimento
• Supor simplicidade– A melhor solução é a mais simples
![Page 8: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/8.jpg)
8 / 22
Alguns princípios 2
• Facilitar o futuro– Facilidade de manutenção, documentação e
motivação dos desenvolvedores é importante para o próximo release
• Qualidade– Qualidade para atender clientes e
desenvolvedores• Feedback rápido
– Artefatos devem ser validados o mais breve possível por outros desenvolvedores e envolvidos
• Conteúdo é mais importante que a representação
![Page 9: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/9.jpg)
9 / 22
Práticas – Desenvolvimento Iterativo e Incremental• Usar os artefatos adequados
– Diferentes modelos para diferentes situações• Criar vários modelos em paralelo
– Cada modelo oferece uma visão diferente da realidade
• Passar para outro artefato– Quando houver dificuldade em um modelo, tente
outro• Modelar em pequenos incrementos
– Modelos complexos deve ser divididos em porções liberadas uma de cada vez
![Page 10: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/10.jpg)
10 / 22
Práticas – Trabalho em grupo• Modelar em grupo
– Feedback dos colegas evita erros• Participação ativa dos envolvidos
– Informações sobre o negócio e feedback devem estar disponíveis
• Propriedade coletiva– Distribui o conhecimento e permite feedback
• Modelos disponíveis publicamente– Desenvolvedores têm acesso fácil a todos os
modelos
![Page 11: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/11.jpg)
11 / 22
Práticas - Simplicidade
• Criar conteúdo simples– Modelos devem modelar apenas os aspectos
necessários para atender ao público alvo• Simplificar representação
– Evitar detalhes desnecessários sobre elementos do modelo
• Adotar ferramentas mais simples– O importante é modelar, e não o modelo em si.
O registro pode ser feito com câmeras digitais, scanners, etc.
![Page 12: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/12.jpg)
12 / 22
Práticas – Validando o trabalho• Considerar testabilidade
– Ao modelar, levar em conta como o código será testado. Se não puder ser testado, não deve ser construído.
• Provar o modelo com código– A implementação do modelo prova que ele
realmente está correto
![Page 13: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/13.jpg)
13 / 22
Mais algumas práticas
• Usar padrões de projeto– Simplificar o padrão para atender
suficientemente às necessidades do modelo• Descartar modelos temporários
– Boa parte da documentação serve apenas para entender o problema
• Atualizar modelos quando estritamente necessário– Caso haja impacto se o modelo ficar
desatualizado, justifique claramente o custo de atualizá-lo
![Page 14: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/14.jpg)
14 / 22
Modelos ágeis
• Cumprem seu objetivo– O sucesso do modelo é definido pelo
entendimento do público alvo• São fáceis de entender
– São voltados ao público alvo do modelo• São suficientemente precisos
– Não precisam refletir perfeitamente a realidade modelada. Erros no modelo são tolerados.
• São suficientemente consistentes– Inconsistências entre artefatos diferentes são
toleradas
![Page 15: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/15.jpg)
15 / 22
Modelos ágeis 2
• São suficientemente detalhados– O nível de detalhe deve ser suficiente para
atender ao objetivo em questão• Agregam valor positivo
– O benefício de um modelo deve necessariamente cobrir o seu custo de criação
• São tão simples quanto possível– Usar o mínimo conjunto de notações que atende
ao trabalho
![Page 16: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/16.jpg)
16 / 22
Exemplos de modelos ágeis
Diagrama de atividade Fluxo navegacional
![Page 17: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/17.jpg)
17 / 22
Áreas de trabalho ágeis
• Espaço reservado• Quadros brancos abundantes• Câmera digital• Suprimento de modelagem
– Pilotos, post-it, etc• Mesa grande
– Para modelos CRC, etc• Espaço para colar cartazes• Computador e Projetor• Livros
![Page 18: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/18.jpg)
18 / 22
Times ágeis
• Desenvolvedor– Hábil para trabalhos em grupo, comunicativo,
prático, disciplinado, inquisidor, realista– Muitos generalistas e poucos especialistas
• A mentalidade deve ser focada nos objetivos do grupo
• Todos devem participar das atividades ativamente com opiniões construtivas
![Page 19: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/19.jpg)
19 / 22
Estou usando Agile Modeling?• Quando todas as práticas principais
estiverem sendo usadas• Práticas possuem sinergia entre si e
dependem uma das outras para funcionar• Se alguma prática deixou de ser adotada,
os benefícios são bastante prejudicados
![Page 20: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/20.jpg)
21 / 22
Conclusão
• Agile Modeling define valores, princípios e práticas para serem aplicados em outras metodologias
• Não é um processo prescritivo– Não define atividades e passos
• Documentação é produzida de maneira ágil e prática
• Requer um ambiente e pessoal diferenciado
![Page 21: Agile Modeling Júlio Lins – Junho 2003. 2 / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,](https://reader035.fdocuments.net/reader035/viewer/2022070508/570638711a28abb823907b5f/html5/thumbnails/21.jpg)
22 / 22
Referências• Agile Modeling
www.agilemodeling.com• Agile Alliance
www.agilealliance.org• Agile Data
www.agiledata.org
• Agile Modeling, Scott Ambler 2002, Wiley
• An Introduction to Agile Modelingwww.agiledata.org/essays/agileModeling.html
• The New Methodologywww.martinfowler.com/articles/newMethodology.html
• A Vision for the Agile Data Methodwww.agiledata.org/essays/vision.html
• Evolutionary Database Designwww.martinfowler.com/articles/evodb.html