Top Ten Tips for ServiceNow Developers

In 2016, ServiceNow was rolled out to the University of Toronto Mississauga (UTM) community as a ticketing system for tracking client requests for UTM Information & Instructional Technology Services (I&ITS) and has since grown into a campus-wide request management platform used by other UTM departments, including the UTM Registrar’s Office, Facilities Management and Planning, Meal Plan Office, Conference Services, and Print Shop.

According to Gartner, ServiceNow is a leader in IT Service Management (ITSM) tools. It also offers over 30 products ranging from Employee Workflow to Customer Service Management.

ServiceNow also offers the Now Platform App Engine, which empowers developers to build custom mobile and web applications with no code or pro code.

Top Ten Tips

Having implemented and deployed four custom scoped applications on the ServiceNow platform, I’d like to share some of my lessons learned and tips to help you navigate to success as a developer. 

1. Start with Why.

Like other development projects, it’s essential to understand the business problems you are solving and the priorities of your organization. Whether it’s implementing request management for a department or adding a feature to an existing application, be as curious as possible. Evaluate the pros and cons of each design choice before making your design decisions. Review the licensing requirements upfront and the technical debt implications whenever you are implementing a solution.

2. Plan Your Courses.

In this continually changing world, we need to learn to embrace agility. Be open and prepared for changing requirements, and a sudden shift in development priorities. Working with ServiceNow also puts you on a fast-moving train. Depending on the type and scale of the project you are working on, having the following plans ready helps to ensure a successful delivery:

  • Project Plan

  • Security Plan

  • Data Retention Plan

  • Test Plan

  • Training Plan

  • Communication Plan

  • Deployment Plan

  • Migration Plan

  • Post-Production Support Plan

  • Upgrade Plan

Don’t forget to learn how to preserve unpublished development work on your development instance. Suppose you are working in a shared development instance. In that case, your system administrator may schedule production instance clone to the development instance from time to time, which means losing all of your in-progress development work. Prepare for that day by exporting your application to an update set or building a habit of committing updates to a Git repository whenever you finish a feature to back up your work.

On a personal level, to prevent burnout as a ServiceNow developer, prioritize and plan your training based on your organization’s immediate needs and your interests. ServiceNow learning is endless and the platform features can change rapidly with each major release.

3. Understand Your Users.

When building an application, it’s crucial to understand your user personas. How comfortable are they with technology? Are they familiar with the ServiceNow user interface? What devices do they typically use to perform their work and submit requests? Are they mobile users or desktop users? What are their expectations and emotions at each phase of the journey? Using a design thinking approach, you empathize with the users to gain insights into defining the problem. Then you iteratively ideate, prototype, and test. One advantage of ServiceNow is that you can rapidly build and prototype an application with configurations and minimal coding. ServiceNow also offers a free Personal Developer Instance (PDI) for developers as a personal sandbox that you can use to test your ideas. The PDI expires after ten days of inactivity. So be sure to log in once a while to prevent the loss of your hard work.

 

4. Know the Platform.

Did you know that many of the ServiceNow modules are built on top of the base TASK table? Some examples include the Incident, Problem, Request, Change, HR Case, and Customer Service Case tables. The TASK table is also something that can be extended for new tables you build in your scoped application. When you extend the TASK table, you can take advantage of the standard task fields and Business Rules. You can also show variable editor for task-extended tables. Learn the TASK table and its fields. Understand state choice values when configuring custom states.

Before building something new, explore Out of the Box (OOB) applications and check with your ServiceNow administrator to see if you can utilize any existing applications without re-inventing the wheel. An OOB application, such as Agile Development, which can be used to manage software development projects, is a pre-built application with defined workflows, business logic, and data structures. You can use it as-is with configurations and stay close to as OOB as possible for a more straightforward upgrade. Since ServiceNow is a subscription-based platform, please consult with your ServiceNow product owner when activating a new plugin or creating a new table. If you use a plugin that is not a core product, beware that it may become deprecated in future releases.

