Customization Best Practices
Customization Best Practices
1. Avoid copying objects. Instead, update objects in place wherever possible, except for Service Portal widgets and other items designed to be reused .
2. Default to “add before edit.” This means that you should, for example, add fields to forms rather than change the type of an existing field. When adding ,
avoid using the same names as out -of-the-box objects, methods, or classes. Keep the number of fields you add to a minimum – the more fields you have
on a form, the longer it may take to load.
3. Use the ServiceNow® no- and low-code capabilities wherever possible, including use of UI policies (before writ ing client script s), Flow Designer (over
business rule scripts), IntegrationHub (before writing custom integrations), and other capabilities.
4. Use scoped applications as your default for any new custom development.
5. Document all customizations. Add comments to explain why you customized (including business justification), and ensure you review all comments
prior to upgrading, to determine if you can revert to out -of-box.
6. Create tests for all customizations. You should ensure that you write Automated Test Framework (ATF) tests for all customizations where possible.
ServiceNow upgrades will not overwrite customizations you have made but will mark t hem as skipped records in t he ServiceNow Upgrade Monit or. To make
sure they’re successfully ported to the upgraded instance, you must manually process the skipped changes.
Assuming you’ve documented all your customizations—including business justification—take your documented inventory and compare it with the skipped
records identified in the Upgrade Monitor. After filtering out low-risk changes that have resulted in skipped records (e.g., field labels or form layouts), you’ll
need t o decide whether to:
For a det ailed overview of this process, see our Success Quick Answer, What’s the process to review and address skipped changes?
Related resources
• Customization best practices for ServiceNow
• Success Quick Answer – How should citizen developers enhance their learning?