When citizen development is discussed, the focus tends to be on the empowerment of business users to create their own applications. However, there is a lack of available resources that detail how those applications should be maintained in contrast with traditional software.
Types of Applications
Applications which are managed by end-users have been around for a number of years. We refer to some of these applications as “Shadow IT”. Shadow IT apps are most of times maintained by their creators. There are discrepancies as to how tolerant organizations can be to Shadow IT’s existence (see Liz Jordan’s blog on Shadow IT for more detail: https://www.projectmanagement.com/blog-post/68155/Is-citizen-development-just-a-form-of-sanctioned-shadow-IT-). However, there is a general consensus in industry that Shadow IT is pernicious and occurs every time that software is created without having been sanctioned by the IT / Technology department.
Shadow IT is Pernicious
As a management consultant, I’ve come across organizations that have the necessary controls in place to prevent business users from creating Shadow IT applications. Others have a significant reliance of their business knowledge in Shadow IT applications, even without knowing. My point being, the maintenance of Shadow IT applications has been performed by the end users without the involvement of the IT / Technology department. And that’s a dangerous approach because these individuals usually don’t have the knowledge nor the tools to perform a proper holistic maintenance.
Maintenance for Citizen Development
Citizen development enables a new paradigm where maintenance tasks can be shared between Citizen Developers and the IT / Technology department. If I create an application that reduces some of my most tedious day-to-day activities by, let’s say 10% of my daily workday, I can dedicate some of that time to maintain and improve my application.
Different types of Maintenance
In the software development world, it is widely accepted that between 60-80% of the Total Cost of Ownership (TCO) for enterprise systems is dedicated to their maintenance and to keep them running. There are four maintenance types accounting for this 60-80% of TCO, being:
- Corrective maintenance – Amend mistakes and/or bugs created during the development phase
- Adaptive maintenance – Update the applications to be in tune with the organization’s wider environment or improve the applications’ running performance
- Perfective maintenance – Upgrade the applications to include new functionalities
- Preventive maintenance – Attend minor current issues that could cause more serious problems in the future
The essence of these tasks is no different than traditional IT tasks. However, the way these tasks are done and who performs them changes. Let’s take a look at how citizen development impacts each of these 4 maintenance types.
The Citizen Developer is the best placed individual to detect bugs, identify a solution and implement it. Detecting bugs at first-hand avoids having to request upgrades to the IT department and then observe how that request is put into a list of priorities. In the majority of cases, Citizen Developers can eradicate these bugs if they are a proficient using the selected Low-Code / No-Code platform.
Tip- create a Competency Centre (or similar internal body), able to guide Citizen Developers through the process of solving common development bugs. These can be put into procedures as the maturity of the organization with regards to citizen development evolves.
It seems difficult to envisage how citizen development could help improve adaptive maintenance from the point of view of the citizens. They usually do not have the knowledge, competency or permission to manage an IT operating environment. It is too risky to put technical, hardware or security changes (to name a few), in the hands of citizens.
Hence, the benefit of using citizen development with regards to adaptive maintenance comes when the environment is sanctioned and provided by your IT department. Firstly, because all the applications created in the business are centralised as a consequence of using sanctioned low-code/no-code platforms and can be addressed as a whole instead of performing ad-hoc maintenance. Secondly, the IT department now has control over some assets that were previously Shadow IT.
Citizen Developers may want to include new functionalities in their apps. There is no need to wait for the IT department to prioritise your requirements when you can do it yourself. This will enhance deployment time and will help save some valuable resources in the IT department.
It is difficult to get a glimpse of how preventive maintenance can benefit from citizen development. Having said that, citizen development initiatives will ideally be carried out following a set of best practices that enables better evolution and scalability of software. These guidelines can be governed either by the IT department or by a Competency Centre or similar body.
This takes us back to the idea of the IT department being a partner of the business that facilitates and controls the environment.
- Citizen Developers are best placed to perform corrective maintenance without the need to rely on the IT department.
- IT acting as a facilitator can agglutinate and centralise adaptive maintenance for a higher number of applications (some of those were previously Shadow IT).
- Citizen Developers speed up the process of perfecting applications, freeing capacity in the IT department so that they can continue to work on other priorities.
- Citizen Developers that follow best-practice guidelines when creating software will spawn a better future evolution and scalability of the apps created.
Citizen Development has the potential to help IT / Technology departments with their maintenance duties. As a result, there will be more control over the maintenance of IT assets in the organization as well as more capacity to take on other priorities, and an upskilled workforce will better understand the technology environment and how to take care of it.