The Citizen Developer

What Do You Get When You Automate a Bad Process?

"All you need to know is how your business process works to create software to automate it!"

That’s the claim at the heart of all citizen development. You don’t need to know anything about coding or programming languages or data structures or application architecture, or any of the other things software developers know about. You just need to know your processes.

The Making of a Better Citizen Developer

That's true up to a point. But to be a good citizen developer, you need to consider whether your business process is a good one. Is it efficient? Does it accomplish what you need to accomplish with quality and within the timeframe desired? Is there any waste that could be eliminated?

So, let’s answer the question posed in the title: What do you get when you automate a bad process?
Answer: A bad automated process.

The first step in the making of a better citizen developer is learning how to distinguish good processes from less-than-good ones. What makes a good process? How does one design them? In the old days this was referred to as "systems analysis." Without an understanding of how good processes are created, you stand an all-too-good chance of investing good time in bad results.

Use Case

Processes exist in the larger context of your use case, which is the overall operation you are performing. It may be the manufacture of a product, or the delivery of a service. Who does your use case serve? What does successful execution look like?

Then, what are the processes required to complete the use case? What does each process accomplish? How is each process actually performed? By whom? How does each process connect to the process before it and after it?

Data

Data has been referred to as the new oil, or the new bacon. The term "information technology" defines that everything it does is meant to manage information, or data. The better citizen developer needs to understand how data is stored, where it is stored, and how it is protected while in storage. Data is moved from storage to be processed by our software and the results are then moved back to storage and/or sent forward to others.

In fact, it has been said that data only makes money when in motion. We use the data to produce valuable results and then move those results to customers or others.
A fundamental understanding of how data is arranged in tables consisting of rows of data containing columns or fields of individual information, along with study of unstructured vs. structured data will be helpful to any citizen developer.

Logic

One of the key concepts in all programming is the if-then statement, also known as a conditional statement: If this happens, then that will happen. The syntax of if-then is =IF(logic test,value if true,value if false). The "true" value tells the function what to do if the result of the logic test is true. The applications you produce with low-code/no-code (LCNC) platforms will need to make decisions based on specific criteria. Early spreadsheets were heralded as great if-then tools because they gave you the ability to plug in different values and see how all the calculations were impacted.

Decisions have consequences. If your software seems to be making mistakes, it’s probably because you didn’t anticipate the later consequences of a decision you asked the software to make. You may find yourself needing to trace back step-by-step to find that error. This is very common.

Users

Software developers are often accused of not considering the users when designing their software. This may manifest itself as ugly or confusing interfaces users have to confront, or points at which the software requests operator intervention without making it clear what information is actually needed. Sometimes the cure is simply clarifying the onscreen instructions.

Computer systems integrate a variety of hardware devices and a host of software applications with various services. They also integrate human beings with all of that, and this is where many failures may be encountered. The better your user interface design, the more problems you will avoid.

Beyond the Pale?

If all of this sounds like way more than you signed up for when deciding to become a citizen developer, stop for a moment and simply remove all the technology from it. If you were working to develop manual processes, you’d still need to know all this and more.

The takeaway here is that you need to incorporate more into your citizen developer training than instruction on properly using the LCNC platform you’ve selected. It’s worth your time to find materials and courses to help you understand how processes are built and how they are arranged into systems. You may soon find that the role of the technology is not so much to enable you to do what you do, but to make it easier and faster.

Always remember: We’re here to leverage technology to improve human performance.

About the Author

Technologist, creator of compelling content, and senior "resultant" Howard M. Cohen has been in the information technology industry for more than four decades. He has held senior executive positions in many of the top channel partner organizations and he currently writes for and about IT and the IT channel.