Estudo de caso de uma Modelagem Ágil

Veja nesse artigo um estudo de caso para auxiliar times de desenvolvimento na implantação.

Fique por dentro
Este artigo exibe um processo de software pautado sobre a metodologia ágil de desenvolvimento e que poderá ser adotado por aqueles que desejam ter seus processos coerentes a alguns objetivos de qualidade segundo o MPS.BR. Deste modo, ele é útil a estudantes, profissionais de desenvolvimento de software e empresas que necessitam utilizar um processo de software ágil, mas que necessitam, ou desejam, atingir requisitos que os programas de qualidade como o MPS.BR defendem.

Inicialmente proposta por Scott Ambler em 2004, a Modelagem Ágil (MA) surgiu como a técnica mais indicada para as práticas de análise e comunicação de equipes que utilizam XP (Extreme Programming) e o Unified Process (UP) como metodologias de referência para o desenvolvimento. Considerada muito mais prática voltada à modelagem sistemas de software, do que uma metodologia formal, Ambler estabelece que a MA deve ser vista como “uma coleção de práticas, guiadas por princípios e valores que podem ser aplicados por profissionais de software no dia a dia. A MA não é um processo prescritivo, pois ela não define procedimentos detalhados de como criar um dado tipo de modelo. Ao invés disso, ela provê conselhos de como ser efetivo como modelador. A MA deve ser vista como uma arte, não como uma ciência”.

A aplicação das práticas da MA devem auxiliar as equipes equalizarem o conhecimento sobre o projeto do software, definindo “como” será feito o desenvolvimento durante uma iteração. Portanto, é uma exigência que os membros de uma equipe que pratiquem a MA conheçam pelo menos uma técnica de análise, para que tenham um protocolo único de comunicação entre seus membros. Nesse artigo trabalharemos com os modelos utilizados pela Análise Orientada a Objetos e os artefatos utilizarão como base os diagramas da UML (Unified Modeling Language).

Processo Unificado (UP)

O Processo Unificado (UP) foi concebido originalmente para ser uma metodologia voltada à gestão de projetos de desenvolvimento de software. Ele é um guia composto por um conjunto de disciplinas, as quais definem tarefas e atribuições úteis para nortear as atividades que resultarão na geração do software.

O processo inicia mediante as necessidades do negócio de clientes e seus usuários. A partir delas é possível que sejam estabelecidos prazos, custos e critérios de qualidade aceitáveis para o software ser entregue.

O Processo Unificado define que o planejamento deve ser iterativo e incremental. Dessa forma, a arquitetura do software deve ser baseada em componentes, tornando possível fazer um mapeamento eficiente de requisitos e promovendo uma melhor organização da especificação resultante da análise.

A fase de análise deve definir como o sistema funcionará internamente e de qual maneira os requisitos do cliente serão atendidos. Alguns aspectos devem ser considerados nessa fase de projeto do sistema, como: arquitetura do sistema, linguagem de programação utilizada, Banco de Dados (SGBD), padrão de interface gráfica, aplicação de frameworks, entre outros.

A Modelagem Ágil (MA) ocorre durante a fase de análise, quando é feita a documentação computacional do projeto do software. Nessa fase é estabelecido como o software será construído e precisa estar coerente com a descrição realizada pelos artefatos produzidos pela definição dos requisitos. Durante a etapa de análise, duas atividades básicas devem ser cumpridas:

Extreme Programming (XP)

O desenvolvimento com Extreme Programming (XP) foi criado no início dos anos 80 por Kent Beck e Ward Cunningham, baseado em experiências no desenvolvimento de sistemas em Smalltalk. O trabalho de ambos definiu uma nova maneira de desenvolver software, passando a utilizar conceitos que até então nunca haviam sido explorados por grande parte das equipes.

O modelo XP clássico abordava a aplicação de técnicas relacionadas à modelagem de domínios de sistemas, incluindo a padronização do código fonte, o uso de design patterns e a declaração das necessidades dos clientes em forma de cartões CRC (Class Responsibility Card). Tais diretivas simplificavam de forma significativa a documentação do processo de desenvolvimento de software.

Já em meados dos anos 90 e, envolvido diretamente com a doutrina do Movimento Ágil, Kent Beck estabelece as diretrizes daquilo que conhecemos hoje do modelo XP. Uma metodologia preparada para evidenciar de maneira formal e organizada os valores ágeis, postulando conceitos de transparência, responsabilidade, foco na prestação de contas ao cliente e efetuando entregas de software funcional ao final de cada iteração, tal como prega o Processo Unificado.

Em 2002, Scott Ambler incorpora ao modelo XP os princípios da Modelagem Ágil, definindo que durante o ciclo de vida da iteração (semanal), as equipes de desenvolvimento devem se preocupar em gerar modelos que auxiliem a implantação do software e não com a documentação de projeto. Ou seja, no dia a dia do desenvolvimento, é mais importante informar a todos o que deve ser feito, do que documentar algo que pode mudar rapidamente." [...] continue lendo...

Artigos relacionados