Data Science, sem dúvida, é uma área do conhecimento que vem se expandindo consideravelmente nos últimos anos e embora o debate, por muitas vezes, gire ao redor de seus aspectos técnicos e tecnológicos, as discussões acerca das qualificações das equipes e gestão de projetos de ciência de dados crescem rapidamente.
É comum que os projetos de Data Science não sigam um processo explícito em termos de gestão, é o famoso “Figure it out as we go”. Saltz et al. (2017) identificaram em uma de suas pesquisas acerca do tema que 59% das equipes de Data Science analisadas responderam que não têm um processo bem definido e atuam de acordo com cada interação e desenvolvimento do projeto. Ao mesmo tempo, segundo Amaral (2020) 55% dos projetos de Data Science falham, enquanto que projetos tradicionais de software falham 25%.
É esperado que, à medida que uma determinada área de conhecimento evolua e que os times tenham ao longo do tempo uma maior demanda de projetos a serem desenvolvidos, se estabeleçam processos mais gerenciáveis e estruturados.
Com a finalidade de visualizar melhor as possibilidades de gerenciar projetos de Data Science apresento abaixo algumas das alternativas encontradas na literatura, sobretudo nas análises da datascience-pm.com.
No final deste texto deixo as referências bibliográficas para aqueles que desejam se aprofundar no tema. Considerei uma divisão proposta pela datascience-pm, dividindo as abordagens entre Abordagens Tradicionais, Ágeis, Híbridas e Emergentes.
Abordagens Tradicionais
Waterfall, comumente conhecida como abordagem em cascata, apresenta uma estrutura de gestão de projetos altamente estruturada, com planejamento inicial, fases de desenvolvimento em camadas horizontais e o compromisso de seguir objetivamente o plano dado inicialmente.
Considerando a natureza incerta e cíclica dos projetos de ciência de dados, pode ser difícil encontrar casos de sucesso e utilização apropriada desta abordagem neste contexto.
CRISP-DM (Cross-industry standard process for data mining ) é uma das primeiras metodologias e amplamente utilizadas no contexto de mineração de dados. Continua sendo muito popular para os processos de KDD (Knowledge Discovery in Database) e fornece uma estrutura técnica para ciência de dados.
Por outro lado, não oferece recursos e processos para gerenciar equipes e pode ser ineficiente se considerar a preocupação com extensas documentações.
Abordagens Ágeis
Scrum é uma das, senão a mais popular abordagem para desenvolvimento de software. Centrada em um guia (Scrum Guide) é em essência uma metodologia ágil para gestão e planejamento de projetos de software.
Adaptada no contexto de produtos de Data Science, oferece a possibilidade de desenvolver continuamente incrementos potencialmente entregáveis em ciclos curtos e iterativos. Tem como um aspecto bem positivo a forte interação de feedback do cliente. Destinarei nos próximos textos um maior detalhamento e avaliação do Scrum para Data Science.
Kanban, que significa outdoor em japonês, é similar em alguns aspectos ao Scrum, em especial na lista de funcionalidades e/ou tarefas que ficam apresentados no backlog. Basicamente o Kanban facilita a visualização das tarefas que a equipe precisa fazer, está fazendo ou já concluiu, ou seja, se há uma ou mais tarefas no backlog, é possível movimentá-la em um quadro indicando que ela está sendo executada ou que foi concluída.
Em projetos de Data Science, o Kanban pode ser muito flexível e pode melhorar a coordenação com a equipe. Esta abordagem é mais simples que o Scrum e pode ser útil para iniciar a transição de equipes tradicionais para equipes ágeis.
Abordagens Híbridas
Bimodal, conhecida também como Waterfall-agile, é a combinação dos elementos destas duas abordagens. Em termos práticos é a tentativa de utilizar os melhores aspectos de cada uma delas. Para Mark Schiffman (2017), por exemplo, o Waterfall pode ser melhor para focar na coleta de requisitos para manter um passo à frente no desenvolvimento e o Scrum seria melhor para o desenvolvimento em si. Esta abordagem estaria mais indicada para situações muito específicas como projetos altamente regulamentados que exigem elementos em cascata.
Pesquisa e Desenvolvimento, muito comumente utilizada em áreas específicas de empresas, institutos de pesquisa e universidades, é dividida em duas fases principais:
- Pesquisa: que é amplamente não estruturada; e
- Desenvolvimento: que tende a alavancar abordagens de engenharia de software padrão.
Como a ciência de dados costuma ser vista como um empreendimento de pesquisa, essa abordagem pode acabar sendo utilizada, especialmente por equipes com experiência em pesquisa. No entanto, gerenciar esses projetos pode ser desafiador, pois essa estrutura de “pesquisa” frouxa pode refletir abordagens ad hoc.
Abordagens Emergentes
O Microsoft Team Data Science Process é uma metodologia abrangente que define funções, processos e modelos que são amplamente inspirados no CRISP-DM e Scrum. Lançado em 2016, o TDSP foca nos aspectos do agile focado em entregar soluções de ciência de dados de forma eficiente. O TDSP ajuda a aprimorar a colaboração e o aprendizado da equipe sugerindo como as funções de equipe funcionam melhor em conjunto (Microsoft, 2016).
O TDSP constitui-se de alguns componentes macro:
- definição de ciclo de vida de ciência de dados;
- estrutura de projeto padronizada;
- infraestrutura e recursos;
- ferramentas e utilitários recomendados para a execução do projeto.
Esta metodologia será detalhada em outra oportunidade.
O Data Science Lifecycle, do Domino Data Lab, da mesma forma, combina elementos de CRISP-DM e abordagens ágeis gerais. Apresentado como um guia de “melhores práticas”, não é tão definido como TDSP.
O DSL é definido por estabelecer fases (ou etapas) em um projeto de ciência de dados. A proposta indica seis estágios do ciclo de vida:
1) Ideação: esta fase coloca o problema de negócios antes dos dados. É basicamente entender o problema de negócio a ser resolvido com soluções de dados;
2) Aquisição de dados e exploração;
3) Pesquisa e Desenvolvimento;
4) Validação;
5) Entrega; e
6) Monitoramento.
Usar um ciclo de vida de ciência de dados bem definido é útil porque fornece um vocabulário comum (e modelo mental compartilhado) do trabalho a ser feito para realizar um projeto de ciência de dados.
Resumo
Conforme vimos anteriormente, existem diferentes abordagens e metodologias que podem ser aplicadas para gerenciar projetos de Data Science. De fato, é necessário compreender suas especificidades, de tal modo que se possa avaliar qual abordagem é mais eficiente de acordo com o cenário em que se pretende aplicar.
A tabela abaixo sintetiza os pontos principais de cada uma delas.
Abordagem | Descrição | Pontos Fortes | Desafios | Boa para … |
Waterfall | •Defina seu plano em detalhes e siga sem alterações significativas. | •Simples, bem organizado e de fácil compreensão e também corresponde com a cultura tradicional das organizações. | • Inflexível• Não é adequado para processos de descoberta de dados• Fases de teste atrasadas aumentam o risco•Documentação pesada | Quando os requisitos e a tecnologia são conhecidos e não têm probabilidade de mudar (Raramente adequado para ciência de dados) |
CRISP-DM | •Divide o processo de ciência de dados em seis fases iterativas • Processo natural para ciência de dados | •Não prescreve processos de trabalho em equipe• Sem atualização desde 1990• Abordagem em fases como cascata | • Indivíduos ou pequenas equipes• Equipes em busca de uma prática estabelecida• Use com processos ágeis | • Bom para equipes pequenas.• Pode ser compatibilizada com processos ágeis. |
Scrum | • Desenvolvimento de incrementos potencialmente entregáveis durante ciclos curtos e iterativos.• Empoderamento das equipes de desenvolvimento. | • Adaptável• Forte ciclo de feedback do cliente• Cria senso de dono da equipe | • Desafia as normas culturais de algumas organização• Aderência ao sprint time-boxing• Difícil de implementar | • Equipes ágeis que precisam de disciplina fornecida por ciclos de tempo fixos• Culturas radicais de inovação. |
Kanban | • Visualização do fluxo de trabalho de forma prática.• Diminui o tempo do ciclo e do trabalho em andamento• Implementação de mudanças pequenas e contínuas | • Muito flexível• Fácil de usar• Melhora a coordenação | • Não prescreve interação com o cliente• Colunas Kanban complicadas para ciência de dados | • Equipes em transição para agile• Equipes orientadas para o processo que não precisam de muitas práticas prescritas. |
Bimodal: Waterfall – agile | • Combina as melhores práticas em cascata e ágil | • Pode ser adaptado às necessidades específicas da equipe. | • Reputação negativa. | • Situações específicas, como projetos altamente regulamentados que exigem alguns elementos em cascata |
Pesquisa e Desenvolvimento | • Trata a ciência de dados como “pesquisa”• Uma vez que o problema é compreendido, então a transição para o “desenvolvimento” | Não tenta forçar uma metodologia para a ciência de dados• Confortável para cientistas de dados | • Difícil de monitorar• Autoconfiança e disciplina necessárias• Pode ser muito ad hoc | • Equipes maduras que não precisam de supervisão pesada• Equipes focadas em pesquisa que precisam de liberdade |
TDSP | • Combina as práticas CRISP-DM e Scrum adaptadas à ciência de dados. | • Documentação de código aberto abrangente que define processos, modelos e funções de equipe | • Ainda não foi publicamente examinado com histórico de sucesso | • Projetos de médio-grande porte cujas equipes buscam um processo bem definido. |
Domino Data Lab | • Combina CRISP-DM e práticas ágeis adaptadas à ciência de dados. | • Semelhante ao TDSP, mas com menos definição de função. | • Ainda não foi publicamente aprovado com histórico de sucesso. | • Projetos de médio-grande porte cujas equipes buscam um fluxo de processo sem definição completa. |
Adaptado de https://www.datascience-pm.com/.
Acredito que as abordagens emergentes sejam um ótimo caminho em termos de aplicabilidade, dado que estas consideram tanto as especificidades do desenvolvimento de produtos de dados quanto a necessidade de entregar valor com estes produtos.
Referências
Chapman, P. CRISP-DM 1.0: Step-By-Step Data Mining Guide, 2000.
Saltz, J. Shamshurin, I. Crowston, K. Comparing Data Science Project Management Methodologies via a Controlled Experiment. 2017.
Data Science Project Management. Process Alternatives.Acessado em 23/10/2020.
Amaral, F. Gerenciando Projetos de Data Science e Big Data. 2020 (Curso Online)
Rose, D. Data Science: Create Teams That Ask the Right Questions and Deliver Real. 2016
Muito bom o texto.