Vamos falar sobre desenvolvimento de software.

Objectives and Key-Results (OKRs) são uma prática/framework/metodologia para definir objetivos, os Objectives, e definir resultados que indiquem o quão próximos estamos desses objetivos, os Key-Results. Essa prática não é um framework ágil como o Scrum/XP/Kanban, mas sim uma forma de alinhar os objetivos da empresa com todos os indivíduos e como cada um pode contribuir nesses objetivos. Com isso, é possível colocar o template padrão de OKRs:

Objective: Ter a maior rede social do mundo

Key-Results:

  • 2 bilhões de usuários ativos
  • Cada usuário gera 3 novos usuários (convidam usuários que permanecem na plataforma)

Dado esse template, para um OKR hipotético para uma empresa hipotética, podemos iniciar o alinhamento da equipe. Sabemos que para o ano corrente a empresa quer ser a maior rede social do mundo e, para isso, deve conquistar 2 bilhões de usuários ativos. Esse Key-Result passa para os demais departamentos da empresa (marketing, comercial, desenvolvimento, …) e cada departamento cria seus próprios OKRs com estratégias para que a empresa como um todo alcance o objetivo através dos Key-Results.

Certo, mas o que isso tem a ver com o desenvolvimento de software? Ou até mesmo com o desenvolvimento ágil? Bem, o ponto que eu acho mais interessante dessa abordagem para equipes ágeis é que ela permite que a equipe faça sugestão de inovações. A ideia de OKRs não é que a equipe de diretores defina o que deve ser feito, em geral, eles apenas definem onde querem chegar e como saber se chegaram lá. Porém, a estratégia de como chegar lá fica para os departamentos e equipes, ou seja, as pessoas criam estratégias que podem levar inovações e à conquista desses objetivos. Esse, eu acredito, é o ponto mais importante dessa estratégia, porque dessa forma todas as pessoas tem a possibilidade de saber para onde a empresa está indo e dar sugestões de como chegar lá, não apenas seguir um roadmap decidido anualmente. Outro ponto que é interessante para equipes ágeis é que, os objetivos possuem Key-Results e com eles é possível, em toda reunião de planejamento/retrospectiva, verificar se as estórias/tarefas selecionadas estão nos aproximando do nosso objetivo ou não. Claro, é importante notar que os OKRs tem uma cadência normal de 90 dias, ou seja, a cada 3 meses as equipes se reúnem e renovam seus OKRs com novas estratégias para alcançar os objetivos.

Obviamente, os OKRs não substituem uma prática ágil, mas são mais uma ferramenta para permitir o alinhamento das equipes com os objetivos da empresa. Finalmente, tem um ponto que eu acho ser o mais interessante dos OKRs que é: os Key-Results são mensuráveis e possuem um número que deve ser alcançado. Essa forma, permite uma visão clara do quão próximo estamos do nosso objetivo. É muito melhor ter um Key-Result do tipo “Funcionalidade X entregue com 10 usuários ativos na primeira semana” do que “Implementar a funcionalidade X”. Como saber se estamos próximos do nosso objetivo se o Key-Result é “Implementar a funcionalidade X”? Como já sabemos, o tempo para implementar algo é apenas uma estimativa e não uma ciência exata.

Enfim, deixei aqui algumas considerações sobre OKRs que li nos últimos meses e vou deixar aqui embaixo alguns links com material adicional caso você tenha interesse em saber mais sobre essa prática.