The Importance of Governance
February 16, 2012 8 Comments
I don’t know if this is a new phenomenon, or if I’m just more observant of it, but there seems to be a trend in BI today that is rather troubling: the lack of governance. What is governance, you ask? That’s a good question.
Before anything is published into a BI system, it should be subjected to a process that insures that it meets certain standards. In other words, someone needs to look at it and see if it is formatted correctly, has the right naming convention, includes the right information, or disclaimers, etc. This process is known as governance.
In the world of SAP BusinessObjects, governance can be applied to Connections, Universes, Documents, Dashboards, Workspaces, etc. Let’s take a look at the things that can be applied to the governance process.
- Naming Standards
- Should define a guideline for everything that can be built in BusinessObjects
- The goal is to create a consistent experience for users, and an easily maintainable and supportable system for developers and administrators
- Naming conventions can be applied to the following objects:
- Database connections
- Universe names
- Universe class names
- Universe object names
- InfoView folder names
- Document names
- SAP BusinessObjects Web Intelligence (Webi)
- SAP Crystal Reports
- Xcelsius (SAP BusinessObjects Dashboards)
- Other
- Security – three approaches:
- See everything except what is forbidden
- See nothing except what is needed
- Hybrid (usually the preferred approach)
- Reporting Guidelines
- Define how a report is made public
- How it is done now?
- What works well?
- What doesn’t work well?
- How should it be done?
- Establish formatting standards for public documents
- Creates a common look and feel to all public reports
- Makes it easier for users to find what they need on public reports
- Define how a report is made public
- Best Practices
- Job scheduling
- Limit the number of users who can schedule, to one or two per group
- Take advantage of Events
- Don’t schedule everything for the same time
- Apply a global limit to instances
- Avoid scheduling the same document multiple times
- Universe techniques
- Keep universes small and focused (no more than 700 objects)
- Never use underscores in anything that a user will see
- Give the universe a user friendly name and description
- Set the universe connection to “Disconnect after each transaction”
- Set the array fetch size to an appropriate level
- Set reasonable universe limits
- Set parameters appropriate to your database
- Every object should have a user friendly description
- Never have more than 3 levels of classes/subclasses
- Use proper case for object names
- Use full words for object names
- Use “Date” rather than “Dt”
- Use “Number” rather than “No” or “Nbr”
- Use Index Awareness to improve performance
- Every measure object should have an aggregate function in the select
- Format all numeric objects in the universe
- LOVs should have meaningful names
- No two objects should have the same name
- Use only custom hierarchies
- Set cardinalities on all joins
- Job scheduling
Now that we know what’s possible in a governance process, let’s take a deeper look at some of these.
Naming Convention Suggestions:
Connections: The connection name should be devised so that it includes information about the database that it is connecting to. For example:
Syntax: Environment_Platform_Database
Example: DEV_TD_CSR (Development Environment, Teradata, CSR database)
Universes: Universe long names should match the application that the data belongs to, as well as the focus of the universe. For example, if the data is from the CSR application, and the focus of the universe is sales, the universe could be named “CSR Sales”. The idea is to use a name that makes sense to the users.
Universe Class and Object Names: These should be consistent between universes. For example, if the Month object from Universe A, and the Month Name object from Universe B, return the same values, they should both be called the same thing. This creates a consistent user experience, and avoids confusion.
Documents: It can be very helpful to begin the name of a document with a code that identifies the universe or group that it belongs to, as well as sequential number. For example:
Syntax: Universe-SequentialNumber Document Name
Example: CS0001 Quarterly Sales By Title
In this example, CS represents Customer Service, and 0001 is simply a sequential number. This type of naming allows the documents to be sorted easily by universe, and also helps the user to specify which document they are referring to when they need to discuss documents.
Security
As a starting point, we should review the current security, and see what works well, and what doesn’t. If the current security meets the needs of the organization, then we can keep the current security, and tweak as needed. The three common approaches to security are as follows:
See everything except what is forbidden. In this approach, everyone sees everything by default. Then, content is hidden that is not allowed to be seen by specific users. This approach can be very hard to manage.
See nothing except what is needed. In this approach, the default is to see nothing, and only grant access to content that is required. This is easier to maintain, but can create a bureaucracy that will only frustrate users looking for content that they can’t see.
Hybrid. In this approach, most, but not all, content is hidden by default. Some content is deemed appropriate for all users, and, therefore, is granted to all users. Other content is only granted as needed. This is the easiest to maintain, and is also the best for the users. Users don’t want to see everything, as the volume of content can be overwhelming. By limiting them to what they need, as well as what they are allowed to see, their view becomes more manageable.
Reporting Guidelines
There should be a standard format applied to all public documents. This common “look and feel” makes it easier for users, as they always know what they’re looking at, and always know where to find what they need on the report. They also can tell, very easily, when they are looking at a document that has not received official approval. Standards may include, but are not limited to, the following:
- Cover page that includes standard information about the document:
- Document name
- Document author
- Document description
- Universe(s) in use in this document
- Last Refresh Date/Time
- Query filters, include prompts
- Disclaimers
- Company logo
- Which logo?
- Size
- Position
- Standard report colors
- Document/Report naming conventions
All documents will need to pass the governance process before being placed into a public folder. This process should be streamlined, so as not to create a bottleneck.
There should be one or two people, in each group, who are trained to apply the governance process to a document, and who have permission to add objects to a public folder. These people will be responsible for making sure that all documents meet enterprise standards before being published.
Conclusion
Everything we do should be designed to make life better for the users. We need to treat them like customers, and we want their business. So make sure that your governance process is designed to do just that. Don’t let it become a hurdle that the users need to jump over. Streamline the process as much as possible.
Setting up a governance process is a difficult process. It needs to involve key users who will give input of what the standards should be. The problem is that everyone will feel strongly that their way is best. So your job is to try to find a solution that meets everyone’s needs as much as possible. Give it a shot, and let me know how it goes.

















