Do que se trata o artigo: Discutir a viabilidade de integração de artefatos UML ao processo de desenvolvimento de software gerenciado pelo framework ágil Scrum, indicando formas de utilização, benefícios e malefícios.

Em que situação o tema útil: Este artigo apresenta características da notação UML e do framework ágil SCRUM, apontando antagonismos conceituais e mostrando sugestões práticas do trabalho de ambos em conjunto.

Scrum e UML juntos. É possível? A princípio, a notação UML e o framework Scrum andam em lados opostos, visto que o objetivo do primeiro é documentar, de forma visual, as fases de desenvolvimento de software, e o segundo prega o mínimo de documentação possível, com foco total no desenvolvimento de código. Após conceituar cada um deles, este artigo mostra, através de um exemplo de processo padrão, que é possível haver integração entre os dois.

A utilização da metodologia ágil em projetos de desenvolvimento de software é crescente nos últimos anos, principalmente em projetos com equipes pequenas e empresas que estão iniciando suas atividades. Uma das maiores motivações para a adoção desta metodologia são as entregas rápidas (em média a cada duas ou três semanas) proporcionadas pelo desenvolvimento iterativo de código e pela falta de documentação abrangente, o que, teoricamente, poderia burocratizar o ciclo de produção de software.

Com o intuito de gerenciar projetos, um dos frameworks mais utilizados é o Scrum, que permite coordenar pequenas equipes em ciclos iterativos de construção de um produto, disponibilizando ferramentas simples e objetivas para isso.

Alguns dos modelos mais tradicionais de desenvolvimento de software, como o RUP (Rational Unified Process), prezam pela documentação de sistemas com o objetivo de tornar o processo de desenvolvimento e manutenção de software mais organizado, repetível e gerenciável.

A forma mais usual e difundida de se documentar um projeto de sistemas é através da UML, uma notação padrão aceita mundialmente para produzir modelos e diagramas visuais de software.

Com o objetivo de aproveitar os benefícios do desenvolvimento ágil com Scrum e da modelagem UML, seria possível definir um processo de desenvolvimento de software ágil com o auxílio de documentação baseada em UML? Este artigo tem o propósito de explorar os dois conceitos e sugerir casos práticos em que os mesmos podem ser integrados, permitindo que esta pergunta possa ser respondida.

Scrum

O desenvolvimento ágil de software, abordado originalmente no Manifesto Ágil, tem crescido em função da necessidade de prover aos clientes respostas rápidas e efetivas.

Existem vários métodos de agilidade que podem ser utilizados, dentre eles o Scrum, que pode ser considerado um framework para gerência de projetos ágeis e complexos, permitindo a colaboração entre equipes. O Scrum também pode ser considerado um modo de desenvolver um produto iterativamente, onde o trabalho de equipes diferentes é integrado continuamente até a concepção do produto final, permitindo que o cliente se envolva mais a cada iteração, propiciando a criação do produto de qualidade e fornecendo respostas rápidas a desvios de escopo.

As equipes Scrum são compostas por colaboradores separados em três papéis diferentes:

  • Product Owner – representa o cliente dentro da equipe. É responsável por definir a visão do produto final, elaborar, manter e priorizar o Product Backlog (lista de requisitos que compõem o produto final) e aceitar ou não as entregas de cada ciclo iterativo de desenvolvimento;
  • ScrumMaster – é o líder e facilitador da equipe. É responsável por remover eventuais impedimentos que possam atrapalhar a equipe, ajudar o ...
    Quer ler esse conteúdo completo? Tenha acesso completo