Project Management

Citizen Development Insights

by , , , , , , , , , , , , , , ,
Citizen development is a disruptive approach to digital transformation and organizational innovation, where teams are empowered to turn ideas into applications using no-code/low-code technology. This blog provides insights, advice and practical knowledge from thought leaders and practitioners in Citizen Development.

About this Blog


View Posts By:

Cameron McGaughy
Ron Immink
Jody Temple White
Mario Trentim
Jelili Odunayo Kazeem
Jason Mayall
Chandrasekaran Audivaragan
Ryan Whitmore
Kimberly Whitby
Justin Sears
Derya Sousa
Vivek Goel
Raveesh Dewan
Dalibor Ninkovic
Ian Gosling
Tara Leparulo

Past Contributors:

Elizabeth Jordan
Arjun Jamnadass
Rogerio Sandim
Martin Kalliomaki
Richard Earley
Maelisa Woulfe
Octavio Arranz

Recent Posts

5 Top Citizen Development Myths Busted

Empowering Citizen Developers: Overcoming 5 Common Challenges Together

Citizen Development: The Path to Success Starts Small

Can No-Code/Low-Code ERP Replace Traditional ERP Platforms?

No Code, Big Bucks: How Citizen Developers Can Capitalize on the Future of Tech 


Agile, Best Practices, best practices, Career Development, CD Canvas, Change Management, Citizen Developer, Citizen Development, Citizen development, citizen development, Communication, Digital Transformation, digital transformation, Documentation, Innovation, IT Project Management, LCNC, Leadership, Lessons Learned, Low-Code, myths, No-Code, no-code, No-code and Gen Z, PM Think About It, PMI, PMI Global Congress 2013 - North America, PMO, Portfolio Management, Program Management, Programs (PMO), Project Delivery, Project Management, project management, Risk Management, ROI, software development, Stakeholder, Strategy, Talent Management, Tools


Viewing Posts by Jason Mayall

How a Construction Project Manager Tackled Citizen Development (Part 3)

This is my third and final blog documenting the start of my journey through learning about citizen development and LCNC platforms.
At the end of my last blog, I set myself a goal to create a functioning app of my choosing by using everything that I learned that previous month.

I decided to use Microsoft PowerApps as my platform as it stood out to me as one of the better platforms on the market and had an amazing set of online learning modules.

What I built
The app I decided to build was simple, matching my basic skill set at the time; since I am currently in the construction industry, I wanted something to document customer details, contractor details, job details and have relationships between all of them so they could be cross-referenced within the app.

This would make for a good first step in removing the need for keeping stacks of papers about in folders that document all aspects of each ongoing job. Keeping paper copies and noting down outgoings on a small job may be convenient in itself, but it soon becomes a hassle when the job is nine months long and the outgoings tip over the £100,000 mark.

That is the exact reason I started constructing this app; it’s a step in the direction of becoming paperless, making life easy when there’s lots of receipts and invoices from contractors to keep a hold of.

So, with my goal in sight, I opened PowerApps and got started.

Creating the app
Through my learning process, I discovered that getting the app to look appealing and be visually consistent could pose to be a tedious task, at least if I didn't create a template page first! So that's the first thing I did—I built a template page that I could duplicate each time I wanted a new page.

That was the first page I created for the app! A simplistic design made for functionality, it has the company name section, a home button, the company logo (top right) and the navigation buttons to take you to each of the pages in the app.
After that, I hit the duplicate button a few times, linked them all together so that the navigation buttons functioned as intended, and voila! My base app was born.
Getting data
The next step was to get some data to work with. I could have used something simple such as an Excel spreadsheet and imported it into the app, but I didn't like that idea. I liked the idea of Microsoft's own data hosting service. Microsoft Dataverse is a cloud-hosted data service that lets you securely store and manage your business data, perfect for what I wanted.

I wanted to start by making the Customer portion of my app as it seemed by far the simplest, requiring only basic data such as a name, address and contact number, perfect since this was my first time attempting this and didn't want to overwhelm myself just yet.
Creating the first page
So, with a template in hand and a data table created in Dataverse, I was ready to make the first "real" page of my app.

I took what I learnt from the learning modules and got to work.

There it is, my first functioning page.

