The Perils of Citizen Developers

Mile wide spread sheets. String parsers that break when unrecognized characters are passed to it. Rapid fire queries that kill database performance. Forms that permit SQL injection. Hundreds or thousands of undocumented disparate applications that don't share data or design patterns. User experiences that have no consistency.

Is that what goes through your mind when you hear the words Citizen Developers?

This is some of the feedback I received after my last post, 4 Reasons Why Citizen Developers May Be The Next Big Thing in Application Development. In general, many developers scoff at the idea of giving "corp cube dwellers" this capability that lead to "desktop crapware". Citizen Development will "continue klunking along". My favorite comment, "If I had a penny for every time I have read development with no coding required." See the comments to my last post on Reddit.

Should Developers Scoff at Apps Developed by Business Users?


Software development and engineering is a craft, a skill, and a discipline. It's not mastered in a training course, a degree, or by being a programmer on a simple application. To develop robust, scalable, secure applications that can be extended and maintained often takes a team of multi-disciplined professionals working collaboratively leveraging various tools, aligning to architectural principals and design patterns in creating "software magic".

These same developers are often called in to rescue bad applications, or to investigate a systems issue caused by a poorly defined application, or blamed for a process failure because a hack of an app developed by a rogue developer isn't stable.

But these same developers also know there is too much work for them in the enterprise. They scoff at the idea of hiring mediocre developers to handle the demand or when business users work around their need for apps or reports. Many will shake their heads when looking at the work of spreadsheet jockeys or the legacy of data silos.

And the reality is, these developers would prefer building new, innovative applications where their work can have business impact. They want to work on the latest technologies. They are needed to help solve Big Data challenges, to help migrate more applications to the cloud, or to build customer facing mobile applications.

Citizen Developer Development Practices

I like the term Citizen developer. Not everyone is a citizen. Citizens are governed and have accepted values and practices. They are given a set of tools to work with and instructions on how to use them. I may be qualified to go to home depot and get the tools, materials and guidance to install a new light fixture that I need to do safely and properly. On the other hand, I'm not permitted to go upgrade the circuit leading to my home without a licensed electrician and the proper work permits.

So my next post will provide some governance, practices and specifics on What IT takes to be a Citizen Developer.

No comments:

Post a Comment

Comments on this blog are moderated and we do not accept comments that have links to other websites.

Share