Times de produto ágeis e suas funções
Neste artigo, exploraremos o papel fundamental dos times de produto ágeis e suas diversas funções no cenário do desenvolvimento de software. Discutiremos como essas equipes multidisciplinares se organizam, colaboram e entregam valor ao cliente, impulsionando o sucesso dos produtos em um ambiente cada vez mais dinâmico e competitivo.
Sumário
Mundo Vuca
Vivemos em um mundo globalizado e amplamente volátil, e estamos vivendo um momento de transformação digital, onde tudo se volta para a agilidade. Com esta mudança, os ambientes empresariais também estão mudando e deixando o modelo tradicional de trabalhar de lado e buscando novas formas de realizar esse trabalho com facilidade, transparência, qualidade e visando a satisfação dos seus usuários finais, focando cada vez mais no ágil e na experiência de usuário.
Assim, os times dessas empresas precisam se adaptar às mudanças e seguir esse novo jeito de trabalhar, se transformando nos chamados times ágeis, squads ou scrum team – nomenclaturas que vão variar muito de acordo com a metodologia aplicada. Caso seja do seu interesse saber mais sobre inovação tecnológica e o chamado “Mundo Vuca”, indico esse artigo: Inovação Tecnológica: diferencial ou sobrevivência?
Dentro dos contextos das maiorias das empresas atuais é preciso entender que trabalhar de forma ágil não é fácil nem possível de uma hora para outra, sendo uma verdadeira mudança de mindset e cultura que deve ser trabalhada diariamente entre todos: o time de desenvolvimento, o cliente e os stakeholders. Principalmente nas empresas tradicionais, às vezes existe uma certa dificuldade e resistência em virar essa chave e passar a pensar de forma ágil, e realmente não podemos cobrá-los de imediato, é necessário realmente um trabalho de evangelização e construção de cultura.
Para que essa evangelização seja possível é preciso que os times transpirem agilidade em tudo o que fazem, soando de forma natural e motivada.
Nesse texto, vou falar um pouco mais sobre a formação desses times, trazendo uma visão mais direcionada a construção de produtos e as implicações dentro desse contexto.
O que torna os times de produto ágeis?
Antes de entrar no contexto da formação dos times vamos discutir dentro do cenário de desenvolvimento, quais as características de um time que o torna ágil perante as outras formas de desenvolvimento e gestão de projetos. Posso destacar alguns pontos chaves, que devem ser verdadeiras estrelas guias para o seu time, caso você esteja atuando dentro de um cenário ágil ou assim deseja trabalhar de agora em diante:
- Entregas pequenas e frequentes, sempre com a intenção de validar uma hipótese – pensar sempre na entrega de valor ao seu usuário com pequenas iterações no seu produto;
- Encorajar criatividade e proatividade, sendo tolerante a falhas – todos os integrantes do time devem fazer parte das definições de solução, não cabe somente ao product manager ou product design esta atribuição.
- Simplificar conceitos e soluções (pensando sempre na construção de um MVP) – sempre ter em mente a construção de soluções mínimas viavéis do seu produto para que sejam validadas pelos seus usuários evitando construções desnecessárias e/ou que não façam sentido ou não sejam utilizadas.
- Feedback concreto dos usuários – sempre que possível colher feedbacks com seus usuários sobre suas entregas como modo de validação e geração de idéias para construções futuras. Seja sempre centrado no usuário.
- Processo de discovery contínuo – a descoberta do seu produto não é somente no início do projeto quando se mapeia a dor e solução propostas, o processo de descoberta ocorre durante todo o ciclo de vida do seu produto, devendo sempre revisitar e atualizar seu backlog de features.
Como são formados os times de produto?
Imagine que você queira construir uma casa e para isso já comprou o terreno e os materiais necessários, porém não contratou mão de obra nem projetista. Dentro deste cenário acredita que irá conseguir ter sucesso na construção dessa casa? A sua resposta a pergunta com certeza é: ‘Não!’. Como é possível que esta casa seja construída se eu não tenho mão de obra para isso?!
Trazendo para o contexto de produto, podemos considerar a casa como sendo o produto, os materiais como os recursos e os engenheiros, arquitetos e pedreiros nosso time de desenvolvimento; assim da mesma forma, sem um time de produto não conseguiremos construir nosso produto e muito menos entregar valor para o nosso usuário final, simples assim!
A definição deste time vai variar muito de contexto para contexto, de empresa para empresa, e quando digo isso me refiro a multidisciplinaridade do time. Para a construção de qualquer produto é necessário um time que vá realmente por a mão na massa para resolver o problema encontrado, e é na definição dessa equipe que se encontra o diferencial e muitas vezes a garantia de sucesso ou fracasso de um produto. A escolha das pessoas que vão trabalhar em um time de produto tem de ser bem pensada e estruturada de acordo com a necessidade de cada produto.
Composição de um time de produto
Uma equipe ou time de produto normalmente é composto por um gerente de produto, um design e até dez ou doze engenheiros, mas isso não é regra, pode e vai variar de acordo com o produto em que se esteja trabalhando. Pode acontecer de não ser necessário um design, se seu produto não tiver interface com o usuário, ou pode ser necessário um número menor de engenheiros, mas como uma equipe mínima, seria ideal um gerente de produto, um design e dois engenheiros.
É importante dizer que em uma equipe de produto não existe uma hierarquia, ninguém trabalha para ninguém, não existe cargo de chefia. É uma organização totalmente horizontal, onde cada um tem o seu papel definido e o trabalho de todos em conjunto fazem o produto acontecer. Cada área de desenvolvimento deve se reportar ao seu gerente funcional para a resolução ou tratativa de alguma situação que não seja possível tratar entre o time, não existindo assim centralização. Ressalto que o gerente de produto não é chefe de ninguém, todo o time age de forma colaborativa- produto, design e engenharia – para construir e entregar sempre o melhor produto.
Um ponto interessante é que as equipes de produto devem ter o mínimo de dependência entre elas, por isso possuem autonomia para resolução das situações referentes ao produto que surgir, Marty Cagan fundador do Silicon Valley Product Group, fala que as equipes de projeto devem ser capazes de tentar resolver os problemas aos quais são designadas da forma que julgarem mais conveniente.
Agora que já conhecemos um pouco da formação e estrutura de um time de produto, vamos falar um pouco de cada um desses papéis, entender suas hard e soft skills, além de suas responsabilidades na construção de um produto!
O papel do Product Manager
O gerente de produto ou product manager é aquela pessoa que cuida da vida de um produto. Ele deve ter uma visão holística e ao mesmo tempo detalhada do produto, estando constantemente preocupado com o que está sendo construído mas também com o que será construído em seguida.
Costumo dizer que o product manager precisa ter uma incerteza real do que vai ser construído no futuro; posso parecer incoerente com essa afirmativa quando logo antes neste artigo eu disse que ele deveria ter uma visão do que virá em seguida, mas nas linhas seguintes eu me explico!
Quando eu digo incerteza, estou me referindo ao fato dele estar constantemente avaliando e realizando um processo de discovery contínuo sobre o produto. Não se pode ter certeza do que será construído a um médio ou longo prazo, trabalhar com produto está muito relacionado ao contato com seu usuário e a construir de acordo com o que sentimos e observamos de retorno dele. Ou seja, não devemos nos ater a esse roadmap como uma verdade absoluta, pois como apontei acima, com produtos trabalhamos de acordo com as percepções dos nossos usuários, então devemos ter consciência de que planos de médio ou longo prazo podem mudar e com certeza em algum momento isso vai acontecer.
Comunicação na gestão de produto
Um ponto importante sobre o gerente de produto é que ele deve estar em constante comunicação com o time de engenharia e design, repassando a eles como está a saúde do produto de uma forma geral, alinhando o time e colocando-os na mesma página, direcionando os próximos passos, mas sempre com muito cuidado para não impor as soluções dos problemas encontrados que precisam ser resolvidos, essa decisão é do time como um todo.
Não é papel ou função do gerente de produto apontar solução para os problemas, seu papel é envolver o time e contextualizar sobre as necessidades e juntos chegarem em uma solução viável. Claro que ele já pode de acordo com suas percepções e conhecimento do negócio, ter um caminho pensado que poderia ser encarado como uma solução viável, mas ele nunca deve impor, pelo contrário, ele deve trazer para discussão e em comum acordo do time encontrar o melhor caminho.
Para definir uma solução de um problema é importante todos do time estarem envolvidos, pois todos podem e devem contribuir: o gerente de produto com sua visão de negócio e estratégia, o design com suas percepções de experiência de usuário e os engenheiros com as ponderações técnicas e possibilidades na construção. Como Marty Cagan cita em seu livro Inspired, ‘gerentes de produto são responsáveis por contribuir com seu time’.
O que uma pessoa de produto precisa saber?
Existem algumas áreas de conhecimento que são importantes para o product manager ter dominância e entendimento para construção de um produto, são elas:
- Clientes – deve entender o seu público alvo, quais suas necessidades, principais dores, o que pensam e o que esperam do seu produto;
- Dados – deve procurar analisar os dados encontrados sejam por pesquisa, observação de uso ou outros e transformá-los em informações que possam ser usadas na tomada de decisão;
- Negócio – deve entender realmente o negócio como um todo, os stakeholders e suas necessidades, absorvendo também questões das outras áreas como marketing, comercial e vendas;
- Mercado – deve identificar seus concorrentes, qual sua posição no mercado, como gerar impacto de forma positiva e definir qual o diferencial de mercado do seu produto.
Um profissional de produto deve permear entre todas as áreas de construção do produto, ele não pode apenas se ater a gerar backlog de funcionalidades a serem construídas, seu papel é muito além disso, ele deve ser apaixonado pelo seu produto e alimentar essa paixão no seu time. A persistência, a resiliência e a empatia são virtudes características imprescindíveis para a pessoa que assume esse papel de gestão de produto.
Tirando uma dúvida comum: PM ou PO?
Afinal, qual a diferença entre um Product Manager (PM) e um Product Owner (PO)? De uma forma geral podemos conceituar o Product Owner ou PO, como sendo a pessoa responsável por maximizar o valor do produto, refinando as estórias de usuário, levantando os requisitos junto aos stakeholders e gerenciando o backlog. O seu papel é mais no âmbito operacional. Já o Product Manager ou PM tem um papel mais gerencial, voltado a estratégia do negócio, sua visão está mais direcionada ao futuro do ciclo de vida do produto pensando em escalabilidade e estratégia de mercado.
Mas na prática, a definição desses papéis vai ser muito distinta de acordo com a empresa em que você atua, pois em algumas empresas maiores esses papéis podem estar bem definidos e escalonados, em outras pode existir apenas o Product Manager fazendo os dois papéis, ou ainda outras que exista apenas o Product Owner que realiza também o papel de PM. O que é certo, é que não tem como existir apenas um papel, caso assim seja, a pessoa responsável estará executando as duas funções durante o seu dia a dia de trabalho com o time de produto.
O papel do Product Design
O trabalho do design em uma equipe de produto é imprescindível para a construção e valor do produto para os usuários. Antes, o papel do product design era focado no design visual e requisitos do gerente de produto. Hoje, ele trabalha junto ao gerente de produto na descoberta do produto, experiência do usuário, prototipagem e testes. A sinergia entre os dois papéis é essencial para a construção do produto certo, equilibrando a visão estratégica do gerente de produto com a percepção de user experience do design.
Para fazer o produto certo
Pode acontecer de em algumas situações ser necessário o PM desempenhar esse papel de design, caso em seu time não exista um design dedicado ou a empresa não entenda a necessidade de um, porém isso pode acarretar em várias implicações da construção do produto, onde muita da carga de design vai ficar a cargo dos engenheiros, que vão ter de compreender sozinhos o design, o que de toda forma afetará diretamente a entrega de valor do produto.
Um gerente de produto ter experiência ou conhecimento em UX/UI traz um valor muito grande para o papel, pois pode despertar uma visão diferente sobre o produto e as soluções a serem propostas e mesmo trazer discussões proveitosas entre o time de design e o PM, agora ter este conhecimento não implica na substituição do papel do design, ambos tem suas funções e responsabilidades dentro de um time de produto, o ponto aqui é a facilidade de comunicação entre eles, que também caso não se tenha este conhecimento prévio por parte do PM na área de design, o mesmo pode e será desenvolvido entre eles.
Relação de produto e design
Para sintetizar essa relação entre gerente de produto e design, vou trazer um texto onde Marty Cagan nos apresenta cinco pontos-chave para um relacionamento saudável e bem sucedido com o seu design:
- Faça o que precisar fazer para que seu design sente ao seu lado.
- Inclua seu design desde o início de cada ideia.
- Inclua o design em todas as interações de usuário e consumidores possíveis. Aprendam sobre os usuários e clientes juntos.
- Lute contra a sua tentação de fornecer ao seu design suas próprias ideias de design. […].
- Encoraje seu designer a iterar cedo e frequentemente. […].
O papel do design vai muito além do ‘desenhar telinhas bonitinhas’, está muito mais direcionado à descoberta do produto e do que construir.
O papel dos Engenheiros
Outro papel importante dentro da equipe de produto é o dos engenheiros, ou desenvolvedores como são comumente chamados. Este papel está mais relacionado à construção do produto em si, consumindo os insumos gerados pelo gerente de produto e designers.
É de grande importância para o gerente de produto ter um bom relacionamento com os engenheiros de seu time, pois ele precisa estar em contato constante com eles, seja para passar a visão do produto em si, discutir um problema ou direcionar uma implementação.
O PM precisa saber programar?
É comum questionar se o gerente de produto precisa ter conhecimento em programação. Embora não seja um requisito, o conhecimento em programação auxilia na comunicação com o time de engenheiros. Ter familiaridade com o desenvolvimento facilita a discussão de soluções e ideias. Não é necessário ser um especialista, apenas entender a lógica e o processo de desenvolvimento.
É essencial reconhecer o que não se sabe e contar com as pessoas certas no time para ajudar e orientar. Ter humildade em admitir a falta de conhecimento é mais valioso do que tentar provar algo incerto. A estrutura do time é fundamental. Não hesite em perguntar e buscar apoio. O crescimento é coletivo.
Mesmo que tenha conhecimento em desenvolvimento, não se deve impor soluções ou ditar como as coisas devem ser feitas. As decisões devem ser tomadas pelo time. A construção técnica do produto fica sob a responsabilidade dos engenheiros, com autonomia para escolher a melhor tecnologia, orientados pelo líder técnico.
O gerente de produto desempenha o papel de transmitir informações sobre o produto, os problemas a serem resolvidos, as percepções dos usuários e as estratégias. Ele deve fornecer uma visão holística aos engenheiros, para que construam alinhados ao produto e com conhecimento sobre a dor do usuário final que estão solucionando.
Um pouco mais sobre os times de produto
Acredito que tenha conseguido trazer nos tópicos anteriores a importância de todos os papéis e da relação entre eles como time e principalmente do product manager nesse cenário. Agora voltando um pouco lá no início, vimos que a equipe de produto deve ser multidisciplinar, e isso quer dizer que vamos ter pessoas das mais variadas áreas trabalhando juntas e trocando experiências. Existirão experts em cada área e essa estrutura de time lhe permite usar dos conhecimentos de todos os integrantes do time na resolução das necessidades que aparecer, e é essa troca que engrandece a construção de um produto.
Enxergo a multidisciplinaridade dos times como uma grande oportunidade de crescimento para o time, onde todos podem desenvolver tanto as hard skills, como e principalmente as soft skills. E como gosto de dizer sempre, um produto não é construído por uma pessoa, mas por um time, focado e dedicado em seu maior impulsionador: o usuário!