From the screenshot, you can see the table containing some example customers and their data, with a delete key for each row (which contains a pop-up message to confirm).

The little arrow on each row takes you to a screen that allows you to edit the contact information for each row; there is a search field that allows you to filter the customer table to return records that match what you type; and of course there is a button labelled "New" that navigates to a screen that allows you to create a new record.

You may have noticed that the table is also in alphabetical order. I did this by using a function called "SortByColumns."

Although the app is looking pretty basic at this point, I was nevertheless happy with the functionality.
Creating the rest of the app
So, now I have a template and a working Customer page, which is a great start and filled me with confidence in my ability to create apps within PowerApps—at least until I begun making the Contractor and Job pages, which proved to be just a little more difficult than I has anticipated.

Why was it more difficult? Well it had a lot more—and more complex—fields to manage.

The customer table was a walk in the park. It needs name, address and contact info data, which is all basic text and is static; nothing changes after the data has been input.

The jobs and contractor tables, however, are a different story. You need a whole bunch of new fields with dynamic data and a robust relationship so they can be cross-referenced throughout the app. Each contractor needed the same simple fields as the customer needs such as the name and contact information, but also fields such as their hourly rate and the hours they worked on a job (plus a field to calculate the sum of the hourly rate and hours worked to give the total salary).

The job table also needs to reference the customer that the job is being done for, and also list each contractor (including the hours worked and amount payable) that has been assigned hours on the job, plus list the date of the job and location and have all of the information updated and visible to the user at all times.

Yes, I did get everything functioning in the end, and the solutions seem simple now that I've figured them out. But go back in time a couple of weeks when I first started making the app, and it was a lot of trial and error whilst trying to compose a working function that was any more complex than four words long.

Yes, it was difficult. There were times that I spent hours pulling my hair out over functions not working and giving error messages, only to find out I put a comma in the wrong place (yes, this happened many times), but it was a great way to push my skill set and force myself to learn and overcome obstacles.
So, I finished the app (at least for now) and got it looking and functioning somewhat how I envisioned it. Here’s a screenshots for you...

Welcome to the contractor page!

Again, you have the list of contractors with a search bar to filter the data, a delete button, new button and I added that special red dollar symbol to show which of the contractors had outstanding payments.

