Citizen developers and the digitization of processes without coding
According to Gartner’s definition, citizen developers are employees who create applications, for their personal use or for other employees, using tools that are not prohibited in the organization. They are individuals (not positions or roles), who do not report to or report to the Information and Communications Technology (ICT or simply IT) department.
The key point here is that a citizen developer does not have to have a background in IT, computing, or programming. On the contrary, it is understood that it is a person from another area who using appropriate tools, can create their own applications to meet business needs. BPMN
The in – dependence on IT
Why is the concept of citizen developers so interesting? For a long time now – and there is no reason to believe that this will change in the short term – IT departments have very little time available. They are always “jammed” with work, with hundreds of pending tasks, and trying to meet the organization’s strategic guidelines in IT. And of course, they are also installing new versions of their entire technology stack, applying security patches, and putting out “fires” that always exist.
All this activity in IT departments leaves very little room for them to listen to new employee needs, let alone build new applications. Developing (or acquiring) a new system is a time-consuming task. And then, once you have that application, you have to maintain it, install updates, troubleshoot it, manage it, back it up, etc. Because of all of the above, IT departments find it difficult to meet requests for new applications from other employees.
This is what the concept of citizen developers is all about, people who decide “not to wait any longer” for applications for their needs. And they embark on building them themselves. Whether they will use them individually or with their teams.
We will now explore the fundamental capabilities that a citizen developer must have in order to create applications. As a concrete application case, we will see how these concepts apply to the digitization of processes without programming.
Capabilities of citizen developers
There are four main capabilities that citizen developers have: understanding and being able to formalize a problem in their organization, creating an application to solve it, evangelizing their teams to use that application, and last (but not least), improving the application based on feedback and usage. Let’s look at each of these capabilities.
Understand the business
The first capability corresponds to the citizen developer being able to understand the business, their role within the company, the objectives pursued, and how an application could help them solve their problems to achieve those objectives.
From that understanding, it is critical that citizen developers are able to formalize and accurately describe those needs and the desired solution. A model is always an abstraction of reality, which does not contain all the details, and focuses on the most important elements. The citizen developer must be able to do this. Getting distracted by details or use cases that happen sporadically will prevent him from being able to build a useful application in a short time.
As a concrete example, let’s think of a citizen developer who is in the process of digiting a business process (workflow) without coding. He must be able to understand how that process works in his organization, what goal it pursues, what stages it has, who are the people involved in each stage and tasks they have to perform, etc. And then, you must build a model of that process, by means of a graphical representation (formal, for example, using BPMN notation).
Creating applications
The citizen developer must be able to create his own applications. To do so, obviously, he will not have to program (code). But neither should it require technical knowledge, complex software installation, or advanced configurations. The so-called low-code tools meet all these requirements. They are sufficiently intuitive tools that allow you to build applications in a simple way and without advanced computer knowledge.
Another relevant point when creating applications is where they will run. It is different to create an App that is downloaded and installed on people’s phones, than one that resides on a local server, than one that runs 100% in the cloud.
Agility in the creation of these applications is key. It must be possible to build them quickly, to show results, and gain support. But it must also be possible to give them evolutionary maintenance, to incorporate corrections or improvements in an agile way. This iterative cycle must be repeated many times throughout the life cycle of the new application.
Continuing with the example of the initiative to digitize processes without programming, Flokzu is a specific tool for the citizen developer to quickly create a BPM or workflow application. In addition to the workflow illustrated previously, he will be able to define the associated form, the people working at each stage, and the relevant business rules. And then, simply deploy this application to make it available to end-users.
Evangelize
Some citizen developers create applications for themselves, to make their daily work more efficient, effective, or simple. Others make them for their teams. In this second group, it is vital to evangelize the new application to other users.
We must get them to change an acquired behavior. And that they change their way of working to adopt the new application.
We call Evangelizing the task of communicating the benefits of the new application, motivating the other team members to use it, and convincing the detractors not to at least oppose it.
As the application delivers the expected results, it is very important to share those achievements with the early adopters. It should be a shared celebration. The citizen developer will leverage this success to gain new supporters, sponsors, and eventually management support and budget. Documenting Business Processes
Improve.
Once the application is up and running, the story is not over. On the contrary, it has just begun. Applications are alive, require corrections and evolutions. The fundamental part of the task of citizen developers, correcting the problems that are sure to appear. It is inherent to software. The important thing is to identify them, solve them and release a new version of the corrected application.
In addition, it is essential to define indicators to know if the application is meeting the initial objectives (identified in the first stage of “Understand”). And as these objectives may change along with the business (due to changes in the market, in regulators, within the company, etc.), the application will also have to change. We call this evolutionary development, and it is necessary so that the application does not become obsolete in a short time.
Finally, other users must be involved in this evolution. Let them propose improvements (after using the application for a reasonable time). This will generate confidence and greater attachment to the new application, reinforcing the cycle of continuous improvement.