Introduction – The Rise of the Citizen Developer
Rapid-application development (RAD) is a term used to describe any form of adaptive approach that speeds up the process of creating and deploying software applications.
In 2018, Gartner declared, ‘Everyones a developer.’ They defined the term citizen developer as – ‘a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT.’
The rise of citizen developers has come from a transfer of power from centralized IT teams to departmental leaders looking for ready-made fixes to forms capture, analysis, processing, task automation and reporting applications. Business units are increasingly controlling their own application development efforts and, as the result, business-led IT practices are on the rise; according to Gartner, something like 36% of the IT budget.
In its latest report on the subject of applications development, analyst firm Gartner suggests that, ‘By 2023, the number of active citizen developers at large enterprises will be at least four times the number of professional developers.’
Every citizen developer has ideas, but can they turn them into reality? Well perhaps they can today. Modern Rapid Application Development (RAD) platforms enable both IT professionals and citizen developers to create high-impact enterprise apps. In this article about software development we explore the various forms of modern rapid applications development concepts and why they appear to be taking hold.
About
The idea that smarter advanced programming languages and methods can speed up the task of developing software is nothing new. There has been a long-running quest to improve productivity by allowing business people to generate their own programs using rapid application development (RAD) tools. These applications serve to reduce the time, cost, technical complexity, and risk of software applications development by improving all aspects of the application development lifecycle.
The problem rapid applications development software and enterprise applications platforms resolve
Digital Transformation
Businesses are transforming their business models to embrace modern digital technologies such as blockchain, artificial intelligence, big data, 5G telecommunications, mobile computing, virtual reality, 3D printing, the Internet of Things, software robots and hardware drones. To achieve this transformation, they require software that fills the gap between their incumbent Systems of Record and the long-tail of demand for apps needed to orchestrate their business models. The introduction of new Development Operations (DevOps) functions within large corporations is creating demand for new tools that allow a faster pace of development with ‘fail-fast’ prototyping characteristics.
Customer Experience Management
Another transformative change in the boardroom is the realization that, in an always-on economy, customer centricity and experience (and brand reputation) has become the biggest competitive differentiator. To deliver an above and beyond experience, organizations need to listen harder to customers, analyze large volumes of data, translate actionable insights, and apply learning lessons through the creation and iteration of their software applications. This calls for more agile, adaptive software than exists today in most organizations.
These two drivers are driving demands for software automation and innovative applications across the globe for what Gartner now describes as the low-code enterprise application platforms (LCAP).
According to Gartner, “Business units increasingly control their own application development efforts, of which citizen development will play a crucial role in the future of apps. Application leaders need to help define, guide, and optimize citizen development to maximize mutual benefits for business and IT.”
Market size
A 2018 market report by ReportBuyer suggests that, ‘The low-code development platform market size is expected to grow from USD 4.32 billion in 2017 to USD 27.23 billion by 2022, at a Compound Annual Growth Rate (CAGR) of 44.49% during the forecast period.’
Functional capabilities to expect
Expect application platform capabilities to include:
– Tooling to develop, version-control, test, deploy, execute, administer, monitor and manage applications
– Support for the design of data schema and application logic
– Integration with third-party applications
– Automation of platform patching and versioning.
– Rapid application development provisioning, including:
– A low-code, no-code or codeless approach to development of UIs, databases, business logic and data definitions
– Support for development by non-coders
– Single-step deployment
– Providing support for enterprise-grade projects with:
– High availability and disaster recovery
– Secure access to application services
– Technical support to customers
– Third-party application access to application logic and/or data via APIs and/or event topics
– Scope to add third-party DLL, code, script, data visualizations, mapping engines, algorithms etc.
The business need for software development agility
According to PwC, the gap between business and IT is growing wider. When asked if business and IT share an understanding of the corporate strategy, only 54% of respondents agreed
PWC, 6th Annual Digital IQ survey of nearly 1,500 business and technology executives (2015).
The Evolution of Rapid Application Development
Fourth Generation Languages
First came Fourth Generation Languages (4GL) in the 1980s and 1990s, that adopted a more human, conversational approach to writing applications. Most floundered after a few years of success.
Enterprise Mashups
Then in the early 2000’s came a wave of ‘enterprise mashup’ solutions after Gartner coined the term and defined a new multi-billion dollar enterprise software market for applications able to serve the long-tail of demand for ‘situational applications’. Mashups died as quickly as they arrived. However, the idea has gained traction again more recently, third-time-round rebranded as ‘low-code’, or for the ambitious, ‘no-code’ programming.
Low Code Applications Platforms (LCAPs)
Low-code development tools are declarative – that is, they enable the visual modelling of the user interfaces, business logic, algorithms and data handling that make up a typical application, without the need to describe the controlling code. Most low-code solution providers will claim their tools support enterprise-class applications. One of the reasons low-code is expected to succeed where 4GL failed is that the average business person is more technically savvy than they were 20 to 30 years ago. Another is that the applications are often deployed to cloud platforms, giving central control of performance, availability, scalability, service levels and security.
According to its latest Magic Quadrant report on the Low-Code application platforms market, Gartner suggests that by 2024, three-quarters of large enterprises will be using at least four low-code development tools for both IT application development and citizen development initiatives, and will be responsible for more than 65% of application development activity.
Gartner 2019, Magic Quadrant Research
From Low-Code to No-Code, to Codeless
So far as Gartner is concerned, the focus of the rapid applications development market these days is Low-Code platforms. According to Gartner, Enterprise Low-Code-Applications-Platforms (LCAPs) enable organizations to develop applications faster using more capabilities and fewer conventional developers. Of course, we would disagree. Codeless software trumps Low-Code nd No-Code for the following reasons:
Strengths and weaknesses of Rapid Applications Development
Much of what’s written about RAD projects and tools is based on technologies that preceeded cloud computing and innovations found in Encanvas. Nevertheless, most IT pundits would identify the following strengths and weaknesses to RAD methods and tools:
Strengths
Faster time-to-value
In an era where time-to-market can be the difference between a software product hitting a wave of demand or entering late after competitors have taken the market, RAD means that the time taken to develop an applications shrinks from weeks and months to a matter of days, reducing time-to-market of new applications by as much as 60%
Better quality and fit
RAD tools make it easier to work with Users and Stakeholders. Sponsors are able to get more hands-on in developments, and the detail of what’s needed is better surfaced. The resulting software can be more usable and has a better chance to focus on business problems that are critical to end users rather than technical problems of interest to developers.
Better risk control
Stakeholders get to a prototype of workable solution faster. This reduces risk in projects when weeks of development can take place without any validation that a development project is headed in the right direction. RAD helps to focus in early on the key risk factors and adjust to them based on empirical evidence collected in the early part of the process.
Lower development costs
RAD method and tools demand smaller project teams, lower skills-sets, less development time, lower project overheads, less testing and tuning , simpler integration with third-party systems; reducing development costs by as much as 60%.
Weaknesses (and common misconceptions)
These are the most commonly described weaknesses and misconceptions about Rapid Application Development. It is:
For hobbyists, not professionals
This perspective comes largely from early experiences of 4GLs and the first generation of mashup tools, that no Low-Code or No-Code solutions can seriously deliver enterprise grade applications because they simply lack the broadness of features needed.
Not for the enterprise
Many CIOs and CTOs are cautious of the fit of RAD tools for enterprise applications. Enterprise IT has a high level of expectation on software to be secure, to scale, to be easy for IT teams to support – and in some ways, the direction of developmental focus towards citizen developers can cause conflict in IT teams.
Unable to scale
There is a perception that RAD platforms can’t scale, or at least, if it can it’s sometimes difficult to qualify the technical constraints that would threaten its ability to scale.
Unsafe for data
Making an application safe for data isn’t trivial in today’s high-risk environment. IT leaders require a great deal of convincing that the development platform itself, and the applications produced, are safe for data.
Always comes with a lock-in
Perhaps the biggest concern over the use of proprietary RAD platforms – that hide or remove direct access to code for developers – is that vendor offerings will be too restrictive, or limit innovation to the features offered by vendors. Few businesses want to risk their future innovation strategy on the strength of a third-party development team.
A new approach
For most IT shops RAD methods require experienced IT professionals to rethink the way they worked. Humans are virtually always averse to change and any project undertaken with new tools or methods will be more likely to fail the first time simply due to the requirement for the team to learn.
Less control
One of the advantages of RAD is that it provides a flexible adaptable process. The ideal is to be able to adapt quickly to both problems and opportunities. There is an inevitable trade-off between flexibility and control, more of one means less of the other. If a project (e.g. life-critical software) values control more than agility RAD is not appropriate.
Now read
Further reading:
Wikipedia page on Rapid Applications Development
Report into size of the Low-Code market by ReportBuyer (Jan 2018) predicting a 27.23bn market by 2022
Forbes article on No Code authoring
What is an enterprise mashup article by PCWorld
The pros and cons of citizen development article by Forbes
Citizen Developer article by devops.com