When you select a contractor from the list, it highlights the selection in a slightly different shade of grey to show it has been selected (although this may change in the future as it's almost unnoticeable). The main thing to note is the table that pops up referencing the selection you make to showcase the list of jobs that they are related to and how many hours that have done on said job:

Last but definitely not least is the Jobs page. You'll notice all the similarities with the previous pages with the sorting and showcasing of the contractors referenced in the selected job, along with some additional calculated fiends at the bottom right to show what the sum end total of the costs and hours are.

Most of the magic here is with the Job details page, which is accessed by clicking the arrow on the job you wish to view. Let me show you the details for the example job "Garden renovation"...

There you have it—by far the most time-consuming part of this build.

There are lots of relationships, references and calculations on this page, which is the sole reason it took the most time. But it was also the most fun to design and build, and was also the biggest learning curve for myself.

Here you see a reference to the Job you have chosen. You can assign a contractor to the Job and input the start date (default to the job start date). After that, you look to the right and see the entire list of contractors that are working on the selected job and whether they have been paid yet or not.
What’s my experience in using the app?
Overall, the user experience is great. The app has been easy to use thanks to its simple design, and it only takes a few minutes to add or edit a job. However, it does seem to have more use when it comes to larger scale jobs as opposed to small ones.

Imagine you contract three people to carry out various work on a job. One sends you the invoice for their labour via email, one writes out a physical copy in their invoice book and hands it to you personally, and the third only does two hours of work so tells you to add it to the tab and pay at the end of the month.

Jobs like those aren’t too difficult to keep track of, although it may seem a mess at times with receipts and invoices coming from all directions. They typically get paid off pretty quick and can be forgotten about. However, it’s the larger-scale jobs that need some help, the jobs where one person will do that two hours of work but then come back four days later and do another eight hours, then again the next week.

You can have multiple people doing hours such as that on a job that’s six, seven or 12 months long, so having some sort of app to keep a track of those jobs will save time and keep everything organised. With the tap of a button, you will able to see who is working on what job—and whether they have been paid or not. It's a great first step to becoming paperless and more efficient.

What's next?
After actually building my first functioning app, I do feel a lot more confident in my ability to create something. The journey wasn't as difficult as I thought it might have been, although I did struggle to get parts to function as I wanted them to at times. All I needed to do when that happened was take a break and look at someone else's app to see how they overcame a similar obstacle and try relate it back to my own scenario.

Next, I will aim to revise and hone my skills enough to take the PL-400 Microsoft power platform developer certification exam. This will prove that I have the necessary skills to work with the power platform and give me a certification to show that.

As for my next app? I'm not sure yet...maybe I should try something more technical to push my skills further, or even use what I learn to further improve my current app.
Over to you
What are your thoughts and feelings on my first app? I'd love to hear your feedback so that I can learn to improve on my next project.

What should I build next to further test my skills and abilities?

Don't hesitate to message me if you have any questions about Citizen Development or PowerApps, I'd love to help out.

Posted by Jason Mayall on: May 11, 2021 05:16 PM | Permalink | Comments (1)

How a Construction Project Manager Tackled Citizen Development Part 2

It's been a whole month since my last blog!

A LOT has changed, my eyes have been opened to the sheer power of LCNC platforms and how simple an app can be created compared to conventional coding.

As I mentioned in my previous blog, I set out to pick out and learn 1 LCNC platform to the extent where I would be happy to build my very first app, and that is just what I did.


Choosing a LCNC platform

Now, choosing the LCNC platform that suits you best sounds pretty easy right?

Well... There may be more available to pick from than you realise, all with their own pros and cons.

You will be hard pushed to find a high end LCNC platform that you can use completely free of charge but many do in fact offer free trials or are free to use forever in a "practice environment", this was one of my main criteria when choosing.


The first platforms I came across and considered were Google's App Maker and Microsoft's PowerApps, having such robust frameworks along with great customer support and communities to support them.

Some other great finds were Mendix who offer a vast array of prebuilt templates, great tutorials and live chat support but proved to be VERY expensive, especially for some of their more premium services.

Outsystems is another great option with fantastic training and the ability to publish directly to mobile App stores.


Google vs Microsoft

So it really came down to Microsoft vs Google, the appeal to me was, as you might be able to guess, the comfort of knowing who the companies are and the possibility of them having some relatable features along side the ability to integrate with their other widely used services.


Google App Maker

  • Google drive tables
  • Friendly layout
  • Google service integration
  • Fairly easy to use



  • Pretty intimidating at first glance
  • Huge array of Microsoft-made tutorials and "Learning paths" available on the Microsoft website
  • Powerful integration with other widely used Microsoft services


So with two extremely robust and powerful platforms to choose from, who won?

Well, it was Microsoft PowerApps that won the battle for me, I believed that even though it was pretty intimidating at first glance, I would be able to tackle it with the sheer amount of E-learning available on the Microsoft website.

Also, there are already so many companies that use Microsoft and its services day to day that it seemed as though it would have the best integration for companies looking to take on a LCNC project.

You do in fact have to pay for PowerApps and their plans are fairly competitively priced compared to the other options but you can also use the service for free with very few limitations, perfect for someone like myself who is just looking to learn at this point.


Learning PowerApps

To get started with PowerApps I went straight to Microsoft's online learning modules, there are 79 modules in total JUST FOR POWERAPPS!

A module looks like this

MODULE   Get started with Power Apps   I hr 3 min (20K)   Power Platform Business user Beginner   COVPLETED v,

It's very easy to navigate about the modules and filter them by difficulty, they vary in length from 20 - 30 mins up to 90 mins each, so there is a lot of content out there.

I simply started at the top, filtered by "Beginner" and got to work.

Each day, logging in and completing a few modules, making notes along the way and seeing my skills grow over time.

The modules are easy to follow, with lots of short videos to watch and hands on material to follow along with and have a go yourself.

I quickly learned to create simple things such as adding a selecting items in a list, simple calculations and how to edit and design apps to look more appealing.


Where am I now?

Now I've spent a fair amount of time leaning PowerApps and what it has to offer I do in fact feel confident about creating my very first basic app, the extensive learning resources out there have ensured I know more than enough to get started and even when I don't know something or I get stuck with an error, I can always count on the PowerApps online community to have the answer out there; I may be new to PowerApps and have very little experience but so far I haven't come across something I can't do.

I'm glad I chose PowerApps and I can't wait to get started with building my very first app over the next few weeks.


I'll look forward to sharing my progress on my next blog!


Over to you, have you started to learn how to build using a LCNC platform? What platform did you choose and why? I'd love to hear how your projects are going.

Posted by Jason Mayall on: April 03, 2021 03:55 AM | Permalink | Comments (4)

How a Construction Project Manager Tackled Citizen Development Part 1

After working in construction for almost 7 years I thought both my and my organisation's future was set in stone. Waking up every day, going to work, using the same old / inefficient processes for planning projects and keeping track of various data that would often get misplaced or altered over time through miscommunication; though I never thought anything of it, that was the "norm".

That was until I heard about CD (Citizen Development) and started to look into it more and what it could do for me.

I quickly became interested in the benefits of CD and "low-code / no-code" (LCNC) platforms and what they could do for me, whenever I did or saw something I begun to think.

  • "Could I make this more efficient"
  • "Could this have been planned better"
  • "Would I be able to make the workplace safer"

The more I researched, the more opportunities unfolded, the more I began to think and solve and start to see the many benefits of CD.

Taking the Citizen Developer Course

When I heard that there was a specialised "Citizen Developer” course I immediately started to investigate and it didn't take much convincing to get enrolled.

I began the course expecting to learn about the opportunities that CD would enlighten, the best LCNC platforms to use and the process of putting my knowledge into practice and I was a little worried that it might be quite difficult given the fact I have never touched coding or built an App before; however, the experience was much more than that.

On the foundation course you learn EVERYTHING from ideation to creation and deployment, the whole process!

You get to learn the basics and how to unlock the full potential of CD along with how to comply with IT by bringing structure and security.

With Citizen Development there is no need for technical knowledge, so long as you have the will to create a solution, CD will enable you to do it and the CD course will show you how and hold your hand through the process.

The best parts of the course had to be the many downloadable templates and the real-world examples for you to examine, having the ability to look at a small selection of real-world examples of CD being put into practice was game changing and allowed me to really see the effect it had within a business.

Thinking About Implementing CD

After the course I began thinking about where and how I should start to implement this within my own career, the use of LCNC platforms will help out a vast majority of businesses, especially the ones with a backlog of work that would usually require an IT specialist.

That isn't all CD can do though, just think of the career opportunities that get created, so many businesses have underlying issues that just don't get solved or get pushed to the back of the queue because they don't have the necessary resources to deal with them.

For example, think of your own work environment, what do you think could be made more efficient through the implementation of a simple app? As someone with CD experience I would now feel more confident in tackling those issues and developing a solution in a cost and time effective manner.

All in all, since starting my path on becoming a Citizen Developer I have had my eyes opened to a new world and I am excited to see where this can take me, first of all I need to get to grips with a LCNC platform, there are so many to choose from, each with their own advantages.

Then I need to put both my CD and LCNC knowledge to the test within my own working environment to see just how effective it is in my own line of work; after that I hope to evolve some more and take my expertise to larger projects with more diverse needs.

The Next Steps on My Citizen Developer Journey

So that is my starting experience with becoming a Citizen Developer, my near future goal is to get to grips with a LCNC platform and put into practice my newfound skills into building something.

I am thinking I should build something simple such as a tracker that provides detail of all the hours worked by employees and various contractors on each project.

Or maybe I should build something expandable such as a job portfolio that presents details of all past projects that we do so that I have something to show future clients that inquire about past jobs; this will allow me to build something simple to start with  and expand / improve over time as I become more skilled.

My plan for this is to use a couple of hours each evening and some additional hours on weekends learning the fundamentals of app building within my chosen platform which I hope should be enough time (including ideation and planning) to get my first basic app built to bring a solution to something within my company.

I’ll look forward to sharing what happens on my next blog!

Over to you, have you been building apps with LCNC? What LCNC platform would you recommend or like to learn? I’d love to hear from you what’s working for you.


Posted by Jason Mayall on: March 06, 2021 04:06 AM | Permalink | Comments (2)

You suffer for your soup.

- Kramer