8

From my personal experience project managers as other "knowledge workers" have being creating software applications using low-code / no code platforms, i.e. the Macro recorder in MS Office tools, since personal computers were widely available (personally I'm doing this since 1996). Because of this, leaving to the side the technology changes in the last decades, it looks to me that "citizen development" (as a type of software development) is just a new name for an old thing. Or citizen developement corresponds to a relative new concept* relevant for project managers nowadays?

Notes:

* So far I only found in Google Books two books having the term "citizen development", as a type of software develoment, one of them from PMI, both from 2021. I'm wondering if it might be worthy to buy them.

Other names for this old thing


From my own post in Meta SE

Reading a recent sponsored blog post1 I found a term that it's new to me, citizen developer. It make me remember terms that I learned several years ago like civic hacking, civic tech among others. Googling about this new term for me I found a Wikipedia article in German2 about this term having only one link to other language, Polish. The apparently most relevant search results about this term in English comes from companies selling stuff like analysis reports and courses about low-code/no-code software developement 3, 4.

From the Project Management Institute website3

What is Citizen Development?

Citizen development is one of the most exciting and current business movements. It enables Project Managers and other changemakers to create applications using low-code and no-code platforms, without complete reliance on the IT department and for a fraction of the cost and time commitment.


Continued efforts

I continue reading stuff from the web. This lead me to search directly in the Gartner Group site because the term citizen developers was attributed to them on several webpages from software vendors and news sites.

From https://www.gartner.com/en/documents/1913315

Citizen Development: Reinventing the Shadows of IT

Published: 02 February 2012

Summary
IT consumerization is erasing barriers that used to prohibit technology experimentation and solution creation by businesspeople. As more of these barriers disappear, citizen developers emerge. Citizen developers are end users who create business applications for consumption by others using corporate-IT-sanctioned development and runtime environments. Previously, "shadow IT" was viewed negatively; now it is increasingly associated with how business gets done. As a result, technical professionals must begin seeing citizen developers as partners in solution development, instead of adversaries. This document by Research VP Mike Rollings discusses the implications of citizen developers and how IT must change to actively support them.


Notes:

  1. Speeding software innovation with low-code/no-code tools
  2. Citizen Developer | Wikipedia
  3. Citizen Developer | PMI
  4. Citizen Developer | Gartner

Related terms

1
  • 2
    It's not sufficient for an answer, but these "low-code/no-code" systems inevitably evolve into code, but weirder. For example, someone might want to make a macro do two different things depending on something. Or do something 10 times without recording it 10 times. That's why Office macros are a programming language now.
    – user253751
    Nov 18, 2022 at 12:12

4 Answers 4

10

Yes.

From the perspective of software development, there is no such thing as "low code/no code development". Because then it's not development. Development means you can make the computer do whatever you want it to do. That might not always be easy or cost effective, but that is the limit. When the limit is that you can only do, what another software is allowing you to do, it's not software development, it's configuration. It might be very complex configuration, but it still is configuration. In that you cannot get out of this sandbox that someone else developed for you. You can only stay inside and configure what others thought you may want to configure. If the "real" developers didn't develop it for you, then you won't be able to configure it.

That is not new. Someone made up a new buzzword for it. Again. Be prepared for this to be sold to you every few years under a new name and guise, because the old version did not sell well in the long run, but the companies selling this still need to make money.

By the way, Cowboy Coding does not belong into the same category. Cowboy Coding is a trained developer not following best practices and just doing it all their way. While often having similar results, Cowboy Coders are at fault, they should know better, while Citizen Developers making the same mistakes, just did not get the training to be better. Even if the end result is the same bug ridden unmaintainable Excel sheet, I'd rather see that result from someone who exceeded their actual day job and went beyond their limit as a non-developer, than from a Cowboy Coder, who stayed well below the output expected at their job, level of education and probably salary.

8
  • 1
    Thank you very much from your answer. Considering that project managment is a multidisciplinary field and that "development", "configuration" have different meanings for people with different backgrounds, and that this is my first question here, could you please add an explicit hint about the standpoint / background of your first paragraph? i.e. from "Software Engineer point of view", from a " manager in the tech in the tech industry"
    – Rubén
    Nov 17, 2022 at 15:43
  • 5
    "If the 'real' developers didn't develop it for you, then you won't be able to configure it." ...applies to everything more abstract than soldering, or arguably a raw bitstream to memory.
    – fectin
    Nov 17, 2022 at 20:15
  • 3
    Yeah, there's definitely no bright line you can draw between complicated configuration languages and restrictive programming languages (or even between complex GUIs and visual programming systems). "No code" usually means "we're marketing this at people who don't think of themselves as coders" more than anything else. At the same time, I know exactly what nvoigt means. There is a difference, even if it's impossible to pin down to a precise definition.
    – Ben
    Nov 18, 2022 at 0:08
  • 4
    @fectin True, we all build on someone else's work. But normally, that is another profession. Software builds on Hardware, Hardware builds on cables and electricity, etc. You could declare that software is nothing but configuring hardware. Would not be wrong. But that is what makes people Software Developers, not "Citizen Hardware Engineers with Low Electricity/No Electricity hardware engineering requirements". That's not how this works.
    – nvoigt
    Nov 18, 2022 at 7:53
  • 2
    The more flexible your "low/no code platform" is, the more similar it is to code, and the more you have to understand code to make the best use of it.
    – user253751
    Nov 18, 2022 at 12:01
6

It's just old stuff packaged in a shiny new wrapper.

Nvoigt has provided a good answer. It mentions the way the abstraction of the low/no code platforms fails. These platforms are not generic programming languages. They were built for a specific purpose (including your macro example). If your needed solution does not fit within the use cases you can build with the low/no code platforms, then the abstraction has leaked and you now find yourself in the position of requiring a developer to build - with code - what you cannot do with the platform.

If you have a specific use case and a low/no code platform can get you where you want to be or most of the way there, then that's fine. But these things break at some point, and the solution to fix them is not included in the low/no code platform itself. So you still need at least some developers that can code (your own developers, or those of the low/no code platform provider that you pay in the form of licenses or user support).

These platforms are usually sold as a replacement for developers: "You don't need developers anymore (specialized, expensive, hard to find in enough supply, etc)! Anyone can build your product". Except they can't.

This idea was around since the invention of COBOL: "Your business people can do what programmers can". Except they couldn't. And now everyone is looking for COBOL programmers, not COBOL citizens.

So this is just new marketing fluff to sell you on an old idea that never took off the way the providers of these low/no code platforms wanted to.

1
  • 2
    Fun fact: the old reports of early COBOL use resulted in the business people being able to read the programs, most of the time. The shallowness and smallness of programs of the era made this not particularly daunting. They still couldn't write them, so the advertised promise failed.
    – Joshua
    Nov 17, 2022 at 23:00
2

TL;DR

"Citizen development" is not a widely used term of art in project management, nor in IT. The connotation is most likely closest to "shifting left" in an agile way than anything else, but in any case has very little to do with project management per se.

Analysis and Commentary

Unless someone can point you to a better source than Google Ngrams, I'd say that there's no such thing. While no-code systems are intended to empower self-service or a shift-left approach by allowing non-programmers to use drag-and-drop GUIs or the like, and low-code systems to take the drudgery and expert dependencies out of glue code and common functions from certain problem domains, it does not really match any of the proffered definitions in the original post.

To the extent that self-service limits the needs to spin up development projects or attach specialized developers to teams these paradigms may have some relevance to project management. However, even if "citizen development" was a thing and a widely used term of art, it has almost nothing to do with projects unless your project is building a low- or no-code product of some sort.

Short of future advancements in Explainable AI (XAI), anyone who's worked with any application framework will tell you that anything beyond self-service or minor glue code will still require a project with skilled developers or tool-specific experts to integrate such systems and expose interfaces to end users. Even implementing "low-code" systems with non-zero complexity generally requires specialized resources, which should be an input to a project charter and carry assumptions that need to be explicitly stated, validated, and tracked if you want to posit any kind of real cost/benefit.

1
1

I have still much to read, but my conclusion so far is that citizen development is a label used to name a phenomenon observed in business that in the most simple words is

skillable employees with computers create valuable digital tools

Nothing really new undestanding new as something created in the last couple of years. As it happened with the current professions on their early stages, this phenomenon is chaotic but still has certain characteristics that make it interesting to try to put in control and that offer opportunities and threats.

It's natural that vendors see the above as an emergent market. I don't see bad the use of "low code" / "no code" labels but saying that anyone can build tools looks as all smoke and mirrors to me.

Despite the label used to name this phenomenon and the vendors selling speach, it is relevant to the project management field because project management is all about controlled change.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.