Qual a diferença entre um Product Manager e um Product Owner?

A ideia deste artigo é justamente dar um pouco de luz a alguns temas bem polêmicos, especialmente dentro de grandes corporações que estão passando por transformações digitais e ágeis, algo cada vez mais comum hoje em dia por uma questão de sobrevivência.

No modelo tradicional, Product Managers fazem suas pesquisas de mercado e especificam suas Visões de Produto durante alguns meses até que o documento esteja pronto e seja encaminhado para o Escritório de Projetos (PMO) da empresa. O Escritório irá delegar a um Project Manager transformar a visão de produto em um projeto de software (geralmente usando MS Project ou similar) que uma vez que esteja construído será delegado a um time de desenvolvimento da área de TI, que regularmente terá de prestar reports ao Project Manager sobre o andamento do projeto que por sua vez reportará ao Product Manager. Ao término do desenvolvimento, o software será enviado para um Departamento de Qualidade (QA) para os testes e o resto da historia você já conhece, é o bom e velho waterfall. Ou nem tão bom assim…

Waterfall Product Development
Waterfall Product Development

No entanto, quando mudamos este paradigma e passamos a trabalhar com métodos ágeis, em especial o Scrum, o mais famoso deles, esse ciclo em cascata é rompido drasticamente, silos são destruídos e papéis são drasticamente modificados ou novos papéis são introduzidos. É o caso da extinção do Project Manager e o surgimento do Product Owner e do Scrum Master. Mas e o Product Manager? Ele deve também ser extinto nesse modelo de trabalho?

Sim e não.

Mas antes vamos entender o que é Gerenciamento de Produto (Product Management).

Gerenciamento de Produto ou Product Management

A disciplina de Gerenciamento de Produtos data da década de 1930. Gerenciar um produto é sobre fazer análise e pesquisa de mercado, descobrir product/market fit, inteligência competitiva, customer discovery, definição de requisitos de produto, desenvolvimento do dito-cujo (embora na prática isso seja terceirizado a outro setor ou empresa), go to market, estratégia de precificação (pricing), marketing inbound e outbound, treinamentos no uso do mesmo, revisões e até extinção do produto.

Ufa! É muita coisa!

A primeira coisa mais fácil de notar aqui é que não tem como uma única pessoa cuidar de tudo isso sozinha, certo? Sendo assim, se você acha que o Product Manager da sua empresa é um deus, você está errado. Geralmente Product Managers contam com uma equipe para lhes ajudar: profissionais de marketing, designers, desenvolvimento, pesquisadores e analistas.

Note também que o próprio papel de Product Manager só faz sentido em organizações com produtos maduros, que exijam uma governança mais organizada sobre todo o seu ciclo de vida. Ou seja, corporações. Dificilmente você vai ver um Product Manager, que é um orquestrador de todo o ciclo de vida de um produto, em pequenas empresas ou em startups.

E o Product Owner do Scrum, não seria ele um Product Manager com outro nome? Não faria ele as mesmas atividades que um Product Manager mas em uma empresa ágil?

Para responder a esta pergunta, vamos relembrar o conceito do Product Owner.

Product Owner ou Dono do Produto

O foco da criação do papel do PO, lá na década de 1990 pelos criadores do Scrum era tornar o time de desenvolvimento mais próximo do cliente, ou o contrário, tanto faz. O gap de comunicação do dono do problema até os desenvolvedores da solução era enorme, o que mais se via eram projetos entregues que não atendiam às necessidades reais dos usuários.

O PO nasceu como um representante máximo do cliente dentro do time de desenvolvimento, o porta-voz dos usuários do produto, o dono das prioridades e das regras de negócio para o time de desenvolvimento.

Segundo o Scrum Guide, o Product Owner é responsável por maximizar o valor do produto resultante do trabalho do Time de Desenvolvimento. Ou seja, guiar o time para a construção do produto que trará o maior ROI possível. O próprio Scrum Guide deixa claro que os detalhes de como este indivíduo vai conseguir fazer isso varia enormemente de organização para organização.

