Imagine a business environment where any department could fix its own problems without engaging with developers or programmers. No more bottlenecks and delays. This is the seeming promise of the citizen developer, democratising technological solutions to the person with boots on the ground, the person most likely to understand the problem because this is their workaday life. Who better to fix a problem?
Even in the traditional world, if a business user has a problem, they submit some sort of request through ServiceNow or Jira or some other ticketing system. Maybe it’s only an email or a spreadsheet. When it becomes the priority of IT or the business at large, the user gets to explain the problem to a developer or perhaps a business analyst or a product owner. I’ll get back to this.
I have worked on the business side, the tech side, as a liaison between, and on neither. I have been a programmer, a business analyst, a Super User, where I was empowered to act as a sort of citizen developer, and I’ve been a business architect, a transformation strategist, and a programme manager. I know what it’s like to be the guy who has to solve the problem at hand. But I came in to the business as a programmer. I had been building applications for years. And it’s less about programming than of logical structured thinking and of systems thinking. It’s also understanding that tactical solutions require a holistic, strategic vantage.
As it happens, I was also a statistician for a couple of years after I graduated from college. Decision analysis and game theory were foundations of my Economics course work. At graduation, I had enough credits for either a degree in Economics or a degree in Finance, but not both. Don’t get me started on the cash grab, but each degree was conferred by a different college in the university, and the one I picked would use my common body of knowledge or general education credits. I’d have to accrue as many elective credits to acquire the second degree. I digress, but there’s a point.
In decision analysis, I had drilled into me the notion of local and global optima—minima and maxima. Mathematically, when problem solving, one can’t simply pick the solution with the highest number, say value, without considering the entire domain. As a management consultant, I was faced with this challenge often, especially if I was engaged with a company at too low a level. For example, if I was hired to help a marketing or accounting department to fix a particular process because they happened to have budget, even if I saw problems with solutions in different areas that would have made or saved them more value, I could mention it, but it would likely go nowhere. The different area would need to find its own budget. Clearly, this is a local solution at the detriment to the company as a whole entity. If I had come in at a higher level, say by invitation by the C-suite instead of a VP or a Director, I’d have access to the higher vantage, so I could point out from a value-effort perspective, which initiatives they should do in which order. This may involve value stream mapping, but it would definitely include a capability and maturity assessment of the various disciplines, including operating models and governance. This reveals a lot.
All of this is to say that I have an awareness of the space and I’ve been a citizen developer as it were, but generally speaking, I think citizen developers and a no-code world is a smoke and mirrors pipe dream.
The concept of citizen developer sounds appealing, but it’s a specious proposition. There are many holes. A missing element in citizen development is architecture. A citizen developer working in a particular domain and automating a certain use case may solve the local problem, but it may miss the woods for the trees. This is the global optima problem. Moreover, it may have been solved already elsewhere in that same forest. Of course, they may also create a different problem, especially downstream.
Can this be accounted for and resolved? Yes. But it requires governance, knowledge management, and communication. Hopefully, there is also some Community of Practice, CoP, that maintains standards across the enterprise.
Secondarily, if the process is altered, how is this reflected in architectural documentation? Is everything documented at the onset? Many companies have dribs and drabs of architectural documentation and fragments of process that have been amended several times since. And what happens when the celebrated citizen developer becomes a citizen elsewhere?
If you’ve ever programmed professionally and seen other people’s code, you know that programmers are particularly critical of structure and content. In fact, even reviewing one’s own code can lead one to wonder what the hell they were thinking when the had implemented it. So that lost citizen may be lost tribal knowledge in this space.
In defence, if the no-code solution is based on data and system dictionaries that are primarily just workflow process engine configurations, the citizen developer is a bit overblown. In these cases, one has access to RPA configuration tools, and it’s little more than a connect-the-dots, colour by numbers exercise. In these cases, hopefully the aforementioned architectural governance is already in place and in fact has provided this as a part of their competency and they review any changes before they go into production.
My parting comment on this topic is the importance not only of process governance but of data governance and master data management. No matter who the developer, citizen or mercenary, bad data will disrupt any system or process—garbage in, garbage out. Don’t bother fixing a broken system before fixing broken data. McKinsey said that at an enterprise level, 95 per cent of companies do not have their data in order and governed appropriately. Perhaps you are working in a company representing the other 5 per cent, or perhaps your data are perfectly governed. I’ll suggest that you probably fall into the other bucket. And most citizens are data consumers, at the mercy of whatever data are available and however they’re structured and managed. Perhaps this would make a good topic for a future segment.
Cover image purloined from the ZOHO blog, 7 Best Practices to Be a World-Class Citizen Developer that comports with my position.