When we think about a “Developer” we imagine that Brainiac typing away thousands of lines of codes to create an application that performs a number of actions. The term developer also has a geeky, nerdy connotation to it. Combine these two statements and a lot of end-users don’t really identify themselves with a developer.
However, when we think about business processes and their implementation or automation, who actually has the business knowledge of what an application, workflow, automation, etc. should do? Correct, it is the end-user or the business process owner. They know exactly how many steps there are in the process, they know what each step does, how it needs to handle end-user interaction, which systems to talk to, etc. What they don’t know is how to write code, create database schemas – all the things developers know.
This means that when an application or workflow needs to be created, there is a significant amount of time and effort spent to translate what it is in the head of the end-user or business process to the developer, who then needs to translate that story into code. Not only will this take a lot of time, there is a serious risk that interpretations or mistakes in the translation are made which will cause the application not to perform as requested and changes will be necessary.
What if we could take away the middle man? What if we could come up with something that allows business process owners or end-users to write their own process, application or workflow without having to write actual code? That right there is the concept of ‘Citizen Developer.’ It is the concept to give power where power is needed, back in the hands of the people who own the original business process, application or workflow.
This concept isn’t new. When we look at the past, how many people created excel files with macros and potentially some VBA code trying to automate a process they needed to do over and over again? Since it was difficult to share these files or collaborate on them, it was a real pain in the neck to build solutions like this.
More and more cloud service providers and third-party applications are rising to the surface, providing a way for end-users to build their applications in a user-friendly way. Some platforms have made it so easy that it can be as simple as building a flowchart in a Visio-like environment and configuring the different components. Some are meant to design the most basic applications, while others allow you to interconnect different Line of Business Applications with each other, different systems, and really bring the power to the surface.
But why is this shift from Developer to Citizen Developer a good thing?
Accountability and engagement. When people feel responsible for something they care about, they will use it more, they will make sure it is up-to-date, they will feel a connection with it and care for it. When a system has a low level of adoption in a lot of scenarios it is caused by end-users who have no idea what to do with it, why they should be using it and what it does for them. They keep it as far away as possible. When they build their own system, that engagement is absolute and instantaneous.
Additionally, when end-users need to go to a developer to create every process they want to see automated, only the most important processes will be tackled. Developers are not growing on trees and need to focus on the biggest and most important problems. Many of the would-be quick wins, the small processes that would only take a few hours to build, get put on the backburner due to a lack of priority. With the ability for end-users to create their own processes, every process gets tacked allowing end-users to be more efficient, be more forward thinking, and be an active and engaging member of the workforce.
Speed. It takes time for an end-user to explain to a developer what they want, why they want, and how it should behave. The developer who is responsible for that application might have also other things on their plate, not just that one application. The different phases still exist like Quality Assurance, the back and forth between end-user and developer to make sure the application does what it needs to do. Every error made by a miscommunication, misinterpretation or bad coding will immediately have an effect on the deliverables – delaying the release and usage of the application.
Focus. Who knows best what an application needs to do? The people who use it and potentially even created it. If you need to rely every single time on an engineer, people are only going to focus on the most important and crucial process because the time and effort to build processes like these with a developer are high. This leaves a lot of possibilities to increase efficiency and end-user comfort that will be ignored. If we can provide platforms for end-users so they can build the processes they think are important, efficiency will increase and user satisfaction will go through the roof.