O Scrum Guide finaliza a curta descrição deste importantíssimo papel se referindo a ele como o ‘manager’ do Product Backlog e que tão somente ele tem a palavra final sobre o mesmo, embora o PO possa ser o representante de um comitê maior que ele.

O foco do PO é o Product Backlog, segundo o Scrum. Talvez o nome mais correto seria Product Backlog Owner, mas soaria muito mal esse nome. O Product Backlog é a ferramenta do PO para maximizar o ROI de um produto desenvolvido por um Time de Desenvolvimento.

Só com essas informações, per se, já é possível notar uma diferença gritante entre os dois papéis, certo?

Product Owner e Product Manager
Product Owner e Product Manager

Product Management é algo mais estratégico, enquanto que Product Ownership é algo mais tático. Pra finalizar, o Product Development seria o operacional (responsabilidade do Development Team). O que responde basicamente a pergunta que iniciou esse artigo: qual a diferença entre Product Manager e Product Owner.

Product Manager ou Product Owner?

Claro, agile nunca foi e nunca será algo preto e branco, algo prescritivo como as metodologias tradicionais.

No passado acreditou-se que os Product Owners substituiriam os Product Managers. E até o fazem em empresas pequenas ou em times de produto que estão recém iniciando (trabalhei muito em startups, nelas o PO conversa direto com o CEO e pronto). Conforme a empresa cresce e seus produtos tornam-se mais e mais complexos e maduros, a necessidade de ter pessoas diferentes cuidando do estratégico e do tático de um produto torna-se indispensável até para garantir a sanidade desses profissionais.

Imagine um produto complexo como uma linha de financiamento bancária. Uma visão limitada poderia acreditar que basta desenvolver este recurso em um aplicativo e está tudo resolvido. No entanto, como eu bem sei pois trabalho em uma instituição bancária, isso envolve desde core banking, APIs, disponibilização em canais (mobile e internet banking, no mínimo), regulamentação do banco central, atendimento aos clientes no SAC, solução comercial para vendas, infraestrutura para suportar treinamento para a galera de backoffice, inclusão no site, conteúdo no blog e muito mais.

Desenvolver o software para este produto é apenas uma parte (obviamente muito importante) desta cadeia completa que envolve o gerenciamento deste produto. É o mesmo que acreditar que Engenharia de Software resume-se apenas a programar sistemas.

Mas o Product Owner não pode cuidar sozinho de todos os aspectos de um produto? E abaixo dele ter uma série de outros profissionais para ajudá-lo a gerenciar o produto como um todo?

Pode. Daí ele acabou de se tornar um Product Manager com outro nome e talvez ele não consiga cuidar da sua principal atribuição que é gerenciar o Product Backlog, maximizando a entrega de valor do time de desenvolvimento.

Note que desde que isso esteja claro e a empresa decida que este é o melhor modelo para se trabalhar, está ok. Apenas atente ao fato de que gerenciar um produto por completo é uma tarefa que exige muito mais senioridade e conhecimento de mercado do que se focar no aspecto tático de como guiar um time de desenvolvimento. Sem obviamente desmerecer esta atividade, mas são skills diferentes que são necessárias.

Mas este assunto, de como escalar e dividir o trabalho dos profissionais de produto de uma empresa é assunto para outro artigo. Para quem quiser se aprofundar recomendo este e este artigo da Ellen Gottesdiener, uma Agile Product Coach, especialista neste assunto.

Gostou do assunto? Quer aprender mais sobre métodos ágeis para construção de produtos? Conheça meu livro Scrum e Métodos Ágeis clicando no banner abaixo!

Agile Testing: Dicas para testes de software em times ágeis

Então a empresa decide adotar métodos ágeis top-down. Show, geralmente o alto escalão é quem boicota esse tipo de iniciativa. Começar com seu apoio já é meio caminho andado. A outra metade do caminho? Convencer o restante da empresa a fazer o movimento bottom-up da transformação ágil.

Embora para algumas pessoas isso possa soar muito fácil, não é tão fácil quanto parece, principalmente quando colocamos dois elementos-chave na equação de qualquer transformação ágil: sustentação e testes. Pretendo falar de sustentação em outro artigo, hoje vou me focar na questão de $1M que é: como testar de maneira ágil?

