Já chegamos à quele ponto no qual há software em lugares em que, há alguns anos, jamais imaginaríamos que haveria necessidade e utilidade: televisão, geladeira, fogão, carro, óculos, roupa, fechadura, mesa, cadeira, equipamento médico e por aí vai. Isso sem falar no mais óbvio, o telefone e o relógio que estão em nossos bolsos, bolsas e pulsos, e dos quais estamos nos tornando cada vez mais dependentes.
A ubiquidade do software é hoje uma realidade, o software permeia inúmeras atividades e objetos de nosso dia a dia. Acredito que se possa dizer que 100% da população mundial tem suas vidas afetadas por software, e boa parte dessa população tem contato frequente com software. De acordo com o relatório Digital 2019, mesmo regiões pouco desenvolvidas como a Ãfrica já têm mais de 36% de sua população ativa na internet. Em 2015 já eram 25%.
Mesmo com essa evidência de que o software está cada dia mais fazendo parte da vida de todas as pessoas do planeta, tenho a impressão de que não damos a ele a devida atenção e cuidado. Pense em todas as vezes em que você usou um software nos últimos sete dias. Você teve alguma experiência frustrante com ele? Tenho certeza de que sim.
Eu tenho experiências frustrantes com software diariamente. Mesmo softwares feitos por quem consideramos experts no assunto de desenvolver software – como Google, Facebook e outras empresas que nasceram e cresceram fazendo-os e que são frequentemente citadas como referências do processo do seu desenvolvimento – nos causam frustração.
O desenvolvimento de software evoluiu muito ao longo dos anos. Em termos de processo, antigamente tínhamos o waterfall, em que cada fase do desenvolvimento de software acontecia de forma sequencial. A distância entre a necessidade que gerou a demanda de desenvolver o software e o software propriamente dito era enorme.
No início deste milênio, começamos a experimentar as metodologias ágeis, que transformaram o processo de desenvolvimento de software em um ciclo com interações curtas que promovem o feedback contínuo. Isso ajudou consideravelmente a diminuir a distância entre a necessidade que gerou a demanda de desenvolver o software e o software propriamente dito.
Do ponto de vista dos aspectos levados em consideração no desenvolvimento de software, também evoluímos bastante. Os primeiros softwares eram desenvolvidos por times compostos exclusivamente por desenvolvedores de software. Aliás, não era raro esses times serem compostos de uma única pessoa. Cada vez mais vemos times multidisciplinares trabalhando juntos no desenvolvimento de software; o que é muito bom, pois traz novas visões para o software que está sendo desenvolvido.
Por um lado, a preocupação com o usuário, seus objetivos ao usar o software e sua interação com esse software são cuidados por profissionais de experiência do usuário, ou UX (do inglês User eXperience).
Por outro lado, a preocupação com a operação do software – ou seja, onde esse software vai rodar e que performance e disponibilidade ele precisa ter – trouxe profissionais de administração de sistemas, os SysAdmins (do inglês System Administrators), mais próximos do processo de desenvolvimento de software. Essa aproximação da operação do software com o seu desenvolvimento é o que deu origem ao termo e à cultura DevOps.
Entregamos software mais frequentemente, e trouxemos UX e SysAdmins para o desenvolvimento de software; mas será que isso é suficiente? Como vamos contar para o mundo, ou melhor, para as pessoas que podem ser beneficiadas com esse software, que esse software existe? Como vamos cuidar das suas questões jurídicas? Quando o usuário tiver um problema com o software, como vamos ajudá-lo? Como vamos gerenciar o retorno que ele trará? Como garantir que esse software atenda os objetivos de seu dono ao mesmo tempo em que atenda à necessidade de seus usuários?
Pensando nessas questões, algumas empresas que são consideradas experts no tema desenvolvimento de software começaram a adotar uma nova função em seu processo, a Gestão de Produtos de Software. Essa função tem por objetivo garantir que um software sendo desenvolvido atenda aos objetivos de seu dono ao mesmo tempo em que atenda à necessidade de seus usuários.
Além disso, essa função tem de pensar em todos os aspectos do software que citei anteriormente. Algumas metodologias ágeis, como o Scrum, têm o papel do Product Owner, que tem como principal responsabilidade priorizar os itens a serem desenvolvidos. De uma certa forma, a Gestão de Produtos de Software é isso, mas ainda é um pouco mais.
É sobre isso que vou falar neste livro. 🙂
Este livro é indicado para qualquer pessoa que trabalhe com software. Ele serve para pessoas que são gestoras de produto, pois todo gestor de produtos sabe que sempre há muito por aprender. E mesmo aqueles que já conheçam bem todos os temas apresentados aqui poderão tirar proveito revendo algum assunto.
Este livro também é indicado para qualquer pessoa que esteja querendo entrar na carreira de gestor de produtos. Acredito que ele possa tirar um pouco da ansiedade de quem estiver pensando em se tornar gestor de produtos, e não sabe ao certo o que fará e o que as outras pessoas esperarão dele.
Acredito que mesmo as pessoas que não pretendem ser gestoras de produto também poderão tirar proveito deste livro, entendendo como uma pessoa nessa função atua no ciclo de desenvolvimento do software e como um gestor de produto deve se relacionar com as outras áreas.
Note que eu disse que este livro é indicado para qualquer pessoa que trabalhe com software. Mesmo empresas que não têm software como seu core business utilizam software no seu dia a dia e, não raro, desenvolveram algum software que tem interface com seus clientes como, por exemplo, um site ou um aplicativo mobile. É importante para essas empresas entenderem a função de gestão de produtos de software e suas responsabilidades, para que possam gerir melhor esse software e aumentar suas chances de sucesso.
Vale lembrar de que este livro não tem a pretensão de cobrir de forma extensiva todos os temas que serão abordados, mesmo porque, se o fizesse, provavelmente teria de ser em uma coleção de livros. Meu objetivo é falar sobre os principais temas relacionados com gestão de produtos de software, aprofundando em alguns temas específicos e fornecendo várias dicas de leitura adicional.
Em alguns lugares do livro, referenciarei metodologias ágeis de desenvolvimento de software e o papel de PO (Product Owner). Acredito que o conhecimento desse processo de desenvolvimento de software e dos diferentes papéis envolvidos nesse processo não seja necessariamente um pré-requisito para a leitura desse livro, mas é certamente um conhecimento que vai ajudar a aumentar as chances de sucesso do seu software. Caso você queira se aprofundar no tema, recomendo o livro Learning Agile: Understanding Scrum, XP, Lean, and Kanban de Andrew Stellman, e Jennifer Greene. Além de explicar os princípios por trás da cultura ágil, ele também apresenta Scrum, XP, Lean e Kanban, as quatro metodologias ágeis mais conhecidas, e explica como espalhar a cultura ágil por toda a empresa. Leitura recomendada.
Estrutura do livro
Escrevi o livro seguindo a seguinte estrutura:
Na fase do crescimento, quando o produto foi desenvolvido e lançado, devemos nos preocupar em como gerenciar o produto durante seu crescimento, isto é, como gerenciar o feedback? O que é um roadmap? O que é OKR? Quando usar roadmap e quando usar OKR? Como priorizar as demandas? O que fazer com pedidos especiais? Como dizer não? Que métricas acompanhar? O que é e como criar a visão e a estratégia de seu produto?
Após esse crescimento, vem a maturidade. Nessa parte, vamos entender quando acontece a maturidade e o que fazer se o produto chega nessa fase. Depois da maturidade, ou quando o produto é desenvolvido mas não dá certo, chega a fase conhecida como fim de vida de um produto de software. Veremos como detectar e o que fazer nessa fase do ciclo. No final, quando já conhecermos todas as fases do ciclo de vida de um produto, mostrarei qual a diferença entre startup e gestão de produtos de software.
Essa sequência tem uma ordem lógica de assuntos, e alguns capítulos referenciam temas abordados em capítulos anteriores. Por esse motivo, recomendo a leitura sequencial do livro. Contudo, os capítulos também podem ser lidos isoladamente. Se você estiver muito curioso para ler sobre um determinado tema, pode pular direto para o respectivo capítulo.
Boa leitura!
Este artigo faz parte do meu livro “Gestão de produtos: Como aumentar as chances de sucesso do seu software”, onde falo sobre o que é gestão de produtos digitais, seu ciclo de vida, que ferramentas utilizar para aumentar suas chances de sucesso. Você também pode se interessar pelos meus outros dois livros: