Usufruindo de técnicas Agile para entregar valor com dados
A importância do uso de técnicas difundidas de Agile, na medida certa, trabalhando na área de dados
Desde o início da minha carreira trabalhei bastante na academia, fiz iniciação científica e pesquisa no mestrado. Como alguém que sempre tentou integrar os seus trabalhos à indústria vi que um dos maiores desafios para quem trabalha com pesquisa científica é conseguir gerar entregáveis que fossem usados a curto prazo dentro das empresas. É muito comum alunos de mestrado ou doutorado fazerem um trabalho de meses de pesquisa, que muitas vezes mudam de escopo várias vezes, passarem por dramas sobre a aplicação do seu trabalho em cenários de mercado.
Além disso, tive a oportunidade de trabalhar com diversos métodos ágeis em empresas onde trabalhei. Já experimentei um pouco de Scrum, XP, Kanban e outras variações dos métodos existentes, mas tem uma coisa que todos eles tem em comum: a origem no Manifesto Ágil. Esse manifesto é como se fosse um mantra para os agilistas visando garantir que as pessoas não esqueçam da essência do método, valorizando isso muito antes de somente seguir processos.
Quando comecei a trabalhar mais focada na área de dados percebi que temos um cenário que tem desafios que se assemelham aos da academia (quem nunca viu um produto de dados que nunca conseguiu ser colocado em produção?). De primeira pensei que a aplicação de métodos ágeis ia ser excelente para entregar valor, mas… identifiquei já nos primeiros trabalhos que aqui as coisas funcionavam de forma um pouco diferentes de desenvolvimento de software convencional.
Tem um livro bem bacana denominado Agile Data Science 2.0 que fala o seguinte:
“There is a fundamental difference between delivering production software and actionable insights as artifacts of an agile process. The need for insights to be actionable creates an element of uncertainty… “
Ou seja, não adianta somente termos uma análise conceitualmente correta, com pipeline de dados e gráficos visualmente claros, se os resultados não possuem insights acionáveis. Além disso, é importante que tenhamos o cuidado para que o resultado não seja compartilhado quando a necessidade não existe mais. Então, como conseguimos em um cenário que exige um trabalho de pesquisa, com alto esforço de análise e timeline imprevisível, conseguir fazer entregas que agreguem valor ao negócio?
Baseado no Manifesto Ágil, o livro destrincha boas práticas que auxiliam à responder essa pergunta. Vou elencar cada um dos tópicos, detalhando práticas e estratégias que podem ser usadas visando evoluir em cada um desses aspectos:
- Iterar, iterar, iterar: tabelas, gráficos, relatórios, previsões
Uma boa análise ou um produto de dados, por exemplo, só chega a um bom nível de qualidade depois de ser aperfeiçoado diversas vezes. Dessa forma, é muito importante durante o processo de construção de entregáveis de dados iterar sobre ele, usufruindo de estruturas diferentes de gráficos, métodos estatísticos, tunning de queries, etc.
- Fazer entregas intermediárias, mesmo que sejam experimentos falhos
Conforme dito no tópico anterior, aperfeiçoar os entregáveis é muito importante no processo. Esse aperfeiçoamento vai ocorrer de forma melhor se feito através de um fluxo estruturado de feedbacks.
Para que isso seja possível, é um passo importante para a empresa estruturar os seus times de forma que as pessoas de dados (Analistas de dados, Cientistas de dados, etc) estejam próximas à quem desenvolve os produtos (um exemplo é como foi descrito aqui nesse artigo). Esse é um cenário que facilita a troca de conhecimento.
As demandas de dados devem integrar o backlog do produto em conjunto com as demais demandas do time. É importante ter detalhamentos e discussões em reuniões de refinement, o comprometimento em conjunto para o sprint nas reuniões de planning e acompanhamento via daily. Inclusive, o pós-daily é um excelente espaço para compartilhamento de dados intermediários de análises.
Além do feedback, a integração das demandas de dados ao fluxo de trabalho dos times incentiva no processo de quebra dos trabalhos em tamanhos menores, de forma que tenhamos sempre checkpoints de evolução em conjunto com o time. Além disso, como o conteúdo dos entregáveis são compartilhados nas cerimônias durante o sprint, o trabalho vai sendo refinado à medida que vai sendo desenvolvido.
Para complementar, um importante mecanismo de troca de conhecimento entre pessoas de dados é usar estratégias de revisão em pares como descrito, por exemplo, nesse artigo. Esses trabalhos intermediários podem ser compartilhados em repositórios de análises de dados através de PRs que permitem o feedback de outras pessoas da área de dados.
- Focar em prototipar experimentos em relação a implementar tarefas
Como vimos anteriormente, a incerteza sobre qual caminho vai ser seguido no desenvolvimento de trabalhos com dados torna complexa a missão de antecipar e detalhar todas as tarefas que são necessárias para a finalização dele. Então uma boa estratégia é encarar esse processo como de experimentação, onde podemos utilizar estratégias de prototipação em cada um dos estágios.
Por exemplo, antes de começar a criar a query ou um processo complexo de ETL para a construção de um dashboard, podemos utilizar recursos de wireframe para compartilhar com os envolvidos quais dados serão disponibilizados e de que forma isso irá ocorrer. Se esse produto for ser utilizado pelo público externo da sua empresa, vale um processo de product discovery.
- Integrar dados nas decisões de produto
Em todo lugar hoje em dia se fala sobre trabalho data driven, ou seja, tomar decisões baseadas em dados. No entanto, vemos no dia a dia que não são em todas as empresas que isso é levado à risca. Muitas vezes baseado em orientações de negócios, ou metas agressivas, deixamos de lado as possibilidades de consultar dados históricos, por exemplo, e conseguir tomar decisões mais assertivas. Com isso, é essencial nesse cenário, principalmente pessoas de dados, sejam insistentes em integrar as informações das suas análises, ou de outras pessoas, às discussões que ocorram sobre produtos.
- Subir ou descer na pirâmide de valor de dados
Nesse tópico, o livro apresenta uma pirâmide baseada na de necessidades do Maslow, que detalha o crescimento do refinamento dos dados desde a raw até o trabalho pronto para ser entregue.
A base da pirâmide são aqueles dados brutos, da forma com que foram extraídos das suas origens. Eles irão ser tratados, limpos e enriquecidos no segundo nível. É nessa etapa que as análises começam. A próxima etapa é estruturar essas informações em relatórios, seguida da inserção de mais inteligência, através do uso de algoritmos de predição, por exemplo. Por fim, a geração dos insights acionáveis.
Mais importante do que seguir essa sequência é entender que existem esses passos e você pode subir ou descer na pirâmide a depender da necessidade. Como já falamos, iterar, receber feedbacks e evoluir é o mais importante.
- Descubra e persiga o caminho crítico para entregar o melhor valor ao produto
É importante desde o início do desenvolvimento do trabalho buscar identificar o caminho crítico para entregar valor. Essa busca é que vai guiar o fluxo ser mais assertivo e próximo daquilo que vai gerar maior sucesso no seu trabalho.
No entanto, uma das coisas mais interessantes que li nesse capítulo do livro é que ele sugere que quem tome as rédeas da descoberta seja a pessoa de dados envolvida e não um PM/PO. Isso vai muito de encontro ao que eu tenho vivenciado, quem trabalha o dado é aquela pessoa que detêm o maior conhecimento sobre o potencial do que aquilo pode se tornar. É então um passo importante estar atento e explorar essas possibilidades.
- Descreva o processo, não somente o estado final
Por fim e não menos importante, é super importante documentar todas as etapas do trabalho. O uso de repositórios, como dito anteriormente, é um grande aliado nesse processo. Com isso, conseguimos manter o compartilhamento do conhecimento daquilo que tem sido desenvolvido e as entregas contínuas.
Esses são apenas alguns pontos interessantes a serem considerados ao integrar Agile e dados. Existem outras estratégias interessantes que podem ser utilizadas e que são detalhadas no livro Agile Data Science 2.0.
Referências:
- https://agilemanifesto.org/iso/ptbr/manifesto.html
- https://www.oreilly.com/library/view/agile-data-science/9781491960103/
- https://medium.com/tech-grupozap/revis%C3%A3o-de-an%C3%A1lises-explorat%C3%B3rias-por-pares-no-grupo-zap-da330bd32b42
- https://medium.com/tech-grupozap/como-funciona-a-%C3%A1rea-de-dados-em-design-produto-e-engenharia-do-grupo-zap-806e708b6b08
- https://medium.com/aela/wireframe-o-que-%C3%A9-e-como-criar-seu-primeiro-fab2fdecbb56
- https://www.cursospm3.com.br/blog/passo-a-passo-product-discovery