Agile

13 jul, 2015

Ferramentas de priorização de problemas: retrospectivas mais efetivas

Publicidade

Times ágeis estão acostumados a inspecionar e se adaptar constantemente. A retrospectiva do sprint é o evento do Scrum dedicado à reflexão de como podemos melhorar a maneira de fazer nosso trabalho para construir o melhor produto, adotando melhores práticas e abordagens. Em retrospectivas, basicamente três perguntas centrais são respondidas: o que fizemos de bom (e devemos continuar fazendo), o que não foi tão bom (e devemos mitigar ou abolir), e o que podemos melhorar.

Contudo, a identificação dos problemas e oportunidades de melhoria é somente a primeira parte de uma reunião de retrospectiva efetiva. Neste sentido, Ken Schwaber e Jeff Sutherland orientam que o time Scrum identifique e ordene as melhorias em potencial e crie um plano de implementação para o próximo sprint. Considerando que o time terá que desenvolver as histórias do backlog do produto no próximo sprint, muitas vezes não será possível resolver todos os problemas levantados durante a retrospectiva.

Henrik Kniberg, por sua vez, sugere que um número limitado de melhorias (não mais que cinco) sejam selecionadas para receber a devida atenção do time durante o próximo sprint. Sendo assim, recomenda-se que o time priorize os problemas que impactam diretamente no processo de trabalho, na qualidade do produto ou na performance do time. E então? Como selecionar os itens que devem ser resolvidos primeiro? Que critérios devemos adotar?

Em geral, essa priorização/seleção tem sido feita de modo subjetivo pelo time, podendo representar um antipattern das metodologias ágeis: negligenciar a priorização do que gera mais valor. Nesse caso, o time está gerando valor para si próprio. Desse modo, podemos fazer uso de técnicas de priorização e seleção de problemas que já são utilizadas, principalmente dentro da Gestão da Qualidade.

Ferramentas de priorização de problemas

Ferramentas de priorização são técnicas utilizadas para priorização a seleção de problemas. Thiago Lima define que essas técnicas representam ferramentas de natureza quantitativa empregadas naquelas situações em que há necessidade de selecionar, dentre várias alternativas, aquelas que potencialmente podem fornecer maior contribuição à resolução de problemas. Sua finalidade é direcionar, focar e priorizar os problemas a serem atacados, de modo a evitar desperdício de energia e recursos.

A seguir são apresentadas algumas ferramentas de priorização de problemas que podem ser úteis nessas situações.

Matriz Importância X Urgência

A Matriz Importância X Urgência define que cada problema deve ser avaliado de acordo com sua importância e urgência. O grau de importância atribuído a um problema refere-se ao nível de impacto deste ao time. Quanto mais impacto, maior a importância. Por urgência entende-se quão imediata é a necessidade de resolução do problema. A ferramenta baseia-se no Princípio de Eisenhower para gestão do tempo, que classifica as atividades conforme seu grau de urgência e importância, definindo as prioridades.

importanciaurgencia

Os problemas devem ser classificados nos quadrantes seguindo os critérios abaixo:

  • Quadrante 1: problemas importantes e urgentes, ou seja, que estão impactando as atividades do time e necessitam de uma resolução imediata.
  • Quadrante 2: problemas urgentes, mas não importantes, ou seja, necessitam de resolução imediata, mas não impactam diretamente as atividades do time.
  • Quadrante 3: problemas importantes, mas não urgentes. São aqueles que não requerem uma resolução imediata, mas que estão impactando as atividades.
  • Quadrante 4: problemas não importantes e não urgentes, aqueles que não necessitam de uma resolução imediata e nem acrescentam valor ao time.

A prioridade de resolução do problema inicia-se no quadrante 1 e regride até o quadrante 4. O time deve entrar em consenso quanto à classificação dos problemas nos seus respectivos quadrantes. Se na dinâmica da retrospectiva são utilizados post-its para relacionar os problemas, essa matriz pode ser reproduzida num quadro em dimensão maior para que a classificação esteja clara a todos.

Como principais vantagens de utilização dessa ferramenta está a facilidade de aplicação e a rápida execução, mesmo com uma quantidade elevada de problemas. Como desvantagem, destaca-se a tendência para o subjetivismo do time.

Matriz Esforço x Benefício

Similar à matriz urgência x importância, a matriz esforço x benefício analisa os problemas sob a ótica das variáveis esforço e benefício. Por esforço, entende-se o volume de trabalho necessário para que o problema seja solucionado, ou seja, quanto o time precisará dedicar-se nas ações corretivas do problema. Quanto menor o esforço necessário para corrigir um problema, mais rápido o mesmo será resolvido e mais cedo o time obterá os resultados dessa ação. Por benefício, entende-se o ganho obtido para o time ou para o projeto com a resolução do problema. Quanto maior o benefício, mais resultado a resolução do problema agregará ao time.

esforçobenefício

