SCRUM e REQM/RD do CMMI: A aliança do Scrum com o gerenciamento de projetos tradicional é possível e pode ser muito mais fácil do que se imagina. Este artigo mostra como unir as duas abordagens gerando benefícios para um projeto de desenvolvimento de sistemas, acabando com os conflitos de papéis, responsabilidades e interesses. Veremos de forma prática como e quais atividades do framework Scrum são aderentes aos objetivos globais e específicos do Capability Maturity Model Integration (CMMI), mais especificamente das duas áreas da engenharia de requisitos: Requirements Management (REQM) e Requirements Development (RD).

Em que situação o tema útil: Unir o Scrum ao CMMI tem como objetivo melhorar a comunicação entre cliente e equipe de desenvolvimento. Isto possibilita a antecipação da identificação de defeitos que ficam mais caros à medida que o projeto vai evoluindo e as fases do desenvolvimento vão sendo finalizadas.

Com a globalização e terceirização de diversos serviços do mundo atual, as empresas cada vez mais estão criando parcerias com fornecedores e em especial as empresas que utilizam dos serviços de desenvolvimento e Tecnologia da Informação (TI), cada vez mais com consultorias especializadas.

Diversos modelos presentes no mercado, como o CMMI (Capability Maturity Model Integration), foram elaborados com objetivo de indicar boas práticas na definição de processos para melhoria da qualidade no desenvolvimento de software. Esses processos são organizados em níveis de maturidade que uma unidade ou área da empresa poderá ter.

Este artigo discute como a integração de práticas presentes no Scrum pode ser feita ao CMMI, considerando as áreas de gerenciamento e desenvolvimento de requisitos. Os métodos ágeis visam aumentar a interação entre cliente e equipe de desenvolvimento de softwares, de forma a antecipar possíveis problemas no decorrer do projeto.

O manifesto ágil foi apresentado em 2001 com a seguinte proposta:

  • Indivíduos e interações sobre processos e ferramentas;
  • Software funcionando sobre documentação detalhada;
  • Colaboração do cliente sobre negociação de contrato;
  • Responder a mudanças sobre seguir um plano.

Unir a metodologia Scrum ao CMMI tem como objetivo melhorar a comunicação entre cliente e equipe de desenvolvimento, o que possibilita a antecipação da identificação de defeitos que ficam mais caros à medida que o projeto vai evoluindo e as fases do desenvolvimento vão sendo finalizadas.

A metodologia Scrum

O Scrum trata-se de uma metodologia ágil e tem dentre seus objetivos um desenvolvimento utilizando equipes menores e autogerenciáveis. Uma equipe ágil reconhece que o software é desenvolvido por indivíduos trabalhando e que suas especialidades e capacidade de colaborar são decisivas para o sucesso do projeto.

O Scrum segue um processo iterativo e incremental. O foco é se concentrar no que realmente é importante, considerando apenas aquilo que agrega valor para o negócio do cliente.

Uma vez priorizados os itens de maior valor para o negócio serão analisados pela equipe que definirá quantos dos itens poderão ser contemplados na próxima sprint (iteração) de desenvolvimento do produto.

Existem alguns papéis bem definidos no Scrum. O product owner é considerado o responsável por definir e priorizar as funcionalidades do produto, normalmente é um gerente de projeto ou um patrocinador do projeto. Já o scrum master é o profissional responsável por garantir que os valores e práticas do Scrum estão sendo aplicados, também trabalha para retirar qualquer impedimento presente no projeto, melhorar o relacionamento da equipe e manter as informações sobre o progresso da equipe e do projeto sempre atualizado. Há também o time Scrum, que representa a equipe responsável pelo desenvolvimento do produto.

O Scrum define um conjunto de fases a serem seguidas durante um projeto de desenvolvimento de software:

  • Sprint Planning: trata-se de uma reunião antes do início de um sprint para alinhar com o Product Owner o que será feito considerando a lista de demandas presente no backlog list;
  • Sprint: é o tempo estimado pelo time para produzir, testar e homologar determinadas funcionalidades, que serão priorizadas pelo product owner no Sprint Planning;

  • Daily Scrum: são reuniões diárias, com duração de 15 minutos, onde cada membro do time coloca em um quadro o que fez no dia anterior, o que fará para o dia seguinte e as barreiras, que terão de ser derrubadas pelo Scrum Master.
Quadro Daily Scrum

Figura 1. Quadro Daily Scrum.

Como mostra a Figura 1, as tarefas devem ser colocadas em um quadro que fique visível para o time, em forma de post its.

O modelo de qualidade CMMI

...

Quer ler esse conteúdo completo? Tenha acesso completo