O papel do testador em um Time Ágil (QA)

O primeiro ponto a ser definido, antes de falar de práticas é do papel do testador. Primeiro que em Times Scrum (e 90% dos times usam Scrum ou ao menos ScrumBut) não existe o papel do analista de testes. Todo mundo que não é PO nem Scrum Master é um Desenvolvedor. Um analista de testes é alguém que colabora no desenvolvimento do produto, logo, é co-responsável por todo o ciclo de desenvolvimento do mesmo, não apenas os testes.

Uma vez que, ao contrário do modelo Waterfall, não teremos uma fase de testes ao final do projeto, cabe ao profissional de testes participar ativamente de todo o processo, desde o planejamento (quer alguém melhor do que um QA para ajudar com Critérios de Aceite?), ao desenvolvimento (seja Pair Programming ou mesmo desenvolvendo testes automatizados) e finalmente os testes propriamente ditos, que, ao invés de serem realizados todos no final do projeto (ou mesmo no final da iteração) devem ser realizados conforme os itens do Sprint Backlog venham sendo entregues pelos desenvolvedores.

Ufa! Sim, um QA Ágil tem muito mais trabalho que um QA tradicional, tendo de acompanhar o restante do time durante o dia a dia do projeto, ajudando-os, ao invés de focar-se em encontrar o maior número possível de bugs no final do projeto.

Não obstante, vale lembrar que qualidade não é responsabilidade exclusiva do QA, mas sim de todo o time, e cabe à ele também ressaltar e criar uma cultura de qualidade dentro do time constantemente, como se fosse um Scrum Master da qualidade ou QA Master. 😀

Teste Ágil x Tradicional
Teste Ágil x Tradicional

Teste Tradicional x Ágil

Essa mudança de mindset do profissional de qualidade é vital para que ele consiga entrar no modelo ágil do time. Isso porque, não raro, times de desenvolvedores adotam métodos ágeis mas não agilizam os testes, geralmente delegando esta atividade para um time de QA, que muitas vezes fica em outro setor.

Neste cenário bi-modal, geralmente o time de QA vai se focar em construir pesadas documentações com casos de teste e registros dos testes realizados, além de exigir do time de desenvolvimento as demais documentações do projeto, como casos de uso (às vezes aceitam histórias de usário). O que acontece é que dessa forma gasta-se um tempo e esforço enormes produzindo documentação quando poderíamos aproximar profissionais de QA dentro dos Times Scrum e colocá-los a trabalhar com o time, e não para o time.

Essa burocracia, aliada a uma cultura de “última linha de defesa da qualidade do software” gera um histórico enorme de conflitos entre devs e QAs que é totalmente desnecessário. No momento que algumas empresas separam a responsabilidade da qualidade entre times diferentes, um inadvertidamente culpa o outro por todo o tipo de problema encontrado no processo de desenvolvimento. Frases como:

  • Os devs me largam software de qualquer jeito pra testar!
  • Os QAs estão atrasando a entrega do projeto!
  • Sou o maior, achei 30 bugs na última release do software, esses devs são uns incompetentes!
  • Eu não vou testar o software que desenvolvi, os QAs são pagos pra isso!

Entre outras pérolas.

O fato é que não há como ter um time ágil se o processo de QA não é ágil. A sprint não pode ser considerada bem sucedida se não temos todos itens do sprint backlog como DONE. E francamente, eles não podem estar definidos como DONE se não tiverem sido testados ainda.

O mindset do QA Ágil

Ao invés de se posicionarem como a última linha de defesa, os testadores de um time ágil devem se colocar como os evangelistas da qualidade dentro do time:

  • ajudando o PO a escrever Critérios de Aceite para suas User Stories;
  • realizando ATDD, BDD e/ou Specification by Example;
  • ajudando os devs a escreverem testes unitários automatizados;
  • desenvolvendo testes funcionais automatizados;
  • ajudando o Scrum Master com as métricas de qualidade do time;
  • e, em último caso, realizando testes funcionais tradicionais.

