If you're developing an application for customers, but you only have a rough idea of what they want, then you face a Catch-22: You can't specify the application's requirements and develop it until you get feedback from customers, but they can't provide feedback until you've developed it.
How do you escape from this predicament? Many organizations have responded by using one of a growing breed of "low-code," rapid development platforms.
Clay Richardson, an analyst at Forrester Research, defines a low-code platform as one that enables fast application development and delivery with a minimum of hand coding. The platform should be easy to deploy and is likely to be used to develop customer-facing "systems of engagement." Familiar names such as Red Hat, Software AG and Salesforce.com offer low-code platforms, as well as lesser-known companies such as Alpha Software, Claysys Technologies, Mendix and Mobideo.
Low-code platforms certainly don't eliminate hand coding altogether. As well as minimizing hand coding, though, they speed up application delivery by providing visual tools for the quick definition and assembly of forms and the rapid build-out of multistage workflows, Richardson says. They also allow the easy configuration of data models that help eliminate common data integration headaches.
These platforms are useful for knocking together applications in a matter of days or weeks and getting them out for customers to try. Depending on how customers receive them, the applications can be abandoned as non-starters or developed in new iterations that incorporate user comments and suggestions. What emerges at the end of the process may be an application with functionality that's significantly different to what was originally included or envisaged, Richardson says.
"With this sort of customer-facing app, the pace of change is different to what you find with systems of record," he says. "Changes are needed on a daily or weekly basis. This requires less hand coding. Otherwise, this rate of change is simply not sustainable."
As an example, Richardson cites an insurance company that may be continually rolling out different products to generate new revenue streams. "It may well tweak the sign-up process every week to make the applications more effective," he says.
Low-code Platforms Works for Experienced, Novice Developers
The drive for adopting low-code platforms tends to come from the chief marketing officer or the marketing team, Richardson believes. Nevertheless, the people actually using the tools tend to be existing full-time developers, who might otherwise code in Java, .NET or C#, rather than so-called "citizen developers" in the marketing department.
However, there are low-code developers with a very different skill set to established developers as well. "These tend to be kids coming out of school with no programming background, but who can be trained in days to do this as a full-time job," Richardson says. "They certainly couldn't deliver anything in Java or C#, but they can deliver with these platforms -- and they can do so at speed."
Sign up for CIO Asia eNewsletters.