Agile modeling
Com o passar do tempo empresas desenvolvedoras de software viram a necessidade de adotar um modelo de gerenciamento no desenvolvimento de software, visto que sem um gerenciamento adequado, o desenvolvimento era uma bagunça. Não existia uma documentação adequada, não havia um padrão de desenvolvimento, não existia uma maneira de se estimar mais precisamente o tempo de desenvolvimento, e quanto menos, um valor adequado do software. Hoje em dia existem vários tipos de modelos, como por exemplo, [1]:Agile, Cleanroom, Iterativo, RAD, RUP, Espiral, Waterfall, XP dentre outros.
Com a adoção de um modelo para o desenvolvimento de projetos de softwares e sua correta aplicação, a empresa só tem a ganhar. Vamos analisar alguns casos, supre todas as deficiências citadas anteriormente, define melhor o papel de cada pessoa no desenvolvimento de um projeto, assim obtêm um maior controle sobre cada pessoa e consequentemente sobre o trabalho desenvolvido pela mesma, posteriormente facilita a manutenção, especifica melhoras funcionalidades do software, etc.
O modelo proposto neste trabalho é o Agile Modeling (AM) [5] que busca a construção e manutenção eficiente de artefatos, criando-os apenas quando agregarem valor real ao projeto, e focando principalmente os esforços no desenvolvimento do software que, em última análise, é o objetivo principal do processo.
Deve-se notar, entretanto, [5] que AM não é uma metodologia de desenvolvimento ágil como eXtreme Programming (XP), SCRUM, DSDM, etc., mas uma metodologia de modelagem ágil, isto é, AM visa construir e manter modelos de sistemas de maneira eficaz e eficiente e, portanto, pode ser utilizada dentro de metodologias ágeis como as citadas há pouco, como também em metodologias prescritivas como o Unified Process .
1 HISTORIA
As definições modernas de desenvolvimento de software ágil evoluíram a partir da metade de 1990 como parte de uma reação contra métodos "pesados", caracterizados por uma pesada