September 15, 2019

 

“Software is eating the world.” That was the bold proclamation renowned innovator and venture capitalist Marc Andreessen expressed in an article he wrote for the Wall Street Journal. More and more businesses are being run by software, he argued, or are differentiating themselves and disrupting their competitors and industries using the same. Today, that article is regarded as one of the seminal works in shaping how people think about digital transformation—or using digital technologies to bring about great change in the way individuals and organizations think, operate, communicate or collaborate.

Often, at the heart of many digital transformation efforts is the desire to enable the organization to be more agile or responsive to change. This requires looking for ways to dramatically reduce the time needed to develop and deploy software, and simplify and optimize the processes around the maintenance of software so it can be deployed quickly and with greater efficiency.

Another key outcome that is part of many digital transformation efforts is enabling the organization to be more innovative -- finding ways to transform how the organization operates and realize dramatic improvements in efficiency or effectiveness; or creating new value by either delivering new products and services or creating new business models.

For organizations using conventional approaches to developing software, this can be a tall order. Developing new applications can take too long or require very specialized and expensive skills that are in short supply or hard to retain. Maintaining existing programs can be daunting as well, as they struggle with increasing complexity and the weight of mounting technical debt.

Enter “low-code” or “no-code” application development platforms. This emerging category of software provides organizations with an easier to understand -- often visual -- declarative style of software deployment, augmented by a simpler maintenance and deployment model.

Essentially these tools allow developers, or even non-developers, to build applications quickly, easily, and rapidly on an on-going basis. Unlike Rapid Application Development (RAD) tools of the past, they are often offered-as-a-service and accessed via the cloud, with ready integrations to various data sources and other applications (often via RESTful APIs) available out of the box. They also come with integrated tools for application lifecycle management, such as versioning, testing, and deployment.

With these new platforms, organizations can realize three things:

 

1. Faster time to value

The more intuitive nature of these platforms allows organizations to quickly get started and create functional prototypes without having to code from scratch. Pre-built and reusable templates of common application patterns are often provided, allowing developers to create new applications in hours or days, rather than weeks or months. When coupled with agile development approaches, these platforms allow developers to move though the process of ideating , prototyping, testing, releasing and refining more quickly than they would otherwise do with conventional application development approaches.

2. Greater efficiency at scale

Low-code/no-code application development platforms allow developers to focus on building the unique or differentiating functionality of their applications and not worry about basic underlying services/functionality such as authentication, user management, data retrieval and manipulation, integration, reporting, device-specific optimization, and others.

These platforms also provide tools for developers to easily manage the user interface, data model, business rules and definitions, making on-going management easy and straightforward. So easy in fact that even less experienced developers can do it themselves, lessening the need for costly or hard-to-find expert developers. These tools also insulate the need for the developer and operations folks to keep updating the frameworks, infrastructure and other underlying technology behind the application, as the platform provider manages these themselves.

3. Innovative Thinking

Software development is a highly creative and iterative process. Using low-code or no-code development platforms, in combination with user-centric approaches such as design thinking, organizations can rapidly bring an idea to pilot in order to get early user feedback or market validation without spending too much time and effort (so-called “Minimum Viable product” as coined by Eric Ries in his book “The Lean Startup”).

 

Not only that, because these platforms make it easy to get started, even non-professional developers or “citizen developers,” who more likely than not have a deeper or more intimate understanding of the business and end user or customer needs, can develop the MVP themselves. This allows the organization to translate ideas to action much faster and innovate on a wider scale.

While offering a lot of benefits, low-code/no-code application development platforms are certainly not a wholesale replacement to conventional application development methods (at least not yet). There are still situations where full control of the technology stack can benefit the organization—especially if it’s the anchor or foundation of the business, the source of differentiation, or source of competitive advantage. However, in most cases organizations will benefit from having these types of platforms as part of their toolbox, especially as they embark on any digital transformation journey.