A 1 ano atrás, a demos um grande passo na Dafiti mudando radicalmente a forma como TI as outras áreas de negócio atuariam. Essa apresentação é conta brevemente essa mudança, resultando no que hoje chamamos de células ágeis de produtos.
Boa tarde pessoal
Hoje vamos falar um pouco sobre a nossa experiências com o modelo de trabalho que estamos utilizando na Dafiti desde o ano passado, as células ágeis de produto
Há 4 anos atrás, a Dafiti começou como uma pequena startup, em pequena casa, com poucas pessoas, onde todos se conheciam. Era um ambiente onde a comunicação fluia sem barrareiras e de forma clara;
Se você quisesse falar com a diretora de transportes, bastava descer uma escada;
Naquele tempo, as pessoas tinham uma influencia muito grande sobre o modo como trabalhavam, com pouca interferência da alta gerência
Com um time de pessoas competentes, liberdade e uma estratégia de negócios brilhante, a empresa cresceu muito rápido e conquista um mercado de moda pela internet na américa latina
Entretanto, o crescimento rápido também trás problemas: o processo de comunicação na empresa passa a ser mais dificil, pois com o crescimento a estrutura da organização também muda para suportar este crescimento;
Com a mudança da estrutura, as pessoas começaram a se tornar mais distantes; a organização, tentando lidar com a nova realidade, implementou políticas para restringir o acesso de TI ás áreas de negócio, pensando que isso seria uma boa ideia.
Naquele momento, surgiu a figura do “intermediário”, que passaria a controlar a comunicação entre as áreas, mas que gerou ainda mais problemas e conflitos dentro da empresa
A burocracia aumenta. Documentos passaram a ser a principal ferramenta de comunicação
A confiança entre as áreas começa ser abalada
A comunicação falha resultava na falta de alinhamento entre negócios e TI; As áreas de negócio agiam como se fossem apenas clientes, demandando e esperando o resultado. Eles não se sentiam como parte de um mesmo time
Como resultado, os objetivos de negócio estavam em constante de risco de falha, era necessário um grande esforço do time de desenvolvimento para trazê-los de volta para rumo certo
Nessa época havia problemas de comunicação sérios mesmo entre os times de TI;
Havia a separação de responsabilidades entre os times, o que gerava rivalidade entre eles e impactava a qualidade dos produtos; Havia um time para a execução de novos projetos e o outro dedicado a munutenção destes projetos no dia a dia;
O problema é que o conhecimento gerado durante a construção do produto muitas vezes se perdia. Decisões tomadas anteriormente não eram entendidas por quem assumia o projeto e acabava gerando novos bugs no sistema;
A falha de comunicação também trazia outro problema: se não estava claro o obejtivo do projeto/produto, também não estava claro como construí-lo
A principal consequecia eram produtos com quantidade erros muito acima do aceitável
A comunicação falha e a qualidade impactada também tinha outro efeito negativo: alguns produtos entregues em produção eram pouco ou não utilizados; em alguns casos porque eles não cumpriam realmente o objetivo de negócio, em outros casos porque não funcionavam corretamente
Ou um caso ainda pior, como um teste A/B esquecido em produção por 6 meses, e que no final não trouxe resultado algum
Muita gente percebia os problemas que estávamos enfrentando, tanto técnicos quanto de gestão;
Na parte técnica, ainda havia uma seperação de responsabilidades ainda mais prejudical: um time dedicado a inovação
Na teoria pode fazer sentido dedicar um time a pensar na evolução da plataforma, mas na realidade é totalmente diferente. Quem vive o dia o dia é a pessoa mais adequada para indicar a solução;
O time de inovação se perdia em demandas geradas por eles mesmos que trouxeram pouco valor ou que não melhoravam em nada nosso dia a dia
Com metas agressivas de crescimento a empresa precisa de decisões rápidas, times focados que conhecessem profundamente os produtos que construiam e que entregassem com alta qualidade e velocidade.
Não era mais possível manter as decisões de priorização e evolução de forma centralizada.
Não era possível que os times esperassem por meses as especificações de analistas antes que pudessem iniciar o desenvolvimento
Não seria mais possível que os times abandonassem os produtos que construiam para tocar demandas totalmente diferentes, deixando o conhecimento adquirido de lado
Buscamos resgatar os príncipios e valores ágeis que existiam na compania, experiências bem sucedidas de uso de Scrum, XP e Kanban na empresa, trouxemos novos conhecimentos de Product Management, Lean e inspirações externas também como a Zalando, Spotify e Walmart.
nos ajudou também a alta direção ter visitado outra empresa de porte similar trabalhando em um modelo parecido com a nossa proposta (Zalando)
Tudo isso resultou no que chamamos de células ágeis de produtos
Como quase mini empresas, as Células Ágeis de produto unem TI, áreas de negócio e markenting em unidades de trabalho quase totalmente autônomas, com todas as competências necessárias para conceber, criar e evoluir os produtos da Dafiti
As células possuem todas as habilidades necessárias para o desenvolvimento e evolução do produto:
- Desenvolvedores
-QA
-Designers
- Data scientists
-UX
- Devops
… a composição das células varia conforme o tipo de produto construído
As celulas tem a responsabilidade sobre os produtos. Elas devem: conceber, desenvolver, testar, colocar em produção, monitorar e evoluir produtos
As células são compostas por P.O que possem um entendimento profundo sobre a área de atuação da célula.
Eles definem o direcimento da célula para que sejam alcançados os objetivos estratégicos da empresa
Marketing passou a estar mais presente do time de produto
Na natureza, a evolução ocorre a todo instante, em diversos lugares diferentes. Quanto mais variação, mais a chance da evolução ser bem sucedida.
A mesma ideia se aplica nas células de produto. Com diversos times vivenciando o dia o dia, propondo soluções e testando, maior a chance de novas ideias surgirem para ajudar o crescimento da própria célula quanto das demais
Depois de muita pesquisa, brainstormings e discussões, começamos um trabalho de preparação do planejamento de implantação das células para ser apresentado para a alta direção
Começamos levantando quais eram os temas mais frequentes que atendiámos no nosso dia a dia; pensamos também nas áreas de negócio que atuavam com a gente nessas demandas
Na sequencia, definimos os critérios que serviriam para classificar cada produto ou serviço existente e qual célula deveria atendê-lo
Ex.: Pagamento, DDM (recomendação), Multiloja
Montamos um plano pensando em começar com uma célula, com um time que já estivesse mais maduro em agilidade, com P.O e que pudesse estar no mesmo ambiente
Escolhemos o time de mobile, que já apresentava todas as características que queriamos e também estava isolado dos problemas dos times de projetos e operações
Pensamos em avaliar este time durante 3 meses e com este aprendizado começaríamos a implantar outras células, uma de cada vez
Mas a realidade é outra coisa
A direção queria mudar logo, então já começamos implantando 3 células no primeiro mês do processo de mudança
Tivemos que aprender no dia dessas células como atuar, identificar os problemas e corrígi-los logo, pois nos próximos meses teríamos mais células para implantar
Algumas células começaram sem P.O e sem definição de roadmap;
Alguns times ainda não tinham todas as habilidades necessárias para atuar no desenvolvimento de produtos e ainda sofriam com dependêcias externas
Pouco treinamento também resultou em falta de entendimento das responsabilidades e conflitos entre papeis
As áreas de negocio ainda não sabiam como se relacioanar com as células e constantemente solicitavam demandas para as células erradas
Começar sem P.O forcou um esforço de aceleração na contratação deles, o que gerou resultado
Os times passaram a assumir a responsabilidade sobre muitos módulos do sitema o que acelerou o processo de extinção do time de operações
Os times também passaram a se comunicar mais sobre mudanças que pudessem afetar outras células (módulos compartilhados)
O nosso aprendizado com as primeiras células nos fez evoluir o processo de implatação das células seguintes
Criamos alguns critérios para oficializar a criação de uma célula:
- Time no mesmo espaço
- P.O presente
- Todas as habilidades devem estar presentes (multidisciplinaridade)
Foi um desafio encontrar um espaço para que cada time pudesse sentar junto. Houvemos em que havia espaço para quase todos, quase – o time em um andar e o scrum master em outro, comprementendo um pouco da comunicação
Com o apoio de outras áreas da empresa, conseguimos organizar espaços para cada célula agrupar todos os membros em um mesmo ambiente
Isso levou também a uma gradativa redução do time de outsourcing, que no início eram 3 empresas e no final ficou apenas uma, com o quadro reduzido
Nosso objetivo era que cada célula deveria ter um P.O dedicado. Não poderíamos simplesmente atribuir esta atividade a gerentes das áreas de negócio da empresa. Apesar de serem bons demandantes, não tinham disponibilidade suficiente para acompanhar o dia a dia do time, nem como executar uma gestão completa dos produtos que seriam gerados pela célula.
Por isso, nossa escolha para a maior parte das células foi a de contratação de P.Os
Os membros dos dois antigos times - Projetos e Operações - começaram a serem redistribuidos entre as novas células.
Em muitos casos foi fácil a atribuição. As pessoas já trabalhavam com demandas que pertenciam aos temas das células.
Em alguns casos, as pessoas escolheram atuar em determinadas células, como foi o caso de alguns analistas de testes.
Com as novas responsabilidades, os times passaram também a ter uma participação mais ativa no direcionamento tecnológico da empresa
A inovação começa surgir em diversos pontos, trazendo resultados positivos que passaram a ser compartilhados por todos.
Vamos contar uma pequena história que ocorreu com um colega nosso (Flávio Briz) demonstra o que são estes resultados positivos.
Antigamente, instalar o próprio ambiente era uma tarefa árdua, que podia levar semanas até ficar pronta.
Um novo desenvolvedor ficou espantado com essa prática e tomou como desafio para ele reduzir este tempo para questão de horas.
Ele começou a criar a sua própria VM com o ambiente de desenvolvimento.
Inicialmente ninguém levou ele a sério. Somente depois que a VM foi demonstrada, algumas pessoas começaram a se interessar pela proposta dele.
Mesmo assim, poucos foram seus “early adopters”, que normalmente eram outros desenvolvedores recem chegados que não queriam gastar muito tempo preparando o ambiente.
Assim que mais e mais pessoas começaram a usar a VM, isso gerou incomodo nos devs mais antigos.
Eles passarama a defender uma outra solução, queria melhor, mais rápida, e claro, seria feita por eles.
A questão é que ficou apenas nas ideias e nunca saiu do papel.
A VM, no entanto, estava lá, pronta para ser utilizada e melhorada, e cada dia ganhando mais usuários
Ao final, depois de muito boca a boca, correção de bugs e uma base maior de usuários cativos, a VM finalmente se tornou uma solução recomendada na empresa para uso por todos os times.
Até hoje ela continua sendo evoluida e gerando valor para a empresa.
Moral: quando uma pessoa tem espaço para falar, desafiar o status quo e fazer acontecer, os resultados disso beneficiam a todos
A lei de Conway diz que as organizações tendem a criar a sistemas que reflitam o seu modelo de comunicação
Nos passamos a vivenciar isso assim mudamos para as células, vendo que o nosso sistema teria que refletir a nossa estrutura descentralizada
Estamos passando de um modelo monolítico para um modelo de microserviços, garantido a independência total de plataforma para cada célula
Estamos trabalhando para evoluir a nossa cultura:
- Fim da cultura do culpado – valorizar o aprendizado com o erro ao invés de apontar culpados
- Aumento da confiança, entre a gestão, time de produto e áreas de negócio
- Mais interações entre as pessoas - Guildas – mais canais de comunicação entre os profissioanais para troca de experiências e inovação
Queremos que as células se tornem quase pequenas empresas
Nós queremos a total independência de habilidades entre células – queremos infra, skills
Auto gestão completa - contratações, orçamento, plataforma
Pois temos certeza que é este modelo que vai nos ajudar o crescimento que queremos, não só nos próximos meses, mas nos próximos anos