What is Citizen Developer? The term, first coined by analysts at Gartner, refers to non-development staff who take on traditional development tasks. With easy to use tools and limited support from traditional developers, citizen developers craft meaningful solutions for their business and customers.
It still is a fairly new concept and you might ask, where did it come from? Let's start with the challenges businesses are facing on a daily basis.
Challenge: Complex Business Challenges and Increasing Customer Expectations
Whether it's optimizing a global supply chain or delivering value to a consumer app, business challenges are complex. They bring together diverse teams, sometimes with competing priorities, and demand collaboration. It requires a deep understanding of business requirements, budget constraints, and market realities.
The technical intricacies are even more complicated. How can you build services that are secure, scalable, and repeatable? And how do you deliver these applications to a world of ever-evolving devices and operating systems? You'll need specialists on-site, running and maintaining any solution you envision. Even with the experts, you're looking at a long, expensive process. And you'll need to repeat the exercise every time technical or strategic requirements change.
The Solution: Enter the Citizen Developer Movement
There is another way. What if you could equip the best minds on your team, regardless of their coding experience or field of knowledge, with the tools that allow them to build software? They already understand your business and customers better than any developer could. And they're already collaborating with the necessary teams and talent across the organization. Rather than trying to turn developers into business experts, what if you could turn your business experts into developers?
That's the promise of the citizen developer. This is made possible with specialized software development tools that are easy to use and understand.
Not Quite DIY
If you think this all sounds somewhat risky, that's understandable. With other complex systems in our lives, for instance, home electricity and automotive transmissions—the prospect of non-experts succeeding seems a little crazy. But before you decide it's not the path for you, let's look at some of the high-level benefits.
Why: The Citizen Development Benefits
Given the easy access to software expertise, why would a business use citizen developers? We'll look at some of the challenges later, but now let's review some of the benefits.
- Cost Reduction – Software is expensive. Using citizen developers doesn't eliminate all of the costs. You'll still need to budget for tools and support. But what you don't pay for is spinning up and maintaining a whole new team of coders, engineers, and QA specialists built from your current team.
- Speed to Market – You already know that, on any project, hand-offs and delays are inevitable. The traditional business software development processes depend on complex teams working closely together to stay on schedule. As the project team grows larger, speed inevitably decreases. Relying on citizen developers means fewer externalities and ideally faster delivery time.
- More Meaningful Innovation – A better understanding of an issue ultimately yields a better solution. Business experts have a better grasp of the nuances of customer expectations, process constraints, and the downstream impact of change. Even the most informed software developers can't duplicate this perspective.
- Boost Company IP – Bringing new ideas to market offers multilayered risk and reward, especially where IP is involved. Bringing software to market by yourself ensures that you retain ownership of more of the solution. This not only strengthens your brand, but it may also open up future opportunities to repurpose your solution for other purposes or verticals.
- Managing Shadow IT – In the pre-cloud era, IT could be relied on to have a 100% accurate and complete view of your technology investments. Today, this isn't always the case as services (especially in the cloud) become easier to purchase and consume. Rather than waiting for lines of businesses to create their own software paths, a citizen developer can at least ensure there's global visibility into efforts.
This not only reduces risk, but it also increases the chances of success. What if several teams are solving a similar problem? Rather than getting multiple half-solutions, you can collaborate towards a more global approach to unlocking answers.
Read Also: What Is Shadow IT and What Is It Costing You?
How: The Ideal Team and Citizen Developer Framework
Citizen development doesn't do away with software development. It merely moves its upstream closer to the actual problem-solving.
That's why it's important to understand some of the tools that empower "citizens" to become developers. We'll look at some of those in a bit. For now, we need to understand what makes particular team members well-suited to become a citizen developer.
Citizens succeed when you give the right people the right tools. The ideal candidate has both deep domain expertise and a design mind. They're experts in the core competencies that make your business run. They know your customers, the industry, and the forces that impact both. They can look forward, peering around corners to understand what might be coming next. They also understand how the processes and personalities work behind the scenes. In short, they know the business.
But domain expertise is only part of it. The ideal citizen developer needs to hold critical parallel skills. While these are sometimes considered soft skills, they're absolutely critical to creating solutions that matter.
They not only need to be experts in your business but also in:
- Communication – This is an essential skill for all your teams. But citizen developers take on extra responsibility—ensuring they understand the requirements for a particular solution. They must also be able to talk plainly about the constraints and trade-offs involved. We'll learn more about the process later. However, communication is essential from start to finish.
- Collaboration – Beyond just communicating, the best citizen developers are collaborators. They'll be tasked with working consistently with many teams across the process. They need to be able to share ideas, take feedback, and quickly iterate. They must be confident enough to lead, but humble enough to listen. Without a collaborative spirit, turning regular experts into developers gets a lot harder.
- Problem-Solving – This is another tenet to a successful business that translates to stronger development skills. The ability to look for root causes and predict secondary effects is a large part of solutions building. Looking at long-standing constraints and being able to ask, "What if?" is the first step to solving problems through software.
- Design Thinking – Design thinking has become a hot topic as of late. At its core, it combines problem-solving and user understanding. The goal of design thinking is to create adaptive, imaginative solutions that are focused on, and built around, the user. It seems simple enough, but that orientation is fundamental. If the perspective is lost, you'll still eventually get software, but it won't be effective.
Related: 5 Reasons to Make Your Entire Team Citizen Developers
How: The Tools
While each citizen developer must hold a particular set of skills and strengths, the other half of the solution comes through technology. These applications and suites have essentially taken the actual coding out of software development, instead leaving you with big pieces of completed software that can be combined into customized solutions. A couple of different kinds of platforms exist:
- Low/no-code platforms are the easiest to use right off the shelf. They rely on object-oriented libraries to enable citizen developers to put pieces together quickly.
- IDE (integrated development environments) are somewhere between no-code and full development. They offer integration of software build and automation tools.
- Distinctive environments/sandboxes are 'safe places' for people to learn to code. They allow developers to create software and test in a controlled, risk-free environment. However, they still require considerable coding.
Think of your email inbox. You can set rules, alerts, and filters. You can, for example, ask that messages from one user automatically be forwarded to another before ending up in a specific folder. You can accomplish all this without learning how to program a single line. Code-free application suites give citizen developers the same kind of big-picture solution build capabilities.
There is an abundance of web design tools that work on the same principles. You work through a WYSIWYG (what you see is what you get) interface, choosing and arranging design elements to fit your vision. You can either add specialized functions as required, all without writing any code.
This means:
- Software is accessed at the element or object level. You don't need to know how to code a user-login, you simply snap one into the workflow.
- Architecture and services are already in place, which means no time is lost to infrastructure design or microservices integration. This helps you avoid substantial, complicated development detours, especially around security. Everything is built to be state of the art.
- Libraries are always evolving and being updated, which means you always have access to more choices, and errors that do occur are quickly found and fixed. And the applications you build, especially on the web, are automatically optimized for new devices, browsers, and operating systems.
- Application and infrastructure decisions can be made separately. Most code-free app building tools are designed for maximum portability, meaning they'll work with your preferred cloud provider with no further tooling required. And, if you want to switch providers down the road, you don't need extensive re-engineering.
Ultimately, it means that your citizen developers can do the bulk of the work, understanding needs, constructing a solution, and validating it with users. You'll still need some help from traditional developers, but the scope of that engagement is significantly reduced. We'll look at the process next.
Recommended: 5 Low-Code Influencers To Follow
How: The Process
Citizen development layers traditional software development with a little extra assistance. Coaching throughout the course can help developers examine more advanced technology possibilities, as well as flagging areas of possible risk or concern. This is where most of the hours should be spent.
Working together with stakeholders who represent the business, customers, and IT, citizen developers should adhere to the traditional software development lifecycle (SDLC) to make sure that efforts stay on track.
- Requirements Gathering – It all starts with asking, "What problem are we trying to solve, and for who?" The most crucial question to be asked, the answer must guide every decision made going forward. Beyond that, business constraints must also be carefully documented to reduce the number of surprises.
- Software Design – Once you've decided and narrowed down what you'll be solving, the real fun begins. What does the path look like between user, application, and business? Where will the gathered information go? Where does the required data originate? Who owns each piece of the process? This is a collaborative exercise, best accomplished through iterative whiteboarding and brainstorming.
- Building – This is where the tools come into play. With the process or workflow carefully documented, it's time to start putting elements together. This part of the process is where you'll search libraries for the right function, getting assistance when you run into new unknowns. By quickly moving to a prototype (as is the Agile best practice), team members can start to iterate on a real piece of software. This enables faster, more meaningful feedback.
- Validating – As with gathering requirements, validating your software has both a business and user component. Luckily, no-code platforms are designing for easy "plug and play," which should eliminate technical errors. It doesn't mean you won't need integration help (validating users), but the testing should be much more straightforward.
User testing is another matter. Citizen developers can't be citizen software testers. But you can enlist other team members, and real customers, to help you explore your beta. Once you're satisfied that you've sufficiently delivered on the answer from step one, now you are ready to move to implementation and scaling.
The How Not To: The Challenges
While citizen developers are an excellent way to capitalize on the brainpower of your teams, there are possible downsides. You're combining the complexity of software development with the need to balance lots of other priorities.
- Keeping talent focused while still letting them do the rest of their job. Your best experts are precisely that because they're adding value to your business. You have to find ways to help keep citizen developers focused on both workloads.
- It's also important that you keep a core team intact across the process. Bringing new citizen developers onboard mid-project is less than desirable. You'll lose the collective expertise gained to date, and you'll inject new risks and delays into the timeline.
The How: Finding a Good Test Case
Particular projects lend themselves to citizen developers. This means choosing the right project is as critical as pairing the right talent and technology. Get some expert advice to help you assess your options, but here are some starting points:
- Start simple – Complexity is your enemy. Simple processes, straightforward tasks, and a low number of unknown unknowns are best.
- Work on a workflow – Simply digitizing an existing workflow is also a great place to start. Take a process that is done manually, or in some cases across several tools, and unify it into a single workflow. This is why citizen development is so powerful. It leverages your in-depth knowledge of how your business works.
- Avoid infrastructure – You'll need help integrating your application with outside services. Relying on specialists here is a good idea, especially around security. So, reducing the number of this integration is a big step towards successful citizen development.
What Now? Starting Your Citizen Developer Strategy
If you're interested in deploying citizen developers, the best time to start is now.
- Assess Your Talent – You've learned a little bit about what makes an ideal citizen developer? Do you have people like that in your organization that matches up?
- Find a Project – We discussed the ideal projects for citizen development. Do you have similar problems to solve? How are they currently prioritized?
- Choose a Partner – Even the best citizen developers working on the ideal project may run into obstacles to success. You'll need some real technical expertise on your side. They need to know both traditional software development and how it can be extended to new models.
Let Kintone Help
At Kintone, we're committed to helping you make the most of your time and talent. This includes helping you transform trusted business experts into tried and true developers. It's not easy, but it can be done. It starts with gaining the confidence to take the first step. We'll be with you for the rest of the way.
About the Author