Ou seja, o trabalho do QA não pode estar limitado a escrever documentos de teste no início da sprint e testar o software no final (isso sempre dá errado), mas sim desenvolver especificações e testes no início da sprint e iniciar os testes de software conforme os itens de backlog forem sendo entregues.

Só desta forma é que é possível garantir qualidade e agilidade ao mesmo tempo. Para resultados excepcionais, os profissionais do time devem estar dispostos a uma dedicação excepcional.

Automação de Testes

Você deve ter percebido que, em vários momentos, eu falei de automação de testes (ou alguma de suas práticas). Isso porque simplesmente não tem como falar de teste ágil de software sem falar de automação de teste.

Imagine o seguinte cenário: um desenvolvedor termina de codar a US001, ele entrega para o QA testar e o QA testa a US001. Outro desenvolvedor termina de codar a US002 e entrega para o QA. Como ela possui dependência com a US001, o QA testa a US002 e a US001 para garantir que tudo continua funcionando. O primeiro desenvolvedor termina uma US003 que causou mudanças em trechos de código que impactam outra user stories do sistema, mas sem clareza de quais são, logo, o QA faz uma regressão, testando US001, US002 e US003.

E quando o sistema atingir a marca da US100? Ou da US1000? Quantos QAs você vai precisar no seu time para atender à demanda de testes necessária?

Automatizar testes é a única maneira de garantir uma cobertura de qualidade no seu software. Não é uma questão de ser ágil ou não, mas uma questão de ser honesto quando você diz que seu sistema está 100% testado ou não.

Escrever testes unitários é o primeiro passo e deve ser regra dentro do seu time de desenvolvimento independente de usarem TDD ou não. Mas são nos testes funcionais automatizados que está a beleza de frameworks como ATDD, BDD e Specification by Example. Profissionais de qualidade modernos e realmente ágeis não escrevem documentação de teste para depois passarem horas fazendo testes manuais. Eles escrevem requisitos junto ao profissional de negócio de maneira que a especificação é o próprio teste funcional automatizado, ao mesmo tempo que garantem que os devs vão lhe entregar incrementos pequenos e facilmente testáveis, além do que eles já devem ter passado por uma bateria de unit tests.

Se você é um profissional de testes e quer continuar com demanda no mercado, principalmente nas empresas mais top de tecnologia, você tem de aprender automação de testes. Fazer teste funcional hoje, é o mesmo que querer programar perfurando cartões: lento, ineficiente e não escala bem.

Referências

Vou ser sincero com você: meu livro de Scrum e Métodos Ágeis (no final deste post) não fala de teste ágil de software. Mas as leituras abaixo falam muito bem:

Tem outros livros ou dicas para compartilhar? Deixe nos comentários!

Quer saber mais de Scrum e Métodos Ágeis? Conheça o meu livro sobre o assunto!

Leituras recomendadas para Product Owners

Atualizado em 05/07/18!

Desde a criação do Agile Manifesto em 2001 e a consequente popularização dos métodos ágeis no início deste século que eu tenho como o maior ganho promovido pelo modelo a aproximação da área de negócio das empresas com  área de TI das mesmas. Essa aproximação se dá em grande parte à obrigatoriedade do papel do Product Owner dentro dos Times Scrum, sendo esse o framework ágil mais difundido no mundo.

No entanto, para que essa conexão produza bons frutos é necessário que o papel do Product Owner seja respeitado e que o mesmo possua as skills necessárias para tanto. Mas que skills seriam essas?

Um Product Owner geralmente é um especialista na sua área de negócio, mas não necessariamente um especialista em métodos ágeis. No entanto, diferente de um Scrum Master ou de um Agile Coach que devem respirar métodos ágeis no seu dia-a-dia, um Product Owner deve respirar concepção e desenvolvimento de produtos de maneira ágil, tema central das leituras que recomendarei neste artigo.

Clique nos títulos ou nas capas para ver o livro na Amazon.

A Startup Enxuta

