How to create a governed self-service model

I manage a large Tableau platform with a few hundred of cores. In last a few years when we scale the server, we also put together some good governance processes to ensure scalability. When you ramp up a server to 20K, 50K or 100k users, there are a lot of things to think about. There is where some companies’ self-service BI went wrong. People think that it is self-service, and start to throw everything on the server. Soon realized that it did not work, then they blame Tableau did not work and started to look for other technology. it is nothing wrong to look for new technology. But some practitioners may not know that tech along does not provide more self-service, it is combination of tech, data and gov. In short, both business and IT have to win together. IT has to find a way to throttle things or control the server. The answer is governance. Objective is to have governed self-service.

To show an example of why governance necessary, let me start with one common Tableau server challenge …. Extract or subscription delays at peak hours.

Although there are many reasons causing the delay but the most common reason is wasteful extracts on server. For example, hourly extract while the workbook not used for a couple of days at all, or daily extract while workbook not used for 2-3 weeks. The reason why this is so common is that Tableau gives too much freedom to all publishers who can choose any schedules available.

We used to have huge extract delay problem a few years ago but I did one thing that completely changed the picture – Governance, specially Usage Based Extract Schedule for this case.

You can find details @ Automation(1/10)  – Set Usage Based Extract Schedule for how it was done and even download workbook used. The impact is that our server extract has a few minute delay at peak hours even with 10X extract volume as part of the usage growth. This blog focuses on how to get business buy-in for this policy.

How to get buy-in from business teams?

The answer is Governance.

How to govern the enterprise self-service analytics? Who makes the decisions for the process and policies? Who enforces the decisions?

In the traditional model, governance is done centrally by IT since IT handles the entire data access, ETL and dashboard development activities. In the new self-service model, a lot of business super users are involved for the data access, data preparation and development activities. The traditional top down governance model will not work anymore. However no-governance will create chaos situation. How to govern? My answer is to create new bottom up governance body that consists of x-fun Tableau experts who sit together in weekly basis to define process and best practices. They we go out to Desktop community to enforce the rules. 

Some people may call this CoE. It is a forum or bridge that IT and business key stakeholder got together to make quick decisions about Tableau and around Tableau. This is my secret sauce for success. 

For self-service analytics to scale, governance needs to be collaborative. Both IT and business stakeholders on the project team are responsible for defining data and content governance.  I implemented the Tablea Governance Council for two large enterprise. Governance Council members most time has two IT people plus about ten business people.

Who should the the governance members?

Governance Council members does not have to have big titles but they have to be Tableau Jedi and ‘Go To’ person why business director has questions about Tableau in their org.

The Governance Council has to be authorized to make all Tableau related technical decisions to speed things up.

How often the Governance Council meeting should be? Depends on your situations but I have been doing it weekly.

Goals of self-service analytics platform has to be fast, cost effective, self-service, easy to use, meet all company security policy and yet scalable. Gov framework ensure all of those….

How to start governance process?

Other examples of governance policy?

Here is a few examples that I am able to implement with Governance Council’s buy-in:

  • Kill slow render workbooks to ensure that one badly designed workbook will not impact others. The default value for vizqlserver.querylimit is 1,800 seconds that is too long. M server is 180 seconds. vizqlserver.querylimit -v 180 
  • Kill Hyper queries taking too much memory. This saves my server. •hyper.session_memory_limit -v 10g -frc
  • Old workbook deletion: Our server deletes any workbooks not used for 90 days and the deletion gets more aggressive based on the size of workbooks. Read more Automation – Advanced Archiving and Automation(8/10) – Workbook/Disk size governance:


  • Governance isn’t restricting access or locking down data but is guidelines and structure to enable self-service
  • Governance makes self-service analytics possible
  • Tableau bottom up governance model works well – governance body consists of Tableau Jedi from business teams and IT to make tactical decision around Tableau platform
  • Tableau governance members get inputs from his business areas and also communicate decisions back to Tableau Creators.
  • It is much more effective to enforce governance processes/decisions automatically – either using server config when available, or use API scripts.

Additional resources

 Please read my 10 series blogs about governed self-service analytics:

  1. Governed Self-Service Analytics (1/10)
  2. Governed Self-Service Analytics : Governance (2/10)
  3. Governed Self-Service Analytics: Roles & Responsibilities (3/10)
  4. Governed Self-Service Analytics: Community (4/10)
  5. Governed Self-Service Analytics: Multi-tendance (5/10)
  6. Governed Self-Service Analytics: Publishing (6/10)
  7. Governed Self-Service Analytics: Performance Management (7/10)
  8. Governed Self-Service Analytics: Data Governance (8/10)
  9. Governed Self-Service Analytics: Content Management (9/10)
  10. Governed Self-Service: Maturity Model (10/10)

Source link

Be the first to comment

Leave a Reply

Your email address will not be published.