Custom attributes on CI relationship table Get Well Playbook Custom attributes on CI relationship table A step-by-step guide to analyze and remediate custom CI attributes Table of Contents Summary Goal of this Playbook Audience Problem Overview Executive Summary How this playbook can help you achieve business goals How this playbook is structured Problem Analysis Upstream Causes Downstream Consequences Impact on Your Business Engagement Questions Remediation Plays Summary Play 1: Analysis - Review findings Play 2: Analysis - Review identified attributes Play 3: Data Governance Summary Goal of this Playbook To help identify and remediate customizations made to the base CMDB_REL_CI table. Details about this playbook Author Emir EminovicDate 11/17/2020Addresses HSD # HSD0003714Applicable ServiceNow Releases All ReleasesTime required Approximately 1 to 8 hours Audience Configuration Manager or Configuration Management teamServiceNow Administrators Problem Overview Customizing the CI Relationship table can bring unintended performance, data quality, and query time issues. Executive Summary How this playbook can help you achieve business goals Remediating customizations on the relationship table reduces the risk with upgrades and future product improvements related to the table. Additionally, you may gain a performance improvement in data retrieval and form load times. How this playbook is structured This Playbook will guide you through three Plays. Play 1 (Analysis Play) helps you identify if you have customized the relationship tablePlay 2 (Analysis Play) helps you remediate the custom attributesPlay 3 (Data Governance Play) lists governance guidelines and processes for custom CMDB attribute creation Problem Analysis Upstream Causes People – Implementation, development or administration team member was not aware that an appropriate attribute already existed within the CMDB hierarchyData Migration - A legacy system had a particular attribute defined, and the migration implementation team decided to create a new field rather than advocate for use of out-of-the-box fieldsProduct - At the time of customization there were no appropriate attributes provided for a legitimate and urgent business need, which led to the decision to add a custom field Downstream Consequences Data Consequence Default values are stored and are not updated by automation such as Discovery as it is not aware of the custom attributeUnnecessary elements will add file growth to the table, which is one of the largest tables in the CMDB resulting in data bloatAdditional custom fields can have a negative impact on system performance Operation Consequence Data is intended to provide additional value, but cannot be consumed by users through UI without customizations (e.g. relationship formatter)Latent system performance (see data and app consequences) will result in user dissatisfaction and disuse of ServiceNow App Consequence Custom attributes in the relationship table are not visible in base forms or Service Maps where they are extensively used and hence provide little to no value to the userSlow queries retrieving non-indexed custom attribute will result in slow load times of lists and reports Impact on Your Business Better User Experience Model Management Increase Operational Visibility Process Alignment Process Automation Digital WorkflowsIntegrity of Relationships Engagement Questions Consider the answers to these questions: Why was the customization to the cmdb_rel_ci table made?Where is this data being used?Do most of the records in the table have a no value for the attribute?What was the user behavior/business goal, this customization was intending to achieve? Was that successful? Was it achievable in the base product without a customization?Do you still need these attribute(s)? Remediation Plays Summary The table below lists and summarizes each of the remediation plays in the playbook. Details are included later. Play Name Play 1: Analysis - Review table for customizations What this play is about Review custom fields in the cmdb_rel_ci table Required tasks Review cmdb_rel_ci dictionary for fields that start with u_ Play 2: Review identified attributes What this play is about Review every custom field and decide if it is needed Required tasks Review the field and any usage of it Play 3: Data Governance What this play is about Helps you establish standard operating procedures, as well as periodic data certification Required tasks Provides detailed advice, best practices, and data audit instructions Play 1 - Review your data What this Play is about Review each custom field and remediate where possible Required tasks Navigate to System Definition > Dictionary (sys_dictionary.list)Apply the following filters: Table is cmdb_rel_ci (name=cmdb_rel_ci) ANDColumn Name STARTSWITH u_ (elementSTARTSWITHu_)Click Run If there are 0 results then this playbook does not apply to you, otherwise keep this list open and proceed to the next step. Play 2 - Analysis - Review identified attributes What this Play is about Review each custom field and remediate wherever possible. Some common customizations are u_active, u_direction, u_source etc. In many cases the same attributes exist on the CIs and can be retrieved from Parent and/or Child record(s). As for direction, the relationships are inherently bi-directional and can be used from either point of view in the baseline implementation without any custom attribute. Required tasks For each attribute on the list answer the following questions Why was it created? Is there an equivalent attribute available out of the box (baseline)?Can another feature/module deliver the same value?Is it still needed?Is it still active?Who asked for it? Is it being used anywhere? Review the data in the table and see if there are values populated in the filed.Review to see if only default values are populated.Who is using it? Can it be deleted? Validate with a Subject Matter Expert (SME) and follow your internal software development life-cycle (SDLC) to remove the custom attribute, returning to baseline. Document the above findings for future use. Play 3 - Data Governance This play tells you how to set up a process that keeps others from creating custom CMDB attributes without proper review and approval. Use of Custom Attributes in CMDB playbook covers the topic of how-to best deal with any customizations in the CMDB. Review the playbook, as its contents are applicable to this playbook as well. Required tasks Document an internal policy that prevents the creation of custom attributes on the relationship table, without approval from a qualified person or teamInstitute a code review process that watches for custom attributes in Update SetsCreate a report that shows any custom fields on cmdb_rel_ci created after the last attribute cleanup was performedRegularly review Configuration Management Database (CMDB) release notes for announcement of new CI attributes Congratulations You have completed this Get Well Playbook.