sexta-feira, 12 de dezembro de 2008

Agile MDA

Como foi comentado na apresentação final, existe uma abordagem que mescla os princípios das metodologias ágeis com os da MDA. Essa abordagem chama-se Agile MDA, e nessa postagem vou falar um pouco melhor sobre ela.

Algumas pessoas acreditam que não faz sentido colocar "modelagem" e "ágil" na mesma frase [1]. Isso se deve, entre outras razões, na existência de documentação que não possa ser executada. Como os próprios princípios ágeis afirmam, a medida de progresso de um projeto é o código funcionando. Para superar esse buraco, é necessário a criação de modelos executáveis.

Modelos executáveis, como o próprio nome diz, são modelos capazes de serem executados através de ferramentas especializadas. Esses modelos são desenvolvidos em um perfil (um subconjunto) da UML, o Executable UML. Dessa forma, modelos executáveis se comportam como código, mas em um nível de abstração maior e de forma independente de plataforma.

Entretanto, essa não é a única abordagem possível. [2] apresenta outra possível abordagem, que é exemplificada pela figura abaixo:



Nessa abordagem, o uso de técnicas e ferramentas simples facilitariam a inclusão do cliente na modelagem (um dos princípios dos métodos ágeis). Modeladores experientes transformariam os artefatos gerados nessa etapa em PIMs (Platform Independent Model). Os modelos seriam refinados e posteriormente transformados, com a ajuda de ferramentas automatizadas, em PSMs (Platform Specific Model). Esses modelos seriam novamente refinados e transformados finalmente em um software funcional.

Essa abordagem é bem semelhante à abordagem tradicional da MDA, mas difere em alguns pontos cruciais:
  • Deve-se aplicar os princípios e práticas da modelagem ágil (gerar apenas os modelos necessários, com o grau de complexidade e completude suficientes para o momento);
  • Participação ativa dos stakeholders (uso de técnicas que permitam a inclusão do cliente na modelagem);
  • Uso de uma abordagem iterativa e incremental, em passos pequenos.
Cabe ressaltar que essa abordagens não se excluem. É possível mesclá-las para aproveitar o que parecer mais interessante, gerando assim uma abordagem que possa ser mais interessante de ser aplicada.

Para maiores informações sobre princípios, práticas e metodologias ágeis, consulte o blog Ligeirinhos. Maiores informações sobre a Agile MDA podem ser encontradas nas referências.

Referências:
[1] MELLOR, Stephen J. Agile MDA, 2004. Disponível em: http://www.omg.org/mda/mda_files/Agile_MDA.pdf. Último acesso em 12/12/08.

[2] AMBLER, Scott W. A roadmap for Agile MDA. Disponível em: http://www.agilemodeling.com/essays/agileMDA.htm. Último acesso em 12/12/08.

Nenhum comentário: