Are You Following ServiceNow Coding Best Practices?The ServiceNow platform is a large, complex suite of capabilities spanning service delivery across many domains – inside and outside of IT. For many organizations it is becoming a strategic enterprise platform for service/workflow execution. It is powerful – with a single code base and a single data model, and was designed to make it easy to develop very advanced functionality quickly.
As such it can grow quickly with a variety of parties developing functionality. This can inadvertently yield poor code quality in an enterprise critical system. Risk factors include:
- Varying degrees of understanding and application of Agile best practices
- Speed of development
- Many parties – internal resources, consultants, even offshore developers writing code
- Limited design & development governance, applied consistently
- Inconsistent or poor knowledge of ServiceNow development best practices
- Varying approaches and quality of QA and test processes
- Inconsistent and poor system documentation
- Difficult ServiceNow release upgrades
- Inconsistent and poor integrations with ServiceNow
Poor and inconsistent code quality extended over time can create a system that performs slowly, fails under stress, is difficult and complex to upgrade, is not well understood and is difficult to troubleshoot and remediate.
We have developed a FREE automated tool - the Evergreen Instance Analyzer "EIA" for ServiceNow to help you. It can analyze and evaluate your ServiceNow instance and clearly identify poor code and deviations from ServiceNow best practices. This makes it much easier to remediate – and bring your ServiceNow code to a consistent, best practices level across your entire instance.
Evergreen Instance Analyzer FunctionalityThe EIA supports the same kind of analysis performed by the ServiceNow Automated Configuration Evaluator (ACE), and much more.
- Analyze scripts, business rules and other instance configurations against ServiceNow published, technical best practices
- Analyze catalog items and their support within the Service Portal, and assess catalog items against a quality standard for usability (i.e. form size, readability, etc.)
- Analyze code in a ServiceNow CMS environment and identify all changes required to move to Service Portal
The EIA scans your instance for a set of predefined configuration scenarios that may result in issues related to performance, manageability, upgradability, scalability, and security. The Analyzer is built as a ServiceNow scoped application to be deployed in a customer's sub-production environment. It can be installed simply and quickly – with installation and scanning usually done within an hour or two.
EIA brings a management console from which you can oversee all analyses underway - launch new reviews, stay current with already active reviews and keep attention on identified high priority items. From the console you can easily drill down into specific findings to see how they are progressing towards resolution. You can tailor each review you launch to a specific set of code or data, so EIA can be used in your daily or weekly activities as a regular code quality audit tool.
Once installed, an Analysis Report can be triggered in the instance and the EIA will conduct a detailed analysis of configurations and customizations against ServiceNow best practice recommendations and any known compatibility issues within the environment. The analysis types are dynamic and new analysis types for the tool to execute can easily be added as needed.
Any issues identified are documented and compared to best practices in an Instance Analysis Report that links to the record in question and its "parent" record, if applicable. This report can then be used to track the remediation progress--each record includes a Status field and a Notes field to document the remediation's progress and the steps, if any, taken to remediate the discovered issue. Here is an example of the EIA management console for a single specific analysis, that of converting ServiceNow CMS to Service Portal.
It enables you to see all findings, drill into specific ones, pay attention to high priority items and even see identified remediation items / findings by the last developer to update the code.
Our ServiceNow Architects can install and run the EIA application to analyze your current state, identify the changes needed and provide detailed findings and recommendations including an estimated level of effort to bring code to best practices, should you so wish. Our findings and the EIA application are yours to keep and use, at no cost or obligation. We do this as a way to introduce you to Evergreen and our approach to ensuring high quality.
Low Risk, High Benefit
The Evergreen Instance Analyzer is a FREE ServiceNow scoped application and installs in a sub production instance of your ServiceNow environment, in coordination with / under the supervision of your ServiceNow technical team.
Evergreen is an Elite ServiceNow partner and a ServiceNow Certified Application Developer on the platform -- where we build scoped applications for the ServiceNow Store. Our scoped applications are developed and tested to the same standards ServiceNow applies to its own code.
The EIA was developed by our senior, certified ServiceNow developers and thoroughly tested to ensure it performs as designed. You can be assured that the EIA application is high quality and safe. It is available now for FREE on the ServiceNow store.
- Make your regular ServiceNow upgrades much easier and safer
- Get your entire code base to a consistent, high quality standard
- Get your code base to the latest version of ServiceNow best practices
- Improve your system performance and reliability
- Consistent coding practices make it easier to document your system
- Improve the performance and scalability of your system integrations
- Make quality auditing a regular, recurring activity for your ServiceNow platform
Take advantage of the free Evergreen Instance Analyzer to evaluate your ServiceNow instance. Unlike the ServiceNow ACE Report, the Evergreen Instance Analyzer is designed to help you manage your code remediation, run targeted quality checks, be used on a regular daily / weekly basis to make quality audit a part of your regular process.
The complete Evergreen Instance Analyzer scoped application along with two use cases – ServiceNow Code Best Practices and Service Catalog CMS to Service Portal Migration Analysis, is free on the ServiceNow Store.
Current Detailed Use Cases
Current EIA Use Cases are described below. Additional use cases have been identified and are currently under development at Evergreen today.
USE CASE #1 - Overall ServiceNow Code Best Practices
ServiceNow publishes a set of technical best practices to be used when configuring or customizing your ServiceNow instance. Many of these recommendations have been put in place to ensure your instance is running as smoothly and efficiently as possible. Others are in place to ensure that users of the system have the best possible user experience with minimal hang and load times. Still others are put in place to ensure consistent behavior when creating and updating records in the system.
We created the Evergreen Instance Analyzer to help organizations verify that these recommendations are being followed and to help track and remediate any configurations where they aren’t. A standard set of Best Practice Analysis Types has been configured based on the published ServiceNow technical best practices. This library of Analysis Types is continually updated as new best practices are published. The Evergreen Instance Analyzer can also allow an organization to create and add their own Analysis Types to run against their ServiceNow instance, to reflect their specific circumstances.
Once the EIA has been deployed and the Best Practices analysis types are fully imported and configured, a detailed report of findings can be generated. The tool will scan the configurations and customizations in the environment and document any violations of best practices in the report. Each violation will be linked to from the report and its remediation status can be tracked in the report as well.
The following ServiceNow best practices analysis types are currently supported by the tool:
- Avoid global business rules
- Avoid client-side DOM manipulation
- Avoid client-side GlideRecord usage
- Avoid client-side synchronous methods
- Avoid debugging statements in Production
- Avoid GlideRecord getRowCount usage
- Avoid insert() and update() usage in before Business Rules
Reports can easily be generated identifying the types and quantity of findings.
USE CASE #2 - Service Catalog CMS to Service Portal Migration Analysis
ServiceNow released a new "Service Portal" framework with its Helsinki release. This new Service Portal framework offers a much more robust and easy to configure platform compared to the existing Service Catalog functionality and the legacy "CMS" framework. Furthermore, this new framework is built on the commonly used angular.js framework which offers access to a robust set of standard web 2.0 practices and functionality rather than the limited and difficult Jelly scripting that is required by CMS. Essentially, ServiceNow has underpinned their Service Portal / Catalog with powerful and modern technology.
While CMS is still supported by ServiceNow, as old technology, it is not clear how long that will be the case. Evergreen has helped many customers to migrate from CMS to Service Portal. Because of the technology change, we identified a series of incompatibility issues--functionality that works in CMS but not in Service Portal, in addition to the list of general incompatibility issues already identified by ServiceNow. These issues need to be identified and remediated in code before a successful migration to Service Portal can be made.
Evergreen's Instance Analyzer for ServiceNow was built specifically to identify all coding changes needed to assist with migrating customers from an out of the box service catalog or a legacy CMS-based portal to the modern Service Portal-based solution. The EIA incorporates all of our past experience from many migration efforts and continues to evolve and improve as we learn from ongoing portal migration projects. The EIA has been successfully used in many conversion projects and is a great help in clearly identifying potential conversion issues quickly, making remediation faster and safer.
The EIA is a ServiceNow scoped application which deploys in a customer's sub-production environment. Once installed, an Analysis Report can be triggered in the instance and the tool will conduct a detailed analysis of known conversion issues within the environment. The issue types are dynamic and new issue types for the tool to analyze can be added as needed. The following issue types are currently supported for this use case:
- GlideAjax getXMLWait Usage in Catalog Client Scripts
- GlideRecord Usage in Catalog Client Scripts
- Desktop-only Catalog Client Scripts
- Use of Unsupported Objects (document, window, jQuery, etc.) in Catalog Client Scripts
- Use of UI Macro or UI Page Variables
- Use of getControl in Catalog Client Scripts
- Use of getReference in Catalog Client Scripts
Any issues that are identified are documented in a Conversion Analysis Report that links to the record in question and its "parent" record, if applicable. This report along with the EIA management console (below) can then be used to track the remediation progress--each record includes a Status field and a Notes field to document the remediation's progress and the steps, if any, taken to remediate the issue.
Our ServiceNow Architects can run the EIA scan, analyze the results, and present you with detailed findings and recommendations at no cost to you - to enable you to move from CMS to Service Portal – safely and efficiently.