Citizen Developers - There’s no need to be afraid
Following in Maria Gabriella’s footsteps, this week I was able to speak with Chuck Tomasi on his podcast Break Point. I truly enjoyed being able to speak with Chuck and talk about my ServiceNow journey. We discussed a number of topics, including one of my favorites: Citizen Developers.
I first heard the term at a Knowledge conference several years ago. ServiceNow was slowly making things accessible for the low-code/no-coder folks, and at the time I kind of blew it off. I didn’t see the value and I worried over what a disaster it could be. But over the past year, I’ve had the chance to witness the usefulness of Citizen Developers, and see how they are enabled by the low/no-code side of the platform.
What are “Citizen Developers”?
A Citizen Developer is a regular user. They aren’t part of the core Development Team, but they have access to build applications that are. These individuals can have a development background, a basic understanding of Javascript, or absolutely no coding experience whatsoever. They may be Process Owners, or they may even be part of a team exterior to IT which has the need and desire to build their processes within ServiceNow.
Why are Citizen Developers Important?
Look at your backlog. Do you have hundreds of hours of work? Do you have enhancements out there for everything from a new integration with Azure to adding some choices in a drop down? I know that’s certainly how my queue looked.
It never feels great to tell someone “Sorry, your simple request will take us around three months to get into a Sprint”. Citizen Developers can typically take care of their own low-hanging fruit. They are empowered to make those small changes more quickly than the Development Team, and this empowerment allows the Development Team to focus on bigger, cooler things.
Governance
Every time I talk to someone about Citizen Developers (and I talk about it a lot), Governance is always the biggest hang up. Everyone always wants to know how we do it, how we manage the work, how we handle the questions. To help answer some of these questions, I’ve thrown together a list of things that have worked for my organizations.
Office Hours
New developers, even low-code developers, have a LOT of questions. And you still have a job to do! Right? Interruptions can be detrimental to your productivity, more so when they are occurring constantly. Personally, every time I’m stopped in the middle of doing something it takes me five to ten minutes to gear my brain back up and find my place again. Depending on the length of the interruption, or the complexity of the question, it can take even longer. In comes, Office Hours.
There are two main reasons to institute Office Hours instituting a Citizen Developer Program:
Citizen Developers always know when and where to find you. You are making yourself available for them. They can have confidence that if they go to this Zoom room at 10 a.m. any day of the week, you will be there, ready and waiting to answer questions.
Office hours lower the interruptions you receive. There’s a bit of a learning curve, but it doesn’t take long before people learn when and where to find you…and that you won’t be answering questions outside of those hours. This gives you a higher chance of uninterrupted work time.
Office Hours can be useful for anyone, even if it’s not in support of a Citizen Developer program. It’s really helped me to know I have designated time when I can deep-dive into a project and, mostly, ignore all other interruptions.
Product Owners
Someone needs to own the product. Whether that’s ServiceNow as a product, or you split ServiceNow into logical sections, you have to have someone who says whether or not something can reasonably go into the system. Call them what you will, but you need someone who is willing to say no, and who can redirect people toward enhancements that are a better fit for the platform, and that will better maintain it's integrity. You do not want your instance to become the wild west out there.
We have weekly meetings with all of our Product Owners to review all the Enhancement requests which were submitted over the past week. In those meetings, we can chat about the request, determine whether it’s something we can do or should do, or think of alternatives.
Peer Reviews
This step definitely takes some time from your Developers. Requiring some kind of Code/Peer Review for anything prior to moving it into production can be time consuming, but is crucial to maintaining the integrity of the platform. And it is better to take a little bit of time on the front end than to risk breaking a bunch of stuff in production. Clear Acceptance Criteria and thorough documentation on the development is a good way to streamline your reviews. The Developer conducting the review should not have to guess what the code they are reviewing is supposed to do, or what the overall goal of the enhancement is.
Documentation, Documentation, Documentation
Whatever rules and regulations you decide to put in place, they should be clearly documented and shared with any one looking to become a Citizen Developer. Provide clear expectations: let them know if they need to obtain their System Admin cert, what you expect from any work submitted for Peer Review, how the Enhancement Review process works (who has the final say on what goes into the platform). If that information is specified upfront, then everyone is going into it with the same understanding.
Tools
Here are a couple of tools I have found to be handy for this process
Evergreen Instance Analyzer - This free tool can be installed in your subproduction instance. It will run anything in an update set through a catalog of Best Practices. It comes with a lot of best practice rules out of the box, but also allows you to add your own. For example, “Ensure there are comments for every entry in the update set”
Citizen Developer Learning Plan - Provides a high-level introduction to ServiceNow for Citizen Developers
Hopefully now you have a better understanding of what a solid Citizen Developer program can can bring to the table. I understand the fear and hesitation behind standing up this kind of program, but hope that these tips can help to provide a solid foundation for anyone to start with.