Citizen development refers to the idea of bringing non-technical employees into the software development process. This approach usually applies low-code/no-code platforms that enable knowledge workers to quickly assemble applications, spin up UIs, and connect various software-as-a-services (SaaS). The theory is that powerful capabilities at the hands of employees, including people like business analysts and marketers, would empower them to construct their own applications and workflows, thus increasing efficiency and operational agility.
In an accelerating digital economy short on high-tech skills, citizen development is sometimes framed as the Holy Grail to meet escalating demands. However, citizen developer initiatives can fall short if they are not based in reality. When locked into the confines of a development platform, changeability and customization can suffer. Although citizen development may afford great usability, important considerations such as security, scalability, and maintenance are often overlooked. In practice, a 100% citizen developer play is rare.
Like many IT philosophies, the pendulum has begun to swing in another direction. Instead of relying solely on non-IT talent for software development automation, it’s important to embrace a wider breadth of skill levels, says Robson Grieve, Chief Marketing Officer with Outsystems. According to Grieve, incorporating a successful citizen developer model for the long-term hinges on catering to project specifics—and planning for the repercussions of company-wide adoption. He has identified a middle category between professional developers and citizen developers that could be a good demographic to include in your organization’s efforts.
When Citizen Development ‘Hits The Wall’
Why might a pure citizen development approach fail? According to Grieve, the idea may seem great, but success doesn’t come easily. The key reason is that tools with high levels of usability inherently come with constraints. “You get into a trap,” he says. “You can’t do certain things.”
Left to their own, citizen developers can run into roadblocks. For example, “off script” requirements may be difficult to implement. Such changes may require users to program additional JavaScript functions into the coding platform, but without coding experience, customization and adaptability are limited. There are also security implications, which could hinder scalability across an enterprise.
The reality is that a 100% citizen development approach typically hits the wall in practice, according to Grieve. It often results in handing incomplete projects off to professional developers, who must dedicate additional time and effort to learn the context of the application. Ironically, this practice could place more burden on IT to support changes and scale adoption, placing you back into the resource-constrained world you were trying to escape.
Sacrificing Adaptability for Usability
As one example of where a citizen development approach can stall, take two-factor authentication. Many applications require multi-factor authentication or nuanced passwordless authentication. Yet, if an enterprise wants to incorporate an unsupported proprietary authentication method or new identity standard, bringing such tools into a low-code platform may be problematic.
Another hindrance is the runtime aspect. Many of these development platforms do not enable portability to publish apps to the App Store or Google Play. A lack of installation simplicity is a burden for users, who have high come to expect easy access, and that can also stunt growth.
Even success presents its own challenges. As more citizen developers embrace a platform, they inevitably request new features. “But can you make it do this?” is probably the most asked question in this field, jokes Grieve. However, with limited changeability, it’s likely that the platform will break as new features are introduced.
A Different Path
The world has tried to simplify the issue to choosing between either citizen developers or professional developers, but there is a wider spectrum of experience levels to consider for a more democratized approach to development, says Grieve. He categorizes app dev platform users into four subgroups:
- Professional developers – Programmers with skills that are easily translated to this new paradigm. They may be involved with legacy languages and want to freshen up skills, so they turn to a new app dev platform.
- IT non-dev roles – The next rung down is non-developers within IT who are fluent with their toolsets. They may come from Ops, database management, system administration, or other areas.
- Researchers – Large companies have roles with specialized technical skillsets outside of software development. These are the data analysts and research scientists with high-grade technical learning in their fields.
- Business analysts – These folks are more on the citizen developer side, with the least technical experience. Marketing or design roles are likely at this tier as well.
Investing in Developers
Going down this path to incorporate all levels within the application development process is best from a long-term perspective, says Grieve. So, what would it take to do this? Organizations need to invest in training and help both traditional developers and new community members understand the choices. Grieve shares the following advice:
- Offer pathways to competency – Provide toolsets and pathways to competency. New users will require a roadmap to try things out, get comfortable, and obtain certifications.
- Peer group learning – Teams should self-educate through a peer group model. For example, a two-week program with hands-on training on platform resources can effectively onboard groups simultaneously.
- Cater to the project specifics – Take careful consideration to ensure any application automation tool is correct for the situation at hand. Analyze which solution is suitable for the project and build skillsets in that area.
- Plan for success – Consider how to scale adoption of the application development tool across the organization. It may catch on faster than you think, which is why planning for the future is so important.
Think Long Term
The world needs many developers to meet digital innovation demands. There is also the need to unite systems, such as making SaaS applications like Salesforce, NetSuite, and SAP work together. With growing SaaS adoption, internal applications become the glue to connect disparate tools. As such, “integrations will remain a massive part of the app dev process,” explains Grieve.
With a big gap in the workforce, all these concerns are becoming more challenging. “Everybody’s trying to crack the code on this one,” says Grieve. As a result, we’ve seen a surge in the low-code/no-code development space, bringing in new developers from many backgrounds. There’s no doubt that low-code/no-code platforms could help someone with a foundation in analytics get a leg up with a better frame of reference.
Yet, if your citizen development initiative only involves non-developers, it’s likely to fall short. If the platform promotes usability over capability, “it can hit the wall from a changeability perspective,” reiterates Grieve. The solution lies in realizing the constraints of development templates that demand rigidity. A successful adoption will require more engagement from all four technical subgroups outlined above and internal knowledge sharing and initiatives to spread awareness.
“Ultimately, we’re on the way toward a world where everyone can be a developer,” says Grieve. “But we need to ensure we don’t deliver an experience that creates a future problem. The pure-play citizen developer stuff is not going to make the evolution possible.”