On the platform, there are also some helpful system properties that you can reference. Go to sys_properties.list to see a list of system properties. One useful system property is the ”instance_name” system variable that stores the name of your ServiceNow instance.

 

5. Design from Back to Front.

Backend design consists of the design of the data model, relationship between the tables, and setting up the access control lists (ACLs) to limit whom can access the data. For request fulfillment applications, there are typically two types of user interfaces (UI) to design: one for the fulfillers who are handling the requests and another for the clients who are requesting services or products. The backend UI consists of forms and lists which can be easily configured with minimal code and the frontend UI is typically shown through the Service Portal.

There are also some OOB service portal widgets you can use to customize your Service Portal. When it comes to creating your own custom widgets, it’s helpful to have some background knowledge of AngularJS, JavaScript and SCSS. When working with JavaScript in ServiceNow, keep in mind that ECMAScript6 (ES6) is not yet supported, as of the Orlando release.

 

6. Build with Reusability in Mind.

Building reusable components like date/time utility functions, variable functions, and email templates helps to reduce code repetition and configurations and benefits other developers. Use Script Include to store common business logic and build your script library. Use widget options to make configurable and reusable Service Portal widgets. Create a reusable Variable Set that multiple Catalog Items can reference, so you don’t need to recreate the same Variable, such as Short Description field in each Catalog Item.

 

7. Make Peace with Server & Client and Scoped Challenges.

When writing scripts outside of the Global scope, keep in mind that not all of the application programming interfaces (APIs) in the Global scope are available. ServiceNow’s official API Reference page is a good place to check which functions are available in scoped applications. When it comes to debugging, the scoped application development’s solution is to use gs.info(), gs.warn(), gs.error(), or gs.debug() instead of gs.log() or gs.print(). The top APIs to learn are GlideRecordGlideDateTime, and GlideAjax.

 

8. Mind Your Updates and Deploy with Ease.

Traditionally, ServiceNow IT Service Management (ITSM) tools (such as IncidentProblemChange) were built in the Global scope and managed with update sets. The concept of Scoped Applications wasn’t introduced until 2015. With Scoped Applications, you can manage your application with the Studio Integrated Development Environment (IDE) and use the Application Repository to simplify the deployment with the click of a ‘Publish’ / ‘Install’ button. Source Control integration is also available via Git. For more information on Git integration, check out my article Studio’s Git Integration via MID Server – New in Orlando!

 

9. Developer Resources.

I’m fortunate enough to have helpful colleagues who work with the ServiceNow platform to bounce ideas off of and answer my ServiceNow questions. I’ve also had the opportunity to learn from external ServiceNow consultants and ServiceNow employees. If you are working solo or are new to ServiceNow, please don’t hesitate to reach out.

The ServiceNow product documentation website is a great place to start when you are looking for official information on ServiceNow products.

As previously mentioned, ServiceNow is vast and complex. It’s okay not to know it all. When I can’t find an answer from the official websites, my next go-to is to ask the ServiceNow Community and ServiceNow Developers Slack group, SNDevs. Many friendly ServiceNow gurus lurk in these community-driven places. If you’re lucky, you may be able to get a quick and helpful answer.

If you are looking for step-by-step training and learning plans, NowLearning has tonnes of courses, some of which are free and self-guided. There’s also the Customer Success Center where you can explore development best practices and recommendations. The NowCreate is a new site where you can download success packs and templates for your implementation project.

 

10. Stay Current.

Last but not least, stay current! ServiceNow is an innovative company. It was named the #1 Most Innovative Company in 2018 by Forbes. It has two major releases every year. Each major release is packed with new features and enhancements. If you are a certified ServiceNow professional, you must update your knowledge and pass a release delta exam for each mainline certificate you hold to maintain your certification. Release notes are typically made available a couple of months before the release date. To prepare for the delta exams, visit the Product Documentation website to review the release notes to see what’s new. 

Previous
Previous

What is Live Coding Happy Hour?

Next
Next

Script Macros