Having the opportunity to attend couple of conferences, meetups and even organizing one I found myself in a doubt regarding the meaning of the terms that are being used to name specific types’ of users/ attendees and therefore tracks. Today we have such names as “Citizen Developer”, “IT Pro”, “Power User”. What do they mean?
This post however is going to be much deeper analysis of the modern profiles of employees and tools they are using. I really tried to read what was available to get more familiar and to understand better who is who. During gathering of the content I also did my own survey to get even more insights about the today’s role of Citizen Development, it’s reach and meaning for companies. I hope my findings will be also valuable for you.
I personally cannot find significant differences between Citizen Developer, IT Pro and Power Users. In my opinion these three terms are describing the same person, sometimes maybe more familiar with programming and therefore more capable of delivering more complex solutions. But in the end these three roles have basically the same background – employees who were not employed as developers in the first place, but found themselves enough open-minded and eager to learn and develop that they decided to create business solutions themselves. The business solutions that they are missing in the tool-set brought to them by the enterprises they are working for. Having all that said – from now on I am calling these people just “Citizen Developers”.
A couple years back, MVP John White (@diverdown1964) shared another way to look at the differences of key roles within the changing IT landscape, referring to the differences between developers, IT Pros, and citizen developers in construction terms, which I think works really well:Source: https://rencore.com/blog/what-is-citizen-development/
– Developers are the general contractors, clearing the land for construction, and throughout the building process, responsible for the foundational tasks.
– IT Pros are the architects, designing the structure and ensuring that permits are in place, the build process follows the blueprints, and that everything is up to code.
– Citizen Developers are the designers and decorators, that take what has been built and make it fit into the unique (and constantly changing) needs of the current or future residents.
Who is “Citizen”?
Following Dictionary.com the term origins back from 1275–1325. In Middle English it was “citisein”, in Anglo-French “citesein”, in Old French “citeain”, that is equivalent to cite “city” + -ain -an. “Citizen” is someone who is a native or naturalized member of a specific nation, or an inhabitant of a city who owes allegiance to its government and is entitled to its protection, privileges or franchises.
Comparing that to a modern enterprise, we can call “Citizen” almost any employee (well, maybe besides external employees, not being on the payroll). There are no limitations on the position’s goals, no matter whether this is HR, Finance, Maintenance or any other function-related role.
Who is “Developer”?
Following Technopedia.com a developer is an individual that builds and creates software and applications. They write, debug and execute the source code of a software application. There are various other names for a developer such as a software developer, computer programmer, programmer, software coder or software engineer.
There are also various areas in which developers are being specialized and therefore distinguished from each other. We can recognize for example:
- Front-end or UI developer – (user interface) person who codes interface of the application
- UX developer – (user experience) person who designs interface of the application
- Back-end developer – person who builds administration side of the application
- Mobile developer – person who builds mobile applications
- Database developer – person who designs and creates databases
- Web developer – common name for a person who creates web pages, portals, e-commerce, etc…
- And of course a Full Stack developer – person who combines knowledge about e.g. developing UI and browser-based languages.
Moreover in most companies we have multiple names describing the knowledge of the developer, such as trainee, junior, senior, expert and others.
That is a lot! To sum it up, lets assume then, that a developer is a person who has knowledge about a specific technology and is able to create something from nothing using it.
The evolution of the developer
Being a developer meant a lot in the past. It was a position really reserved for the smartes individuals, who were learning complicated languages, using not user friendly code editors or perforating cards – though life. Today being a programmer is still considered as something not available to everyone, however with the invention of the programming frameworks it became easier. Yes, admit it. On the other hand, languages became more complex. And there are today many more of them. It’s like comparing programming to video games. We used to have Pong. Or Tetris. Now we have Forza. Or Counter Strike.
Over the time a lot of support was created to help programming being more pleasant. Or at least faster. The mentioned before frameworks. More intuitive and supportive IDEs. Even the “WYSWIG” editors for building apps in a visual way. But even all of that was created, still “programming” means a lot, as it still requires quite a lot of learning and searching for solutions when in doubt.
Citizen Developer – the profile
The first mention of the phrase I found is from 2009, when Eric Knipp, senior research analyst at Gartner said: “Future citizen-developed applications will leverage IT investments below the surface, allowing IT to focus on deeper architectural concerns, while end users focus on wiring together services into business processes and workflows. Furthermore, citizen development introduces the opportunity for end users to address projects that IT has never had time to get to—a vast expanse of departmental and situational projects that have lain beneath the surface.”
What Gartner also predicted back then was that by 2014 over 25% new business applications will be written by staff outside IT department – the “Citizen Developers” as they called them. Following Gartner reports a citizen developer is a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT.
I would add, that not always the runtime is sanctioned by the IT, nevertheless let’s leave this for now. What is important is, that this person is an employee, but wasn’t employeed as a developer in the first place, but somehow turned out to be enough determined, to learn new technologies/ tools on his/ her own.
The survey I conducted in second half of 2019 shows (100 answers), that the majority of Citizen Developers is present in small (below 50 employees) or very large (above 1000 employees) companies. The reason why there are so many such employees in small companies can be explained by the multi-functional job positions, where employees are doing much more than just what is expected from their job descriptions. In large enterprises this is a matter of scale, employing so many people brings more opportunities for such individuals to appear.
Speaking about the reasons. The survey showed, that the most common is the fact that tools delivered by the company are not functional enough, hard to adopt, not efficient in usage. Or simply: they are not present and people are looking for a way to fulfill the gaps on their own.
One of the most commonly mentioned reason in the “Other” option was that building a solutions with the internal IT/ Dev team takes too much time, is not flexible, is not feasible. That is a really interesting insight, don’t you think?
According to the survey, Citizen Developers can be usually found in IT departments, however there is also a large number of such employees in Finance, Sales, HR or Marketing departments – basically everywhere where people need to work with computers and has very specific needs for tools.
When we look at the tools they are using, the survey is not very descriptive since it was spread and filled mainly by the Microsoft-related community. Therefore the majority is using Power Platform tools to build solutions they need to make their work (and their colleagues) more effective. There is a significant number of Nintex users and when speaking about other tools: Excel is mentioned very often, but also other vendors like OutSystems.
The fact that Excel was mentioned is not a mistake. When we look at the history of the role and what tools “grand Citizen Developers” were using, we can easily find out, that indeed Excel together with macros was a big thing! The other tools commonly used when talking about Microsoft related products were: SharePoint Designer for delivering customizations in SharePoint pages and for building custom workflows, extended by JSlink and CSOM scripts and SPServices. InfoPath for crafting complex forms and basically – business applications. For more advanced users there was also Access to build databases as well as business applications on top of them using drag&drop designers supplemented with Visual Basic code. Other tools were for example Lotus Notes (IBM) or SAP customizations.
What is also worth to underline is the fact, that usually Citizen Developers are learning over time and are becoming more effective and fluent in adopting new tools and technologies. The above picture (inspired by: https://chiefmartec.com/2018/10/every-marketer-app-developer/) shows an example of development in adoption of new tools from Microsoft stack by Citizen Developers to automate their processes and for crafting their own business solutions.
As the survey shows, those people can be found nearly in every company today, almost in every department. Possibly you, my dear reader, know such people in person too! Let me here show you a couple of examples of people I know:
- In Mars Poland I met two men: Marcin Kłak and Dariusz Szypszak, Project Factory Operators. They were responsible for team of auditors, doing security checks and maintenance of plants’ machines. Every shift was responsible for identifying and reporting of all issues they found, so later they were assigned and fixed. They started with SharePoint and images gallery to keep an eye on the issues and their statuses. However soon they created their solution using Nintex Forms and Workflows, which is helping them to automate the process of monitoring and resolving issues. The solution was recognized and appreciated by the local IT and Mark Christianson, Digital Experience Delivery Senior Lead who, is also actively supporting such activities in the wide company. Today they are not only developing and maintaining the existing solution, but also building Power Bi reports to visualize how the reported issues are being resolved.
- In a Dutch company developing medical products I met employees who were actively using Lotus Notes to create their own forms and databases for handling processes and registries. That was a common company practice, but limited to not only IT department.
- Famous already Samit Saini – today Office 365 Solutions Specialist in IT department and technology evangelist at Heathrow Airport. He begun his journey as security officer, soon discovered the potential in PowerApps and started to build his first solutions to again – fulfill gaps in IT landscape at the airport. His contributions were recognized not only by the airport’s IT, but Microsoft’s CEO himself – Satya Nadela. In 2019 he was recognized and awarded with Microsoft MVP title for an outstanding contributions and role in the community.
- My friend, Karol Mitraszewski, an engineer working for a Polish offshore wind farms developer found the industry-standard engineering tools for wind farm design not flexible enough (speaking about the tool named DNV GL Wind Farmer). Using the scripting interface of the tool itself (in C#) as well as external, self-developed automation scripts written in Python he managed to significantly enhance his productivity, bring more transparency to the design process and, most importantly, improve the engineering solution itself. The solutions he built are now used by other engineers in the company.
- Luise Freese, independent Office 365 consultant and lead community sketch-noter, who begun her journey with doing advanced mind maps to make understanding of information told during conferences easier, is now building her own large workflows using Microsoft Flow and is evangelizing Microsoft Power Platform in every company that she helps in adoption of the Office 365 suite.
- The last example I have is Jakub, a man whom I met accidentally as he asked for help and coaching around building his first apps using Power Platform. He is working for Polish National carrier, on a position of Operational Engineering Expert in Aviation Department, doing a lot of paper work around staffing processes, but he soon discovered potential of the power tools in making his work even more efficient by digitizing the processes that were widely used in the department. After some help he is now building new solutions on his own what gives him recognition and appreciation from his co-workers and managers.
All those people I mentioned really inspired me by showing, that today anyone who is motivated enough is able to take existing technology to shape it for their own needs. I think that if I really carefully look back at my over 10 years experience in working for different enterprises, I could recognize and name even more employees who, because of various reasons, were trying to build solutions themselves to make their work more efficient.
I believe that when you carefully look around, you can name such employees in your company too.
Tools for Citizen Developers
The most common reason for employees to begin their Citizen Developer journey is lack of tools in their IT landscape as my survey shown. Being aware of that people are looking for other tools already available or reachable to fulfill the gaps. Power Platform is today one of the most commonly used tools to craft custom business solutions; Microsoft Flow allowing users to automate processes and PowerApps to build business apps. However when looking on the market, the range of available tools is much wider.
The below Gartner’s Magic Quadrant shows names of some of the most known vendors in Enterprise low-code application platforms:
Gartner is not alone in their recognition. Forrester Wave from Forrester’s report shows very similar situation:
Microsoft was recognized as the leader thanks to their Power Platform solution, easiness in adoption especially when talking about users experienced in Excel. Salseforce was recognized for their Lightning Platform is a solution mainly dedicated to extend basic capabilities of the CRM, therefore it’s hard to name it a really open platform for creating business solutions to serve any scenario. Mendix was recognized for their flexibility, easiness to build solutions for any device at once, but mainly because they were acquired by Siemens in 2018 and have IBM and SAP as their partners. Finally, the OutSystems was mentioned as a leader, thanks to its advanced platform for building business solutions, however it has a complex licensing and is more likely named as a platform for rapid development in .NET rather than a tool for Citizen Developers. Somewhere around the podium, being mentioned in different categories, you can find such solutions as Betty Blocks, that is working hard on being known as a leader in no-code development, or K2 and Nintex, famous for their workflows platforms and forms solutions for building complex endpoints for data input addressing enterprise customers.
It is important what platform you would like to adopt in your company. Do the choice wisely. But what I personally can tell, is that no matter which one you choose, all the LCAP leaders’ tools have a lot in common and that each tool allows Citizen Developers to:
- Easily build interfaces of business apps using drag&drop editors
- Easily create workflows and business processes
- Deliver interfaces to create integration with 3rd party systems for consuming and pushing data
- A wide range of out-of-the-box connectors
- Possibility to create public facing web sites (for example PowerApps Portals)
- And also, for more advanced users: possiblitiy to extend functionalities with custom code (for example PowerApps Component Framework)
The number platforms for building so-called no-code/low-code solutions is quite big as you see, as well as the phrases and abbreviations market is using to name them. This is a list of names I found so far:
- hpaPaaS – high productivity application platform as a service
- iSaaS – integration software as a service
- iPaaS – integration platform as a service
- LCAP – low code application platform
- And possibly more! Confusing, right?
Looking at Gartner reports we can address the platforms accordingly:
- iPaaS is for more technical “developers”
- iSaaS is for less technical “citizen integrators”
- Low code development platforms – iPaaS
- No code development platforms – iSaaS
In the end, name makes no difference. Being aware already that Citizen Developers are not trained and aware of the ways IT solutions should be created and governed, process in which their solutions are built is likely to be compared with a children excitation about a new toy. Their engagement and interest is the highest during the beginning of creation, but when difficulties arise or when the solutions is done their involvement becomes lower.
The above graphic was created by Betty Blocks (source: https://www.bettyblocks.com/citizen-developer) and perfectly describes relations between Citizen Developers and their engagement in building solutions. And that brings me to another important topic: Benefits and Threats from having Citizen Developers on board.
Benefits & Threats
Having Citizen Developers on board can bring many benefits, but also threats to organizations hiring them. Let’s speak about the benefits first.
My survey tells, that the most valuable benefit is related to a rapid development of solutions (also prototyping), faster time-to-market or MVP (minimum viable product) thanks to the fact, that they really know the actual needs and are precisely able to deliver solutions addressing them. Also, such tools are usually adopted faster by their co-workers.
Organizations are often comfortable with that, because they don’t need to spend money on analysis and on transfer of knowledge to IT departments or external vendors.
It is also obvious, that this way of building solutions is seen as cheaper, due to the fact that new tools are being built by employees who do their regular duties too (so like are working on two positions…).
Companies aware of Citizen Developers, with mature procedures around security and governance, can really find synergy from having IT department working hand-by-hand with Citizen Developers.
Above info-graphic was created by Dion Hinchcliffe and shows a working example of a low-code solutions creation life-cycle, when IT department is also a part of the process.
But there are two sides to every story. With benefits there are also coming threats. The one, most commonly mentioned is the so-called existence of “Shadow IT” – the part of the IT landscape that is out of control by IT department: tools no-one really maintains, about which only a small amount of people knows, that are barely documented or not documented at all. The tools that cannot be supervised, that can be used to leak valuable information outside the company or which can be used in attack vectors.
Very often such tools are becoming a department-critical or company-critical solutions, that if fail bring a lot of troubles. Lack of governance and lack of security is today the most mentioned threat. The very common scenario with solutions built exclusively by Citizen Developers is that as long as their authors are on-board, problems are silently solved. When they decide to leave a company or get fired, solutions get abandoned and soon issues appear that literally no-one is able to resolve because of lack of any information. Then what seemed to be relatively cheap in the first place becomes very expensive in the second.
I don’t have actually the best, always working solution on how to let Citizen Developers coexist with IT department. The customers I was working for were aware usually that such people are present in organization and were rather trying to make an ongoing dialogue with them, educate them to have a control over who and what is building. What was significant was that they were really trying to avoid creation of critical solutions by untrained workforce.
How to really benefit from having Citizen Developers?
Governance is a keyword when talking about doing Citizen Development right. Every company has to really create their own rules, however some points are mandatory always:
- Recognize Citizen Developers – know who they are, in which departments they are working. Create rules for them to follow, ways for them to inform IT about their ideas, don’t leave anything to coincidence.
- Define solid rules about building solutions – e.g. a template to use to document the solution, brief description, location in the IT landscape, inputs/ outputs, data sources, credentials, what kind of solutions can be built on their own, etc…
- Define rules about maintaining solutions – describe when and how the solutions should be handed over to the IT and how should it be later changed or developed.
- Support Citizen Developers in their journey, teach them, train them.
What is really crucial is to create sort-of a “safe environment”, where Citizen Developers are not going to be limited in their initiatives, where they are going to be free in creating new solutions. Only a complete acknowledgement of the new role will bring benefits to the organization.
Aware organizations should put a lot of pressure on providing all the possible support for Citizen Developers.
The most commonly mentioned way to achieve that is to provide Citizen Developers with trainings; both around company policies and procedures, governance and IT security, so to teach them being compliant with the rules, but also around the tools IT is allowing them to use.
What is also valued, is the official recognition for their contributions, this can be during company annual meetings, company-wide communication or simple conversation e.g. with CTO. Some respondents also think that it is vital to promote such employee or to move them to become a part of IT department. Others say it is important to create a community/ network within a company to support Citizen Developers, to make regular meetings, openly communicate about ideas and projects, to avoid issues or duplication of efforts.
One thought from me: Citizen Developers, me for example, when we don’t know how to solve particular problem, we are more likely to search for solutions on the internet, rather than to ask internally. We look on product and community forums, online documentation, user groups’ meetings, trying to reach experts directly, even github sometimes – anywhere we think we can find answers. I think you already know what I want to write, right? By that I wanted to highlight a real need to teach them/ us how to share information about the problem in Internet. How to share parts of the solution. How to share details. It’s crucial to avoid leakage of the critical, confidential information, that is accidentally shared together with those requests for help. Keep that advise in mind.
What about the future?
As I mentioned already, Gartner made a prediction in 2009 that only in 2014 over 25% of all solutions will be created by staff outside the IT departments. And in 2014 market of low-code/no-code platforms wasn’t that developed as it is today. Worth to mention, that such tools as Microsoft Flow or PowerApps were launched around 2017. Today we are truly watching the rise of Citizen Developers and how they are influencing change in companies’ approach for creation new business solutions.
I am personally a Citizen Developer too and I know other of my kind. I see what significant impact we have on the companies that are hiring us. In my opinion our role is increasing. That change is a fact today. It is inevitable and not deniable. This is why I think rising awareness in enterprises about it is very crucial. Modern companies must develop their own procedures and governance to benefit the most from employing Citizen Developers. Knowing, that this is both the opportunity and threat.
Number of iSaaS/ iPaaS tools is increasing, they’re becoming more and more easy both in adoption and usability. Time required to create new solutions is decreasing. They also require less technical skills, therefore are becoming available nearly to anyone courage enough to try.
Role of Citizen Developers will increase. Their meaning in closing gaps between regular IT and business users is undoubtful. It’s all about agility: IT will appear in each department. No more that static “IT department” which is usually disliked by employees. Companies have to change their mindset with that and let employees achieve more. This will drive focus on business processes and collaboration instead of “how can I tell IT what I need…”. Be sure your company is ready for the shift too!
Chat between Christian Buckley, Marc Anderson, Adis Jugo and others about the topic: https://www.cmswire.com/digital-workplace/the-evolution-of-the-sharepoint-citizen-developer/