Desenvolvimento de produtos de forma incremental
Agora em Setembro estou completando 1 ano de Yahoo!, vim para assumir uma nova equipe de desenvolvimento de produtos e tecnologia para a América Latina, mas principalmente com foco no mercado Brasileiro. Neste período passei por diversos aprendizados mas finalmente pude colocar em prática algumas das coisas que acredito em relação a desenvolvimento de produtos e processos.
O que queria provar é que é possível desenvolver um produto de forma incremental, feature a feature, aplicando um processo 100% ágil e entregando resultado rápidamente, contando com a participação de usuários reais e não baseado em achismos. Este produto hoje se chama Yahoo! Meme e vou compartilhar aqui pouco de como foi esta experiência.
Assim que cheguei no Yahoo! tive de montar a equipe, neste quesito eu já tinha certeza dos papéis que precisava:
- um Designer que escrevesse código e fosse responsável pela implementação 100% da Interface
- Desenvolvedores que gostassem de TDD e que topassem fazer qualquer coisa: frontend, backend, costurar, cozinhar, etc
- um Product Owner (PO) que tivesse conhecimento técnico e entendesse de Internet.
Enquanto o processo de entrevistas e seleção da equipe rolava, eu já havia encontrado o nosso PO (Pedro Valente) e começamos a montar alguns processos de Ideation e Filtragem de ideias, começamos a fazer vários brainstorms e o resultado foi um “framework” (ou um arcabouço como diriam alguns teóricos brasileiros
) para selecionar e filtrar ideias de uma forma mais ou menos científica e menos baseada em achismos e sentimentos.
Alguns pontos deste framework:
- Definir um público alvo: nosso caso Jovens 16-32 anos;
- Encontrar problemas reais e de grande impacto que ainda não tenham sido totalmente resolvidos;
- Encontrados os problemas, existem Players no mercado que solucionam este problema? Podemos resolver de uma forma melhor? Podemos simplificar a solução?
- Com as possíveis soluções, começamos a esboçar em que produtos aplicaríamos as mesmas.
- Legal, tínhamos encontrado alguns problemas que poderíamos resolver e suas possíveis soluções, neste momento aplicamos alguns filtros para selecionar qual seria o produto que começaríamos a “prototipar”. Este filtros não passam de umas 8 perguntas com respostas binárias (sim e não) que aplicávamos a todas as ideias, depois ordenamos as idéias pelas que tinham mais respostas “sim”
OBS: quando eu falo prototipar estou me referindo a desenvolver as features principais do produto. A entrega do protótipo é software funcionando e não telinhas e flashizinhos ou PPTs
Em paralelo a equipe foi sendo selecionada e já estávamos completos para começar a montar nosso ambiente de desenvolvimento e a escrever as principais User Stories do nosso primeiro protótipo. Este é um dos momentos onde o fato de termos um Product Owner com conhecimento técnico é vital, pois grande parte das primeiras User Stories seriam de infraestrutura básica do produto, o desenvolvimento das provas de conceito para confirmarmos a viabilidade do produto.
A entrega deste Sprint Zero, em Dezembro de 2008, seria algo muito mais técnico e menos visual e ainda teríamos que entregar os ambientes de Desenvolvimento, Continuous Integration, Staging, etc. O PO precisa ter sensibilidade para entender o que é importante ser priorizado e que algumas vezes as entregas serão mais técnicas (mas sempre sem perder o foco no usuário final).
Com as peças em seus devidos lugares, iniciamos o desenvolvimento do nosso primeiro produto e quando participei do primeiro Sprint Review, sabia que tínhamos algo na mão que pudesse dar um bom resultado. O projeto nesse momento tinha o codename de “GoodStuff”, pois queríamos permitir que os usuários tivessem um lugar onde eles pudessem propagar coisas legais (good stuff) que eles encontrassem pela Internet de forma fácil e rápida
E assim começamos a desenvolver User Story a User Story, funcionalidade por funcionalidade e em Fevereiro de 2009 fizemos nosso primeiro release interno dentro da rede do Yahoo!, apenas alguns poucos Yahoos poderiam usar o produto e nos dar feedback. O interessante é que o produto em si, possuía apenas algumas poucas funcionalidades, o que definimos como os maiores diferenciais e precisamos saber se estávamos realmente no caminho certo, para isso nada melhor do que ouvir usuários de verdade.
Para se ter uma ideia de como o produto estava no básico do básico o thumbnail/avatar de todos os usuários era fixo (usavamos uma imagem do Vitor Fasano), que depois virou uma User Story: “Eu como usuário não quero mais ter o thumbnail do Vitor Fasano”.
Assim caminhamos por mais alguns Sprints, repriorizamos as Stories baseadas no feedback dos usuários, mas sem perder o foco no objetivo que traçamos para o Produto, sobre este assunto eu sempre gosto de citar uma frase de Henry Ford na ocasião do lançamento do Ford T.
“Se eu perguntasse para meus clientes o que eles gostariam, eles me responderiam: Cavalos mais rápidos”
É muito importante ter a visão de onde você quer chegar e depois ir adaptando o caminho que você toma com base no que seus usuários dizem e em como o mercado evolui.
Fomos aumentando o número de Yahoos com acesso ao produto, coletando mais feedback e em Abril deste ano chegamos ao ponto onde tínhamos o que classificamos como “good enough” e fizemos um lançamento que chamamos de “Friends and Family“, foi a primeira vez que o produto foi aberto para usuários externos ao Yahoo!, foi neste momento que escolhemos o nome Meme. A equipe convidou alguns familiares e amigos e cada um destes tinha o direito a convidar outros 3 amigos e assim por diante, chamamos esta fase de Private Alpha.
Agora com mais e mais usuários chegando pudemos coletar mais feedback, e assim os usuários passaram a fazer parte do desenvolvimento do produto, nos dando dicas do que eles achavam importante e como podíamos melhorar. Com estes dados repriorizamos coisas que julgávamos como não prioridade. Por exemplo, um dos maiores pedidos era a possibilidade de buscar por outros usuários, então desenvolvemos uma busca de pessoas super simples, e depois comentários, e assim por diante. Internamente o produto fez tanto sucesso que nos foi pedido para fazermos uma versão em Espanhol, que lançamos em meados de Julho e depois uma versão em Inglês que lançamos no final de Agosto. Hoje o Yahoo! Meme esta em Private Alpha em 4 países: Brasil, México, Argentina e Philippines, e quem sabe o que virá mais a frente.
Em Setembro abrimos nossa API, baseada no Yahoo Query Language (YQL), que permite desenvolvedores usarem uma sintaxe similar ao SQL para recuperar dados do Meme. Sem fugir muito do tópico mas já fugindo, este aqui é um exemplo de query YQL que devolve todas as infomações sobre o meu meme.
SELECT * FROM meme.info WHERE name=’acarlos1000′;
Clique aqui para ver o resultado no Console do YQL
Aqui tem um um outro exemplo que mostra 100 dos meus seguidores ordenados por número de seguidores;
SELECT * FROM meme.followers(100) WHERE owner_guid IN (SELECT guid FROM meme.info WHERE name=’acarlos1000′) | sort(field=”followers”) | reverse();
Clique aqui para ver o resultado no Console do YQL
Finalmente, a lição que aprendi neste último ano é que, sim possível desenvolver produtos de forma incremental e que tenham alcance mundial se o problema que você esta resolvendo for grande o suficiente e a sua solução simples o suficiente, de forma a que o produto faça sentido em diversas partes do mundo.
Por último agora em Setembro, nosso time foi eleito um dos 10 melhores times de todo o Yahoo! entre mais de 14.000 funcionários, ganhando um prêmio interno chamado de Yahoo! Super Star Award. Mais uma prova de que se você tiver foco, entregar valor consistentemente e executar com qualidade o reconhecimento sempre virá.
Abs e confiram o meu Meme: http://meme.yahoo.com/acarlos1000, se precisarem de convites para entrar, escrevam um comentário com seu e-mail que eu envio mais tarde.
24 Comments
@diogokaike on September 13th, 2009
Belo trabalho! Ótima linha de raciocínio, ótima equipe, ou seja, ótimo caminho.
Desejo muito sucesso ao meme e a todos vocês da equipe. E parabéns pelo prêmio.
[]’s
Guilherme Cirne on September 13th, 2009
Cara, muito foda o post!
Só uma sugestão: para as pessoas não se confundirem, acho que vale a pena deixar bem explícito que o “prototipar” significa software funcionando. Ou seja, entregar as primeiras features – as mais importantes – e, com o feedback recebido, decidir se vale a pena seguir ou não com o “protótipo”
Ou estou enganado?
Marcello Azambuja on September 13th, 2009
Parabéns Toninho e equipe, ótimo trabalho! E obrigado por compartilhar a experiência no blog.
Diego Plentz on September 13th, 2009
To-do: postar as 8 perguntas do “framework”
Kulbir Saini on September 13th, 2009
Congrats Carlos. Meme is a really wonderful thing
Good luck
Vitor Pellegrino on September 13th, 2009
Excelente post, Antônio!
Muito bom ver mais um caso de sucesso de uma equipe que contando com uma boa capacidade de auto organização e com excelência técnica de seus integrantes, foi capaz de alcançar resultados impressionantes em tão curto espaço de tempo.
Que seja um exemplo para muitas empresas por aí que ainda não conseguem enxergar certas práticas com a atenção e seriedade devida.
Mais uma vez, meus parabéns!
Um grande abraço!
O melhor da semana 07/09 a 12/09 « QualidadeBR on September 13th, 2009
[...] Desenvolvimento de produtos de forma incremental – Antonio Carlos Silveira (Antonio Carlos Silveira Blog). [...]
Bruno Gola on September 14th, 2009
Antonio, parabéns pra vocês!
Muito legal o post.
Benitez on September 15th, 2009
Parabens pelo post Toninho…
Acredito muito em um PO tecnico com conhecimento de internet e um designer que escreve código faz toda a diferenca…
abraco e sucesso
Guilherme Garnier on September 15th, 2009
Muito legal Antônio. Parabéns pelo post e pelo sucesso no projeto!
Anselmo Alves on September 16th, 2009
Parabéns Antonio!
Sua experiência é muito inspiradora para nós!
[]’s!
danicuki on September 16th, 2009
Antônio,
parabéns pelo sucesso aí no Yahoo!
Nos vemos em breve!
[]s
Daniel Cukier
Tiago Peczenyj on September 22nd, 2009
Toninho,
Parabéns cara, acho que este tipo de testemunho tem muito a acrescentar aos lusófonos que tentam desenvolver algo de forma incremental e/ou com boa qualidade.
Continue assim!
Dirceu Pauka Jr. on October 5th, 2009
Equipe de players A produto level A.
Gostei muito da API com YQL e agora do oAuth no bookmarklet. Muito usuários estão usando o bookmarklet?
Eu não deveria falar isso, mas um widget do meme também seria legal.
lucianocosta on October 6th, 2009
Antônio, mesmo sabendo que agile funciona, ainda é bom ver relatos como este. É bom ver as consequências positivas do respeito por valores, indivíduos e interesses de forma transparente e objetiva.
Se der me manda um convite para a ferramenta, gostaria de usá-la!
Sou teimoso em fuzilar os céticos de plantão com cases como este. Obrigado pela munição!
Flavio Steffens de Castro on December 6th, 2009
Fala Antônio! Vi no teu flickr uma dinâmica agile da fábrica de aviões. Só por curiosidade, é a que eu criei? http://www.agileway.com.br/2009/08/18/dinamica-fabrica-de-avioes-2-0/
Se sim, queria entrar em contato contigo pra saber como foi a experiência, já que aplicaste lá fora.
Grande abraço!
Luiz Felipe Silva on January 13th, 2010
Parabéns Antonio!!! Fico muito feliz pelo seu sucesso!
ccasado on April 2nd, 2010
Toninho.
O Yahoo está bem servido, pois você é um grande conhecedor do nosso mundo tecnologico.
Parabéns e grande abraço.
Eni on June 18th, 2010
é um ótimo poster, eu sempre gosto de ler o que você encreve, no meu site tambèm tem ums artigos e umas notícias interessantes. beijos.http://sensuaisegatas.blogspot.com
Nayara on July 23rd, 2010
Puxa!legal parabéns!



Subscribe to My RSS Feed





Dudu P on September 13th, 2009
Repito aqui o mesmo que disse no Twitter: ter acompanhado este desenvolvimento de pertinho é um dos ápices da minha carreira. Parabéns pelo achievement!