We have a good problem with a customer. Our #servicenow initiative has strong leadership support with rapid user adoption. Such success translates to rapid growth in our team size, user base, and data. This means more feature requests and functionality for our users, but if we're not careful it can also mean a diminished user experience. As the data, users, and team sizes grow, how do we expand our castle while keeping our citizens happy? By using the same techniques we should use from the very beginning.
Seek to understand. It is critical our developers and testers understand the solution from the user perspective. Our developers support their code so, when our users experience issues, our developers are made keenly aware. We ask a lot of clarifying questions to visualize how our users leverage the solution to succeed in their jobs. It can also help to have developers and testers shadow power users to spark understanding. When your team understands how their users work, they can improve the user experience and speed feature delivery.
Drill the basics. We instill the basics of good coding for every developer no matter their experience. Write efficient queries. Always strive to return the smallest number of records in a query to complete the task. Use conditions aggressively. Comment your code and conduct peer review to train and help each other.
Use database indexing. Get familiar with database indexes and how they work. They can improve performance tremendously. Use logging with intention. We use system properties to control logging within our code. This allows us to toggle logging on or off by setting the system property value rather than editing the script.
Do your testing. Specifically, performance testing. Large data sets impact performance. If you are not testing in a production-like environment you may be asking for trouble. A test scenario may work flawlessly in a development instance with minimal data, but fail miserably in production with several million records. We maintain one non-production instance with production-like data so we can put our solutions through its paces. This way that inefficient query should get caught before it ever becomes a production issue.
How do you keep your citizens safe while expanding your castle?
London Tower wall
Photo by Julie Canfield on Unsplash
Chris Halverson is an IT consultant focusing on ServiceNow development. Chris has built a career as a "jack of all trades." By blending his early experiences in tools integration and ITIL process work, ServiceNow became a natural evolution. Chris began focusing on ServiceNow in 2010 working with every version; seasonal pre-Aspen through today!