fbpx

Métodos ágeis em Ciência de Dados

 


agile2.png

Data Science e Software Developer são campos distintos, de forma que aplicar a metodologia Agile da mesma maneira não faz sentido. Um projeto envolvendo Data Science lida com dados desconhecidos e muitas incertezas no processo investigativo, mas o importante não é entender tão somente o “fazer” do método, mas sim o “como pensar”.

 

Os métodos ágeis são amplamente difundidos no gerenciamento de projetos em startups, empresas de base tecnológica e no processo de desenvolvimento de softwares. De forma resumida, o passo-a-passo da metodologia Agile é: planejar > desenvolver > testar > aprender > repetir.

Seguindo a mesma lógica, os princípios Agile podem ser utilizados em projetos de Ciência de Dados, possibilitando ciclos de desenvolvimento acelerados e o incremento de melhorias de forma colaborativa entre a equipe envolvida.

O mindset ágil

Ainda que a metodologia Agile para desenvolvimento de softwares não seja 100% replicável para projetos de Ciência de Dados, o importante não é entender tão somente o “fazer” do método, mas sim o “como pensar”. Os valores ágeis priorizam:

  • Indivíduos e interações (ao invés de processos e ferramentas);

  • Software de trabalho (ao invés de documentação abrangente);

  • Colaboração do cliente (ao invés de negociação de contrato);

  • Responder a mudanças (ao invés de seguir um plano rígido predefinido).

A maioria dos projetos de tecnologia trata do que os clientes desejam, o que os desenvolvedores desejam e o que a empresa busca. Ao falar de Data Science, outra perspectiva é adicionada: o que os dados estão dizendo. Os cientistas de dados não podem entender os dados a menos que desenvolvam uma compreensão básica deles. O Agile utiliza o conceito de feedback constante para refinar um sistema em desenvolvimento, portanto essa forma de compreender o escopo valoriza o casamento dos Métodos Ágeis com Dados.

Agile em Dados

Data Science e Software Developer são dois campos distintos, de forma que aplicar Agile da mesma maneira não faz sentido. O ponto principal é que um projeto envolvendo Data Science contém muita investigação, exploração, testes, ajustes e lida com dados desconhecidos que podem levar a resultados desconhecidos, enquanto para desenvolver um software se tem um resultado esperado conhecido e se lida com dados estruturados. 

Ciência de Dados trata de extrair informações úteis de dados brutos e implementar modelos de Machine Learning, em um processo que requer uma boa dose de criatividade, validação de hipóteses e também falhas. O processo não é tão linear e envolve alto nível de incerteza.

Neste cenário, há pontos em que utilizar a metodologia Agile pode vir bem a calhar para as equipes de Data Science e também desafios a serem enfrentados.

Pontos positivos e benefícios

A metodologia Agile ajuda os cientistas de dados a organizarem metas, objetivos, pré-requisitos e prioridades no projeto, fornecendo uma visão geral e uma compreensão mais larga de todo o projeto, dos custos envolvidos e do passo-a-passo para alcançá-la. A expectativa fica mais alinhada entre os profissionais técnicos e outras partes interessadas, como o board executivo da empresa.

Até mesmo a comunicação entre a equipe técnica pode ser facilitada, pois às vezes os cientistas de dados ficam esperando por implantações de modelos, enquanto os engenheiros de dados ficam se perguntando o que os cientistas estão fazendo com a pesquisa aplicada e a análise de dados.

Outro ponto é a filosofia de entrega contínua, que permite mudanças na produção rapidamente. Em modelos de dados tradicionais, essa implantação é um processo de várias etapas feita pelos engenheiros, que reescrevem e testam a ciência de dados antes de implementá-la. Todo esse processo leva meses após a construção original. Aplicando Agile, é possível desenvolver plataformas de Machine Learning que fracionam os dados de treinamento para retreiná-los e implementá-los em modelos por meio de APIs. Assim, os cientistas de dados não ficam limitados a treinar modelos que precisariam ser implantados em produção.

Usando pirâmides de valor de dados que a metodologia Agile oferece, as equipes de ciência de dados podem representar seus progressos de forma lógica. Ela basicamente fornece uma estrutura conceitual para a criação de uma visualização do andamento do projeto. Assim, com cada ciclo de vida de desenvolvimento vem uma melhor representação e, portanto, melhor produtividade.

Desafios

Os Métodos Ágeis em equipes de Ciência de Dados enfrentam alguns desafios. Primeiro, porque envolve pesquisa, que permite um processo mais criativo de resolução de problemas em relação à rigidez dos processos de desenvolvimento de software e escrita de código. 

Não existe uma maneira “certa” de realizar e gerenciar essas pesquisas, pois cada projeto pode adotar técnicas diferentes e as tarefas nem sempre ficam tão definidas e padrões. A investigação científica é um processo de descoberta e isso não pode ser colocado em uma “caixinha” de produção.

Outro ponto é posterior, no momento de validação dos resultados dos algoritmos, que podem apresentar a necessidade de correção de acordo com sua precisão. Pode não ser tão difícil obter um modelo com 80% de precisão, por exemplo, mas obter os últimos 20% pode levar semanas e meses de ajustes e a metodologia Agile lida melhor com soluções concretas e os ajustes constantes de um modelo podem impedir o progresso tangível.

A metodologia Agile evoluiu ao longo do tempo para oferecer as práticas mais adequadas para vários domínios. Não se trata apenas de otimizar o ciclo de vida do desenvolvimento da ciência de dados, mas de alinhar a equipe com suas várias partes interessadas, fornecendo feedback adequado com os objetivos de negócios.

Ter o mindset Agile é prezar por agir rapidamente, falhar rapidamente, aprender com o processo e fazer novamente usando uma abordagem diferente ou um método aprimorado. É próprio para ambientes dinâmicos com o intuito de organizar e promover a produtividade dos ciclos dos projetos, sem cortar o potencial criativo e investigativo necessário para extrair os melhores insights dos dados.