Neste tópico, trataremos sobre frameworks (estruturas) de priorização. Essas estruturas servem para decidir o que deve ser feito antes e o que pode ficar para depois no desenvolvimento do produto.
Em outras palavras: elas listam (da mais para a menos urgente/importante) as funcionalidades a serem incrementadas no produto.
Dedicaremos uma boa parte do conteúdo ao RICE, um modelo de priorização matemática que vem sendo adotado por startups e empresas de tecnologia. A seguir, vamos passar rapidamente por outras estruturas de priorização, já que há centenas delas.
1 - RICE
Conceito
RICE é a sigla para “Reach, Impact, Confidence, Effort” ou “Alcance, Impacto, Confiança, Esforço”.
É um método para priorização de tarefas no desenvolvimento de software, isto é, o que deve ser feito antes e o que pode ficar para depois, dependendo dos riscos, complexidade, custos, demora etc.
Uma característica do RICE é que ele rankeia os itens a serem priorizados por meio de uma fórmula matemática. É um framework de priorização quantitativa, que tenta racionalizar ao máximo o processo de tomada de decisão.
A fórmula matemática do RICE é:
RICE = (Reach × Impact × Confidence) ÷ Effort
Ou seja, multiplica-se o alcance pelo Impacto e pela Confiança. O resultado da multiplicação é dividido, então, pelo esforço.
Um benefício do RICE é que ele inclui pontos importantes e problemáticos que a priorização envolve. Por exemplo, esforço (um fator negativo) é a divisão, o que equilibra os demais fatores (positivos).
A perspectiva dos usuários é contemplada de duas maneiras: no alcance e no impacto. A subjetividade (crenças, preferências, preconceitos, vieses etc.) que qualquer priorização sempre envolvem é avaliada por meio do critério confiança.
RICE foi apresentado em 2018 por Sean McBride, um ex-gestor de produto da Intercom, uma plataforma para relacionamento com clientes. Desde então, tem ganho mais e mais adeptos em startups e empresas de tecnologia.
Critérios
Os critérios do RICE (Alcance, Impacto, Confiança e Esforço) devem ser usados da seguinte maneira:
- Reach (Alcance): estimativa de usuários que uma determinada ideia ou solução pode alcançar em um determinado período de tempo (uma semana ou um mês, por exemplo).
- Impact (Impacto): pontuação que busca quantificar o impacto que a ideia ou solução terá nesses usuários. Na fórmula original, o impacto é uma escala fixa, de: 0,25 (mínimo), 0,5 (baixo), 1 (médio), 2 (alto), 3 (massivo).
- Confidence (Confiança): é uma escala de confiança, em percentuais, de quem está propondo a avaliação: 100% é alta confiança; 80%, média; 50% baixa; qualquer coisa abaixo de 50% quer dizer que não há conhecimento aprofundado a respeito (derivações também adotam gradações de 100%, 75%, 50%, 25% e 0%).
- Effort (Esforço): o comum é calcular o esforço por pessoas-semanas. Se o esforço de um item demandar 5 pessoas trabalhando durante cinco semanas, a pontuação de esforço é 25 (5 × 5) . Se exigir uma pessoa trabalhando por 5 semanas, a pontuação é 5.
Exemplo
Vamos supor que, a partir de um processo de discovery de produto, chegamos a três soluções (A, B e C) a serem desenvolvidas/implementadas por meio de código. Entretanto, todas as três têm complexidade e incerteza altos envolvidos.
Para evitar que a tomada de decisão baseada somente em palpites ou “chutes”, queremos sistematizá-la por meio do RICE. Vamos, então, atribuir pesos para cada critério do RICE, de acordo com cada solução.
Em seguida, aplicar a fórmula do RICE para calcular a ordem de prioridade das soluções. Isso tudo pode ser feito por meio de uma planilha, como a abaixo:
Solução | Reach | Impact | Confidence | Effort | Result |
A | 100.000 | 3 | 100% | 3 × 2 = 6 | 50.000 |
B | 125.000 | 0,5 | 50% | 3 × 3 = 9 | 3.472,23 |
C | 75.000 | 1 | 80% | 1 × 1 = 1 | 60.000 |
O que a planilha mostra é que a solução C é mais viável de ser desenvolvida, mesmo tendo alcance menor que as demais e ser intermediária nos outros critérios de multiplicação. O diferencial está no esforço. É necessária apenas uma pessoa em uma semana para desenvolvê-la, o que justifica que seja priorizada.
A opção B, mesmo tendo o maior alcance, possui um nível de impacto e confiança baixos e um esforço muito alto, de forma que pontua bem menos que as demais.
A opção A, por sua vez, apesar de ter um bom alcance, impacto massivo e confiança plena, ainda tem um esforço considerável.
O exemplo é apenas ilustrativo. A definição do RICE em situações reais, com vários itens e critérios ponderados pelo time, acrescentam muito mais discussões e riqueza na avaliação.
2 - Outras técnicas
Há centenas de frameworks e métodos que podem ser utilizados para priorização. Alguns se prestam mais às fases de descoberta/problemas/oportunidades, em que o objetivo, em geral, é elencar o que gera mais benefícios aos clientes/negócios e, ao mesmo tempo, menos riscos.
Outros se prestam mais à fase de desenvolvimento/entrega, quando já se descobriu o problema ou a oportunidade e se constrói uma solução para eles.
Alguns dos mais conhecidos e populares são:
- Matriz Impact vs. Effort (Impacto vs. Esforço)Matriz de EisenhowerStacey MatrixMatriz BCGKano ModelMoSCoWProduct Tree (Árvore do Produto)BoatICE, BRICE, LICE e outros derivados do RICEWeighted ScoresWSJF (Weighted Shortest Job First ou algo como “trabalho mais curto ponderado primeiro”).Dot Voting
Temos um conteúdo abrangente apenas sobre frameworks de priorização na Newsletter da Awari sobre Produtos e UX Design. Nele, comentamos e agrupamos em qualitativos e quantitativos, diversos frameworks, dos mais clássicos e populares a alguns obscuros e pouco usados.
Também fornecemos exemplos em cada categoria dos mais populares, como Impact vs. Effort, Kano Model, MoSCoW, Product Tree, entre outros.
O conteúdo se baseia em compilação (em inglês) de Jordan Lamborn, um product manager que mapeou 136 frameworks de priorização, comentando e dando exemplos, rapidamente, a cada um deles.
3 - Por que são importantes?
Frameworks de priorização ajudam a organizar tarefas a ser feitas com urgência/importância, em detrimento daquelas menos importantes e urgentes.
Como em produtos de software lida-se com incerteza e riscos (na forma de demora, custos, complexidade etc.) e com muitas possibilidades de se solucionar um problema, essas estruturas permitem tornar mais racional o processo de decidir o que deve ser feito com antecedência, e o que pode ficar para depois.
Muitas das estruturas de priorização nasceram no âmbito do desenvolvimento de software, entre desenvolvedores, para rankear funcionalidades a serem construídas. Atualmente, essa abordagem tem mudado, principalmente em startups e empresas inovadoras.
Pode haver priorização desde o processo de descoberta de produto (exploração de problemas de clientes/usuários e oportunidades ao negócio), o que facilita o trabalho de desenvolvimento de forma mais alinhada com os objetivos do negócio e com a perspectiva dos clientes/usuários.
Entretanto, caso uma organização ainda mantenha processos de descoberta e de desenvolvimento paralelos, frameworks podem ajudar nas duas etapas, a priorizar o que explorar e, a partir das oportunidades descobertas, a priorizar o que construir em termos de soluções.