Obra máxima de Eric Ries, A Startup Enxuta (Lean Startup no original) já foi motivo de resenha aqui no blog e dispensa apresentações. Conceitos como MVP (Minium Viable Product), Contabilidade para Inovação e o ciclo Build-Measure-Learn são obrigatórios no repertório de qualquer Product Owner.

Business Model Generation

Este fantástico livro de Alex Osterwalder (até a edição é excelente, já fiz resenha aqui no blog) introduz o famoso Business Model Canvas, estrutura o raciocínio sobre a ideação de modelos de negócio inovadores e nos traz diversos cases de modelo disruptivos que empresas famosas descobriram para se reinventar.

Value Proposition Design

Outra obra-prima de Alex Osterwalder, desta vez ele nos introduz ao Value Proposition Canvas, uma poderosa ferramenta que auxilia os Product Owners a fazer a conexão certa entre o que os clientes desejam e o que o seu produto realmente deve ser.

Sprint

Ao contrário do que o nome sugere, este não é um livro de Scrum, mas sim um livro sobre o método usado no Google para testar e aplicar novas ideias em apenas cinco dias. É muito interessante de ler e aplicar, tendo sido escrito por Jake Knapp em parceria com membros do Google Ventures.

Reinvente sua Empresa

ReWork no original de Jason Fried, este livro é a versão parruda e mais moderna do recomendadíssimo Caindo na Real, escrito pelos fundadores do Basecamp. Não apenas promove uma mudança cultural na cabeça de quem lê, ele dá aos Product Owners um passo-a-passo de como orientar a criação de aplicações ágeis e que realmente atendem as necessidades dos clientes com menos pessoas e menos software.

Direto ao Ponto

Paulo Caroli é um engenheiro de software e autor brasileiro que ficou famoso no mundo inteiro com a sua Lean Inception, um método de concepção de novos produtos muito alinhado aos conceitos do Lean Startup, permitindo que através dos métodos descritos em seu livro, empresas consigam definir os escopos de seus novos produtos em até uma semana de trabalho.

Scrum

O mais famoso livro sobre Scrum do mercado (ele aparece na minha lista de 6 livros recomendados para aprender agilidade), o “livro amarelo do Scrum” foi escrito por Jeff Sutherland, um dos criadores do Scrum e uma das figuras mais famosas em agilidade no mundo inteiro. Não é exatamente um livro que te ensina como dominar o framework, mas que te dá a base histórica e teórica do framework, seus princípios e como eles são aplicados em diversos contextos através de todo tipo de case. Essencialmente um livro sobre cultura ágil.

Running Lean

Infelizmente para quem não domina o idioma Inglês, nem todas as grandes obras possuem edição nacional e essa é uma delas. O excelente Running Lean do Ash Mauriya traz conceitos de outros livros como o Business Model Generation e o Lean Startup para outro nível, mais focado em produtos digitais e na realidade que os permeiam. Se eu pudesse resumir esse livro em uma frase seria: saia do escritório e vá falar com seus clientes.

The Four Steps to the Epiphany

Outra excelente obra sem tradução, esse livro de Steve Blank (um dos maiores investidores e mentores do Vale do Silício) é o avô do movimento Lean Startup, tendo sido Blank o professor do Eric Ries (autor do Lean Startup). Neste livro ele introduz conceitos como Customer Discovery e Customer Development, trazendo à tona questões como a busca pelo Product-Market Fit e tantos outros conceitos importantíssimos para todos profissionais responsáveis pela criação de produtos no século atual.

Agile Product Management with Scrum

Esta é uma obra-prima do guru dos Product Owners, Roman Pichler. É um livro que já foi traduzido pro Português mas que é bem difícil de achar a versão nacional, sendo bem mais fácil comprar o ebook na Amazon, embora um tanto salgado. Mas felizmente vale a pena cada centavo se você está investindo na carreira de PO. Roman fala do MMP (Minimum Marketable Product), fala de grooming, de planejamento de releases e ajuda de uma vez por todas a entender este importante papel dentro de times ágeis.

Esqueci algum livro que você gostaria de adicionar na lista? Me mande nos comentários!

Quer saber mais sobre desenvolvimento ágil de software? Clique no banner abaixo e conheça o meu livro.