How can you know that you’re doing something the best way if you haven’t even seen all the best tools available on the market? When it comes to “citizen developers,” the how, why, and what are obvious: it’s the when and which that’ll get you.
I’ve been reading about the citizen developer movement (from the perspective of system administration: my primary focus). This covers a number of platforms designed to allow non-developers to translate their business needs into live software services using visual drag-and-drop tools and no – or very little – code. The pain point this tries to remove is a product of how frustrating and expensive it can be to get developers to deliver solutions to the actual problem you face. The frustration can sometimes come from how hard it can be for a non-business professional to accurately visualize the full scope of the need.
Getting your mind around large IT trends
When I come across an IT industry trend or paradigm with which I’m largely unfamiliar, properly understanding its importance and impact can be a struggle. I usually need to find some conceptual hook before it all starts to make sense to me.
As an example, I remember being a bit puzzled by configuration management tools like Chef and Puppet until I saw them as, essentially, formalized templates for defining and provisioning complex virtualized compute environments. Identical – or dynamically edited – copies can be deployed on demand by the service by simply reading the template script.
Wikipedia can be very helpful in such early-stage research, as its entry for a particular solution will often include a link to a page on the larger technology which, in turn, will provide a full definition and added examples. Once I get to that point, I will usually be able to quickly identify the main players and begin to zero in on each one’s unique strengths.
Where do citizen developers fit?
But “citizen development” hasn’t been so easy to define. Unlike “configuration management”, there doesn’t even seem to be a single way to describe the process. Besides “low coding,” I’ve also seen “drag-and-drop development tools,” “end-user application development (EUAD),” “non-coding development,” and, of course, citizen development. But the total number of Wikipedia pages devoted to any one of those descriptions currently sits at precisely zero. There seem to be a lot of players (like Intuit’s QuickBase, ViziApps and, of course, Salesforce’s Lightning App Builder for Force.com), but they’re not yet part of a recognized industry sector.
Now, I can hear you screaming: but aren’t they all PaaS (Platform as a Service) offerings? Well, yes. But then so are AWS’s Elastic Beanstalk, Heroku, and Salesforce.com itself. So PaaS is a bit too broad a definition to be useful.
Which isn’t to say that I don’t completely understand what the people who use these tools are ultimately after. I once worked for a company that was struggling to find the right integrated team-wide workflow management tool. There was nothing off-the-shelf that quite fit their needs, but the overhead of building a custom interface from scratch was simply out of reach. They might well have quickly solved their problems through one of those citizen development platforms had they pushed in that direction.
But, as I said, I’m having trouble getting the perspective I’d need to make intelligent choices over which platform might be best for a particular project, and what kinds of limitations and risks to watch out for. I’m not even 100% sure I haven’t completely missed an important provider.
What’s more important from a systems administration perspective, is how this kind of application development will effectively and securely live within the context of your total company infrastructure. Will you need to expose your data more than is wise to accommodate a citizen development project? Will it introduce vulnerabilities that might be hard to anticipate?
Whichever way you slice it, it’s important to be comfortable with your mastery of the medium…something I definitely still lack.
Has anyone already traveled down this route? Anything to share?