Guideline - Processo de desenvolvimento (em evolução)
Em relação as ferramentas/tecnologias:
Jira como ferramenta de acompanhamento de projeto
Bitbucket como ferramenta de versionamento
Databricks como ferramenta de ETL/Processamento de dados
Confluence para documentação e KT do projeto
Pyspark, para os pipelines de ingestão e processamento de dados, inclusive queries nas tabelas do lakehouse
Python como linguagem oficial de desenvolvimento
SQL apenas para exploração e validação de dados no lakehouse
Em relação ao processo de desenvolvimento:
Todas as atividades precisam estar no jira (kanban ou sprint). Cards precisam ter descrição das atividades e link para a documentação no Confluence e demais informações pra realização da tarefa
Tarefas/Historias precisam ser divididas em sub-tarefas e atribuída individualmente a cada integrante do time
Branchs baseados no ID do card
Commits precisam mencionar o ID do card
Pull Request ao final de cada atividade (entrega)
PR vai passar por validação pelo time de Arquitetura e Analytics nos quesitos: código (comentários, qualidade do código e boas práticas) e qualidade da documentação no Confluence (catalogo, instruções de deploy, regras de negócio, etc), podendo ser declinado/solicitado correção
PR DEV para QA precisa de documentação de KT e instruções de deploy para ser aprovado
PR QA para PROD precisa de evidências de testes realizados/validação da área de negócio para subir em produção
Em relação aos artefatos a serem desenvolvidos e entregues:
Todo código precisa conter comentários do que o código está realizando.
KT no Confluence precisa conter os objetivos do código, regras de negócio, instruções de deploy e demais informações relevantes para deploy, sustentação e evolução
Documentação precisa conter o catálogo de dados de todas as tabelas criadas, dados ingeridos no lakehouse, nas camadas onde o terceiro vai atuar (Silver, Staging e Gold), no DW e Tableau
Em relação a arquitetura:
Os dados vão ser carregados a partir do S3 (camada raw/injestion)
O processo de ETL deve ser desenvolvidos na camada Staging do datalake
Os dados disponíveis para o Tableau devem ser gerados na camada Gold do lake e disponibilizados diretamente (replica) no Tableau ou Redshift conforme o caso de uso.
Demais definições/decisões de projeto faremos em conjunto com o terceiro ao longo do projeto
Em linhas gerais esses são os padrões e boas práticas a serem seguidas, temos uma documentação mais detalhada para consulta que será disponibilizada em momento oportuno após o onboarding do time terceiro no nosso ambiente.
No processo de onboarding faremos a validação dos acessos, configuração do ambiente e vamos repassar cada um dos pontos, além de ficarmos a disposição para dúvidas e esclarecimento acerca da forma de trabalho.