deployment-gap-model-education-fund / deployment-gap-model

ETL code for the Deployment Gap Model Education Fund
https://www.deploymentgap.fund/
MIT License
6 stars 2 forks source link

Develop Tableau dev/prod best practices #85

Closed bendnorman closed 12 months ago

bendnorman commented 2 years ago

Our rapid changes to the ETL and dashboards highlighted the need for a more standard development and production cycle for this project.

Currently, each dashboard is pointing at one BigQuery instance with a live connection. Ideally, data is only loaded to BQ from our main branch but it seems like folks want to make smaller changes to the data as they are dashboarding.

I'm concerned we will have a couple of dashboards working well / in a production state, then break them all by updating the BQ data from an untested branch.

What are best practices for dev/prod with Tableau? We have 3 things we need to version control: our code, data and dashboards.

bendnorman commented 2 years ago

Proposal

Have two BigQuery instances, dbcp-dev and dbcp-prod. Only a service account should have permission to load data to these instances. All Catalyst users will have permission to read from these Big Query instances so they can authenticate using their own accounts when creating new data sources in Tableau.

The dbcp-prod and dbcp-dev data will correspond with the outputs of the ETL on our main and dev branches. We will not be pushing data from other branches. Code should be merged into dev before dashboarding in Tableau.

In theory, we will have stable dashboards that are being shown to clients. These dashboards should be linked to dbcp-prod. These dashboards can live in a Production project in tableau. When a production dashboard needs to be updated or tested on dbcp-data, it can be copied into the Development project, changed, tested and then copied back to Production.

All draft dashboards can live in a Development project in Tableau and will use dbcp-dev as a datasource. When a draft dashboard is ready for production, it can be copied over to the Production project in tableau.

Questions

Other information

TrentonBush commented 12 months ago

We are transitioning away from Tableau. No longer needed.