What it Takes to Admin SaaS
What does it take to administer a SaaS (Software as a Service) application? Well, here are some thoughts. First, you need to know what the software can do. I don't mean the stuff they put on the brochure. I'm talking about the nitty-gritty details. This happens over time as you work with it, but a good SaaS app will have an abundance of resources and hopefully even a community of other users to reach out to that can help with the learning curve. Second, you need to become very aware of the needs of your users. Users will not always know what they need and will frequently ask for something cool they saw in a 10-billion-dollar piece of locally installed software, creating a horribly unrealistic request. Working closely with your users to determine and understand their true "pain points" and seeking to resolve those creatively is vital. That's the third thing, creativity. This is missing in a lot of applications. Simply accomplishing the request can be great, but thinking of other potential solutions and using your imagination to predict what your users will ask for next, are vital to maintaining a SaaS application well and keeping things neat and tidy. Feature bloat is real! My most recent experience with SaaS is working within the Salesforce CRM (customer relationship management) platform. In this case, I have the honor of working as both primary Administrator (point-and-click guru) and primary Developer (coding guru) for the same organization. For this discussion, I'll focus on the admin portion and try to give a little glimpse into the life of a Salesforce administrator.
But first, what is a SaaS application? SaaS is a part of cloud computing, where online accessibility is assumed and downtime is low. Multi-user access to data becomes as simple as logging into your Gmail portal, which is something that cannot be said for locally-installed software applications. Think Microsoft Excel. SaaS data accessibility can talk a die-hard Excel user into relinquishing control and letting the cloud have it. The benefits of working with SaaS are too numerous to count, but there are hurdles too. With Salesforce, these drawbacks usually come in the form of imposed limits or lack of a particular feature needed to match the CRM to the business process. Creativity can help to alleviate this risk. Turning to a custom development solution can help too, but all of this requires the admin to know what tools are already available.
So how can you know what your SaaS platform is capable of? Salesforce offers something called Trailhead, which uses the slogan, "Trailhead is the fun way to learn". It is true, trailheads have a lot of fun features, which help train specific skills. It is a great way to learn something you didn't know you needed (think, adding tools to the toolbox), or even to find the "how to" of some solution you are searching for. Completing these trailheads earns the learner points and topic-related badges, which helps make it fun too. Salesforce also has a large user community with a vast number of active members, called "Trailblazers". Starting to see the theme? Trails, outdoors, pretty much the opposite of sitting at a desk entering data into Salesforce. Trailblazers earn kudos for offering helpful responses to other trailblazers. Finally, if you don't see the "how to" you are looking for, Google It. Chances are you will find someone who has struggled with similar before or written their own managed package to solve it.
Becoming aware of the needs of your users is not always easy. There are three comments I would make here. First, start by showing a genuine willingness to make the system work for the user, no matter how ludicrous the request might be. Help the user think through the effects on future state, scalability, and flexibility as it relates to the SaaS application and the business process being discussed. When users know you are on their side the details of the request will flow easier and you will understand the need more quickly. Second, help the users learn the system. They don't need to memorize the maximum trigger depth for recursion, but they can start to understand the basics. What types of fields are available? What customizations CAN be made to this form? Does a feature exist out there that could be helpful to one or more of our processes? When a user makes a request, it is important to give feedback on the level of complexity and any potential drawbacks. For example, when requesting a new summary field, the user may assume it is simple. 9 times out of 10, it is. In that 1 in 10 scenario, they have no way of knowing a particular summary field calculation will require 2 days of careful development work. Giving that feedback may lead to a new solution, fully solving the initial problem. Thirdly, listen to the discussions regarding business operations. You might learn that users have been struggling with a particular feature, or perhaps a business process is not well supported by the system. These connections (fueled by genuine interest) will help to ensure that users see the admin as someone who cares about the problem, is going to ask the right questions, and will help to expertly guide the right solution.
So, what is the right solution? Very often, this is where creativity comes in, but I don't think this can be taught. A user frequently presents a concern from a limited perspective. Understanding what you can about their perspective and knowing the perspectives of the other users will help prevent feature conflict, or process failure. I like to think of the new request as a napkin drawing of a puzzle piece. If you can see the puzzle in your mind, you can do a quick pre-check to see if the proposed piece is going to fit before you start building it. If it will not fit well, you need to see the puzzle and the problem, while understanding the perspective of the user, and propose a new napkin drawing that would fit and still solve the problem.
SaaS is valuable to an organization. The SaaS admin team is the key to making the SaaS fit the business. You can be an admin of a variety of skills or preferences and do just fine. You can be a stick-to-the-norm admin or an outside-the-box admin. The most important aspect of being an admin is filling the gap between the user (and his/her processes) and the capabilities of the application. If you can do that, you will be successful every time.
About the author
Senior Salesforce Developer