A prioridade na resolução de problemas seguirá a regra de resolver primeiro o que agrega maior valor, ou seja, o benefício é mais alto. Após a avaliação pelos benefícios, serão priorizados os problemas que demandam menor esforço.

  • Quadrante 1: benefício alto, esforço baixo, ou seja, problemas cuja resolução apresenta alto valor agregado para time e/ou projeto e não demandam muito esforço. Resolver imediatamente.
  • Quadrante 2: benefício alto, esforço alto. A resolução do problema agrega valor, porém o esforço para resolução é alto. Recebem a segunda prioridade de resolução.
  • Quadrante 3: benefício baixo, esforço baixo. Problemas de rápida resolução, porém sem grande acréscimo de valor ao time. Recebem a terceira prioridade de resolução.
  • Quadrante 4: benefício alto, esforço alto. Problemas que demandam um alto esforço e o benefício da resolução não agrega grande valor ao time. Devem receber a última prioridade de resolução.

A utilização da matriz esforço x benefício é indicada quando a grande maioria dos problemas a serem resolvidos é de ordem técnica, pois as variáveis dessa matriz são bastante utilizadas em desenvolvimento de software

Matriz GUT

Manuel Meireles definiu a matriz GUT como uma ferramenta usada para definir prioridades dadas as diversas alternativas de ação, respondendo racionalmente a duas questões básicas: o que se deve fazer primeiro? Por onde começar? Essa matriz utiliza as variáveis Gravidade, Urgência e Tendência do fenômeno.

Gustavo Periard foi quem definiu os aspectos da ferramenta da seguinte forma:

  • Gravidade: representa o impacto do problema analisado, caso ele venha a acontecer. É analisado sob aspectos como tarefas, pessoas, resultados, processos, organizações etc., considerando sempre seus efeitos a médio e longo prazo, caso o problema em questão não seja resolvido;
  • Urgência: prazo, o tempo disponível ou necessário para resolver um determinado problema. Quanto maior a urgência, menor o tempo disponível para resolução.
  • Tendência: representa o potencial de crescimento do problema, ou seja, a probabilidade de se tornar maior com o passar do tempo. É a avaliação da tendência de crescimento, redução ou desaparecimento do problema.

Para cada problema levantado, o time atribui uma nota de 1 a 5 para cada variável. A pontuação final para cada problema será o produto entre as três variáveis. A tabela abaixo mostra a definição dos critérios para a nota em cada um dos quesitos.

tabela1

Todos os problemas devem ser avaliados e classificados e as notas em cada um dos quesitos devem ser um consenso entre o time. A tabela abaixo traz um exemplo real da aplicação da matriz GUT em uma retrospectiva. O resultado GUT define a priorização dos problemas.

tabela2

A matriz GUT torna a priorização de problemas mais objetiva. Em contrapartida, dependendo da quantidade de problemas levantados, o processo pode ser dispendioso, causando desmotivação no time.

Matriz genérica de prioridade

As ferramentas apresentadas possuem variáveis pré-definidas que determinam a prioridade. Porém, todas partem do princípio que a priorização de problemas parte da percepção de valor para o time, isto é, os problemas a serem resolvidos por primeiro devem agregar valor para o time e/ou para o projeto. Isso significa melhorar o processo de trabalho e a qualidade das entregas.

Times Scrum são, por essência, auto-organizáveis. Sendo assim, os times podem definir variáveis, valores ou critérios de priorização diferentes das apresentadas nesse trabalho. O time tem autonomia para definir seus critérios de priorização, podendo este ser único, duplo ou múltiplo. Sendo único, a análise de uma variável apenas define a priorização. Como duplo, uma matriz cartesiana semelhante às “Importância x Urgência” e “Esforço x Benefício”, deve ser adotada. A partir de três critérios, a sistemática da matriz GUT pode ser atualizada.

Votação por distribuição de pontos

Uma maneira simples e didática de adotar a priorização dos times é por meio de uma distribuição por pontos. Se você costuma usar post-its para identificar os pontos de melhoria, você pode distribui-los em um quadro e solicitar que cada membro do time vote naqueles que acham mais importantes. Cada membro tem direito de distribuir três pontos (ou fica a critério do Scrum Master), podendo concentrar todos em um mesmo problema ou dividir entre os que achar pertinente. Ao final, os itens mais votados são priorizados.

Utilizando essa técnica, diminui-se o tempo da etapa de priorização consideravelmente, mas a definição torna-se mais subjetiva.

Exemplo da votação por distribuição de pontos
Exemplo da votação por distribuição de pontos

Considerações finais

As ferramentas de priorização de problemas contribuem para que o processo de melhoria de times ágeis/produtos por meio de retrospectivas seja mais efetivo. Além de agregar mais objetividade na seleção de pontos de melhoria, são ferramentas que estimulam a comunicação e aumentam o alinhamento entre o time. Ressalta-se que o resultado final da priorização dos problemas deve ser consenso entre o time, tal qual a estimativa de pontos em estórias de usuário. Por isso, o Scrum Master deve ser um mediador, orientando e conduzindo o time a utilizar as ferramentas de modo a extrair delas o benefício esperado.

Por fim, vale destacar que a priorização de problemas é somente uma etapa do processo de análise e solução de problemas. Retrospectivas efetivas devem identificar, priorizar, analisar e definir o plano de ação para eliminar os problemas, gerando um ciclo de melhoria contínua.

Dúvidas, sugestões ou algo a acrescentar? Aproveite o campo abaixo!