The Now Platform® Washington DC release is live. Watch now!

Help
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ServiceNow Definition of Customization and Configuration

pierrondi
Tera Contributor

Definition of Customization and Configuration

When considering enterprise software of any type, it is important to understand the difference between configuration and customization as well personalization in the right context. The crux of the difference is complexity. Configuration uses the inherent flexibility of the enterprise software to add fields, change field names, modify drop-down lists, or add buttons. Configurations are made using powerful built-in toolsets. Customization involves code changes to create functionality that is not available through configuration.

Customization can be costly and can complicate future upgrades to the software because the code changes may not easily migrate to the new version. Wherever possible, Clients should avoid customization by using configuration to meet its goals. Clients also should understand their vendor's particular terminology with regard to this issue since words like "modifications" or "extensions" often mean different things to different vendors, such as ServiceNow.

Customization

A customization is a feature or extension or modification of a ServiceNow feature that requires custom coding and or some form of implementation outside the OOTB context.

Any changes to the out of box object is considered to be customization and in ServiceNow and different objects are used for customization;

Any new addition of the ServiceNow objects or changes to the existing ones an expected change in the functionality;

Any new addition or changes to the existing objects mentioned below is considered as customized objects;

Customization examples:

  • Client Scripts
  • UI Action
  • UI scripts
  • ACL's
  • Business Rules

Questions to help mark as a customization:

  1. Does may affect future upgrades?
  2. Complex JavaScript needed?
  3. Maintenance requires experienced developers?

Configuration

A configuration is where we use native ServiceNow capabilities and tools in the system to change its behavior or features to address business needs.

Any change to the configurable data which changes the functionality of the application is considered as a configuration change.

Any configuration should be a data-driven change and should be easy to revert back without any changes to the ServiceNow code base.

Configuration examples:

  • Groups
  • Support Groups
  • Assignment rules
  • Preferences within ServiceNow
  • Notification / Email configurations

 

Personalization

Another advancement that has really changed is "Personalization".   It used to be that you only allowed people to change their list view.   Now they can change the form too, make reports, adjust their notification preferences, add themes, change how fields look, and all kinds of other features.   This "user enablement" along with Self Service, Service Catalog, and Knowledge Management have instilled a "DIY" approach to issue resolution at many companies.

Any change made to ServiceNow system and it applies only to the user changed is considered as personalization.

Personalization will not have any impact on both configuration and customization.

It's more of the personalized settings within ServiceNow for the user similar to the User Preferences.

Personalization examples:

  • Themes
  • Lists
  • Accessibility and Themes
  • UI Look and Functionality
  • Date Time Look, Time zone, and Format
  • Form Fields, Tabbed Forms, Related List Loading
  • Favorites and Tagged Records

Conclusion

The lines between configuration, personalization, and customization will blur even more as in the future as applications become easier to customize.   What is important is how difficult it is to make that configuration/personalization or customization and how it will affect the clients with maintenance and upgrades as well the ability to grow and scale our services.

5 REPLIES 5

Michiel Heijman
ServiceNow Employee
ServiceNow Employee

Hi Pierrondi,

Interesting post. I see it is posted as a question, but it reads more as an answer to a question. There are some details that could be incorrect. I challenge the sentence: 'Configuration uses the inherent flexibility of the enterprise software to add fields, change field names, modify drop-down lists, or add buttons.'. Where did you get this from?

There is a HI article on this topic https://hi.service-now.com/kb_view.do?sysparm_article=KB0553407. In that article, adding a field is considered a customization. I agree with that, adding a field changes the datamodel, and impacts upgrades and potentially performance. Modifying drop downs is more tricky, as it depends on the drop down. 

As this is such a delicate topic, it is important to get the details right.

Happy to discuss! 

Regards,

Michiel 

 

Hi Michiel,

Thank you for the comments, I really agree that is a really sensitive area nowadays.

The statement was created along with ServiceNow PS that have reviewed our internal documentation and best-practices. Also, they are part of our CoE and on a regular basis help us to improve and align with your product releases.

I still believe whenever code or baseline functionality is NOT being impacted, we can easily consider within the scope of configuration. The guidelines here and within the HI KB you provided (thanks) are clear. Also to get the understanding of the below will help us decide on the customization vs configuration points:

  1. Does may affect future upgrades?
  2. Complex JavaScript needed?
  3. Maintenance requires experienced developers?

So likely, and again very "a grey area", not impacting any the above we can and we also should consider it as a configuration part of regular set up.

Dropdowns absolutely would not impact the upgradability, but if code related impact maintainability/scalability is going forward. I would be happy to discuss it further and clarify some of the great work we have been doing with ServiceNow to improve this perception and be more accurate on the matrix that supports upgrades, enhancements and so on...

Also happy to discuss 🙂

Cheers,

Paulo

Hi Michiel,

 

You asked a question above. Looks to me that Pierrondi was citing ServiceNow own words. I found them during a course for BPC Implemenation, see screenshot below: 

find_real_file.png

Regards,

Klaudia

David Field - S
Kilo Contributor

Its worth noting that ServiceNows own KB0553407 (Instance Customization FAQ and Guidelines) references this Community thread even though its not from one of their own.

I'd hope that gives it some credence.