Mobile App Development: How to Empower Citizen Developers

Gartner defines a Citizen Developer as “a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT”.

Citizen Developers are the adhesion between business users and IT. They are not developers by profession, but they are tech-savvy and use technology on an everyday basis.

As technology empowers them to be more involved in building business apps, the demand for efficient citizen developers is growing. In fact, according to Gartner, 25% of business applications will be built by citizen developers this year; a number that will grow exponentially over the next few years.

What Do Citizen Developers Do?

Citizen Developers are generally considered demanding in terms of their expectations of the development community. They have enough technical knowledge to understand what needs to be done but are, perhaps, not technically equipped to write code efficiently and quickly.

They want apps built quickly, to satisfy demands from business users, and they may be impatient waiting in queue for developers to complete current projects so they can devote time to the new app build.

This isn’t an enviable situation to be in. Fortunately, recent advances in technology, and the resulting maturity in app development, have changed the game for Citizen Devs.

The Limits of Traditional App Development Model

In the traditional development model, creating new software is notoriously tedious. Once approvals are complete, a high-level spec is handed over to the development team.

At this point the development team can either:

  • Take time to design the logic to define the software solution before writing code.
  • Start writing code from the software spec without formally defining the design.

Both approaches have advantages and disadvantages. Spending too much time on analysis and design could mean affecting profits and possibly even canceling the project altogether. Conversely, writing code without giving a considered approach to design may mean lower quality, no scalability, and limited flexibility for future versions of the software. It could also lead to inconsistencies in the software code resulting in more bugs, more rework and, subsequently, more effort in maintenance.

In both cases, there is little or no communication with the user community. Even with the use of mock-up screens, the end-users do not see the results until the later stages when development is almost complete.

The problem is even more acute when deploying mobile apps, because the user community expects a quick response to mobile app requests. There is an expectation that mobile apps should work right the very first time. There is very little patience when it comes to end-user acceptance of mobile applications, and users expect rapid app refreshes and iterations to stay current with their business needs.

As a result, neither of these are efficient approaches for mobile app development, especially for enterprises.

The Model-driven Software Development Model

An alternative to the traditional development model is the model-driven approach, which combines the best of both approaches. It offers developers the capability to define and design a solution quickly without extended design phases. Real-time, 2-way communication with the user-community makes iterations and solution-targeting more expedient. And with a model-driven platform, you can generate code directly from the software design without the need for a development team to explicitly write code.

A model-driven platform can be used for design as well as development. It supports the generation of code and facilitates 360-degree synchronization between the software design and the software code; giving all stakeholders an accurate and up-to date representation of the software solution.

Software solutions rarely remain static, and are always subject to change. Synchronizing app design (logical flows, diagrams, mock-up screens, etc) with the actual software code is a laborious and time-consuming task.

A platform that generates code from models, ensures that code, design, and visualization is always in sync. In addition, the code generated is always high-quality and consistent, unlike the traditional approach where the quality of code is dependent of the quality of the programmer.

The Benefits of a Model-Driven Platform

A model-driven approach exponentially increases the productivity of the developer, since the code is generated by the platform rather than by hand. It allows developers to spend more time in the software definition and design phases. It also empowers citizen developers, who better understand the business requirements, to model solutions and rely on the platform to generate the code.

For enterprise mobile apps, a model-driven platform enables the fastest time-to-value since no code has to be written by hand. It provides the ability to deploy mobile apps faster than ever, giving user-communities visibility into end-results very early in the app development cycle. Utilizing a model-driven platform also ensures consistent code quality, scalability, and flexibility.

With mobile technologies rapidly changing, and the scarcity of qualified mobile developers, organizations that leverage a model-driven platform are able to focus on solutions rather than worrying about technology, or having to re-write code every time technology changes.

A Model-Driven Platform-as-a-Service

appsFreedom is a revolutionary platform that enables Citizen Developers to build mobile and web enterprise apps, fully integrated to their enterprise’s core applications within a few hours.

Complex, sophisticated apps like Workflow, Inventory Management, CRM, and custom apps can be built without writing a single line of code. All code is generated by the appsFreedom platform based on the business process flow and visual design.

Thanks to the model-driven architecture of appsFreedom’s platform, Citizen developers can design and build a new generation of complex, fully integrated enterprise mobile apps. It enables business users to get their apps faster, and reduces the backlog of IT projects for developers.

AppsFreedom is not the perfect fit for everyone. Our clients come to us when they need to increases the productivity of the IT department and build integrated enterprise apps quickly.

We recommend taking a test drive of the appsFreedom platform today to see how it will work for your company.