Tuesday, October 11, 2016

Rapid Mobile Application Development and the rise of the Citizen Developer

As I work for a busy IT Services company we see projects after projects being done at our clients, and the users and IT department expected to provide applications, functionality and APIs to support an ever-more rapid business change.

At the moment we are seeing a strong drive towards

API Management,  RMAD , and Citizen Developers,

I will touch on the first two in the following posts but for now I want to talk about Citizen Developers

Citizen developers refers to users ( Not IT staff )  who creates applications.   This means that of and by their very nature they are not your average developer or IT administrator - and so they will have a very different outlook on what they are trying to do.  We have all seen the people who do all their work through Excel or home-grown Microsoft Access databases - these people are trying to solve a real business problem.  

Citizen developer attempts to mitigate some of this issue  by giving the users the right tools to do their job  

Gartner defines it as "citizen developer is a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT."

On first examination this looks a little like "Excel for everyone" or, worse "Everybody needs to learn Python"  - not, of course, to disparage either of those fine products. 

The key difference here is providing a scalable, proper, infrastructure, and a system of tools that the Citizen Developers can actually use and be productive with. 

This will normally be some type of API Manager/API Repository exposing structured JSON-based REST Services  ( e.g. AWS API Gateway,  Mashery, Apigee ) 

So they would be the services the Citizen developers would use.  But in order for the Citizen Developers to produce we must consider what they will develop in. 

What goals are we looking to fulfil

Well -
  • they need to be rapidly productive, 
  • They should NOT learn to code - remember they are not  IT folk 
  • Probably need to deal with channels beyond the traditional ( Mobile, Social ) 
  • they will likely be eager to deliver the process they own as an application or service 
This then tends to drive towards a rapid application development model using simple components that can be enhanced, as needed. 

What are the benefits : 
  • Functionality is delivered faster , exactly as the end user wants and can  be  easily refined
  • IT know that end users are delivering services from a curated, managed set of APIs ( no holes in the  wall ) 
  • Projects happen faster as the users develop and test themselves

In the next blog we will be discussing these toolsets, and mentioning a particular class , RMAD or Rapid Mobile Application Development, and showing some examples. 

Until then


No comments: