Use App Engine instead of customizations
Summarize
Summary of Use App Engine instead of customizations
ServiceNow’s App Engine development tools provide a preferred alternative to heavily customizing existing AI Platform applications. When adding new functionality, customers should evaluate whether to extend an existing application through customization or create a new application using App Engine developer products such as App Engine Studio, Creator Studio, or ServiceNow Studio. Customizations are best applied when they extend the intended purpose of an application, while new applications should be created for functionality that falls outside the original scope.
Show less
When to Use App Engine
- If a business process augments but does not exactly follow an existing product workflow.
- If there is a novel use case that does not align with any out-of-the-box product workflow.
- If a use case could be built by heavily customizing an application but does not fit what the application was designed to do.
For example, repurposing IT Service Management (ITSM) workflows to support travel requests is discouraged because these workflows use different data, roles, interfaces, and processes.
Challenges with Repurposing Existing Applications
- Combining divergent workflows within one application can cause conflicts, performance degradation, complicated troubleshooting, and increased testing complexity.
- Customizations lead to technical debt, longer upgrade cycles, and difficulties migrating to new platform versions because custom code is not automatically updated by ServiceNow.
- Custom code ownership rests with the customer, including responsibility for testing and troubleshooting, as ServiceNow Support does not support custom code issues.
Customization vs Configuration
Customization involves code changes to the baseline ServiceNow instance and can have significant impacts on upgrades and platform functionality. Configuration refers to changes that do not alter baseline code and can be done via system properties or product settings.
Customers are advised to maximize configuration before resorting to customization and to avoid over-customizing applications beyond their intended purpose.
Key Recommendations
- Configure existing ServiceNow applications as fully as possible before customizing.
- Customize only when extending the original intent of the application.
- Use App Engine developer products to build new applications when functionality does not align with existing applications.
Following these guidelines helps maintain platform performance, simplifies upgrades, and reduces technical debt while leveraging the flexibility of the ServiceNow AI Platform.
App Engine development tools offer an excellent alternative to customizing existing ServiceNow AI Platform applications.
- If the customization extends the intended purpose of the application, it works better to customize. For example, you can add IT functionality to ITSM.
- If the customization doesn’t extend the intended purpose of the application, it works better to create a new application using App Engine developer products. For example, do not repurpose the ITSM workflow to add a travel request workflow.
Examples of when to use App Engine
ServiceNow products work best when they’re used as they were intended. If you find yourself heavily customizing an application to repurpose it, a better plan is to create a new application using App Engine developer products.
- Your company has a business process that augments existing product functionality but doesn’t follow the same workflow exactly.
- You have a novel use case for an app that doesn’t align with any product workflow.
- You have a use case that could be built by heavily customizing an out-of-the-box application, but it doesn’t align with what the existing application was intended to do.
Let’s dive deeper into the last use case.
Issues with repurposing existing products
ServiceNow applications come with roles, processes, and flows that are specially tailored to their use case. For example, ITSM apps help with IT users, IT issues, IT reports, and IT cases.
- Combining two workflows creates conflicts.
- Customizing applications has implications.
Combining two workflows creates conflicts
- Their features will continue to diverge.
- Adding new functionality or fixing problems in one workflow might adversely impact the other.
- The performance of ITSM may suffer.
- The code base will grow and the two purposes of ITSM will make troubleshooting more difficult.
- Quality engineers will require two different testing frameworks.
All these issues may cause unnecessary complications, poorer performance, upgrade delays, and software problems.
Customizing applications has implications
The ServiceNow AI Platform is built to embrace customization and configuration. The ServiceNow AI Platform is flexible enough to fit your company’s business needs. How you customize ServiceNow applications, however, can have significant impacts on ServiceNow support, upgrading to future ServiceNow AI Platform versions, and the functionality of the platform.
- Customization is any change made to the code that is part of the baseline installation of a ServiceNow instance. You use code to customize applications.
- Configuration is any change you make to the behavior of a product that does not touch the code in the baseline installation of a ServiceNow instance. You can use system properties, ServiceNow products, or code to configure an application.
- If you add code to an application, you own it whether or not it modifies the code in the baseline installation on a ServiceNow instance.
- The platform marks all customizations and skips them when you update to a new version of the platform. That means you are responsible for manually updating the customizations. This can have a significant impact on the time and resources required to update to new platform versions.
- The ServiceNow AI Platform uses a framework that supports applications in how they process tasks, how forms are rendered in multiple browsers, and the overall user experience. Introducing customizations can have unintended consequences on this framework.
- You own the burden of testing custom code and determining if it impacts platform functionality.
- ServiceNow Customer Support cannot troubleshoot custom code or issues caused by custom code.
Customization is one of the key features of the ServiceNow AI Platform. However, over-customizing an application to repurpose it is likely to generate technical debt, lengthen your upgrade cycle, and complicate future platform upgrades because the custom code may not easily migrate to new platform versions.
Conclusion
- Configure ServiceNow applications as much as you can before customizing them.
- Customize an application only when it extends the intent of the application.
- Use App Engine developer products, such as App Engine Studio, Creator Studio, and ServiceNow Studio, to create new applications rather than customizing an application to create functionality that doesn’t align with its original purpose.
For more information, see Customization vs configuration with ServiceNow Studio.