Oracle APEX: Low Code, High Innovation
Low-code development tools are growing in popularity. Some are even hailing a low code revolution. Successful business and IT leaders alike recognize the tremendous value in unleashing the collective knowledge and creativity of their teams. Since low code platforms hold promise on both fronts, it’s no wonder we are seeing more and more adoption.
What are low code platforms?
A low code platform is an application development framework typically consisting of visual based, “drag and drop”-type development tools. These enable technically inclined non-programmers, (aka “citizen developers”), to build surprisingly functional business applications. Even better, it doesn’t require writing a lot of complex code.
Forrester describes low-code platforms as “platforms that enable rapid delivery of business applications with a minimum of hand-coding and minimal upfront investment in setup, training, and deployment.”
Two good examples are IFFTT and Zapier, which are used to automate workflows by connecting services using pre-defined recipes. They enable non-programmers to develop quite involved workflows for a wide variety of applications. These include everything from automating social media posts, to managing email to building notifications for when tickets go on sale.
In the enterprise space, Salesforce.com is a good example, as is Oracle Application Express (APEX). In fact, Oracle has recently announced a push towards low code tools, and has ramped up efforts to make it as easy as possible for organizations to get started with Oracle APEX. To see the low code features of Oracle APEX, see a demo by Mike Hichwa, VP of Software Development at Oracle.
Low Code Platforms – Why Now?
First, it’s worth noting that the adoption of low code tools is really just part of a larger trend we’ve been experiencing, which is the “democratization of IT”. Simply put, advancements in technology and user interface design now make powerful tools accessible to more and more people.
Aided and abetted by the democratization of IT, the primary reason for the low code revolution is rooted in the ever-increasing technology demands of modern businesses, combined with a general shortage of IT talent. In short, IT has become a major bottleneck in many organizations, and business leaders are scrambling for solutions. After all, today’s markets are not kind to those who move slowly with technology adoption – just ask Blockbuster.
This, of course, is not surprising. In this age of rapid digital transformation, every company is a technology company whether they want to be or not. New initiatives typically have a technology component, resulting in a steadily rising demand for software developers. And, as highlighted in a Forbes article entitled “Wal-Mart, Target and CVS Need Software Talent; Where Will it come From?”, not only are universities not churning out enough new grads, but the competition for software talent is becoming more fierce, especially from well funded Silicon Valley companies with highly sought-after workplaces. Oh, and did I mention the need to go fast?
How Low Code Platforms Help
The biggest benefit? Low code platforms increase the number people involved in delivering technical solutions. A recent article by Salesforce explains that “the ‘low-code revolution’ opens up an enormous opportunity to empower employees to get involved in the app-development process” and means that “the ability to build apps (and the responsibility for innovating) for a business becomes decentralized: anyone in any department can create software to solve a problem or address a need. Not only are problems being solved at the source, but coders are freed up to solve higher-order problems.”
Intuitively, the closer someone is to the problem domain and solution context, the easier it will be for them to see and understand the types of optimizations required to improve efficiencies, and the more invested they will be in finding solutions. With their unique perspective and access to low code platforms, technically savvy business users can start servicing their own needs. This reduces dependency on overworked and potentially unsympathetic IT departments who are several steps removed from the problem.
The Requirements Gathering Challenge
Speaking of requirements gathering, nailing down user requirements is one of the most challenging aspects of application development projects. It’s not easy or even always possible for users to specify everything they’ll need upfront. People don’t always know exactly what they want until they start to see something take shape and requirements can shift. Low code platforms can be a big help as they enable power users to iterate on solutions in an exploratory manner, and constantly refine until they have something suited to their needs.
Turbo Charging Professional Developers
Finally, it’s not just non-coders that can benefit from low code platforms – there are benefits for professional developers as well.
Firstly, pre-built packages and components can be assembled via “drag and drop” and configured with “point and click” interfaces. This way, low code platforms help reduce the time and complexity involved with building and deploying applications. Ever met a programmer who didn’t like a shortcut?
Secondly, low code platforms also enable back end developers to “move up the stack” and build actual end user applications. In the past, given the complexity of front-end application development platforms and the associated learning curves (see ADF and .Net), back end developers were effectively “locked out” of application development and were forced to defer to experienced front-end programmers. However, with low code platforms, that changes. Using Oracle APEX as an example again, back end database developers can leverage their existing SQL and PL/SQL skills and build robust and professional looking applications without having to dedicate hours and hours to learning front-end programming. So again, low code platforms can broaden the number of people who can deliver applications, and especially those with existing systems knowledge.
Sounds good. What’s the catch?
The criticisms of low code platforms include claims that they “over promise and under deliver”, and that they are useful for simple applications but nothing more. As a result, the argument is that citizen developers will quickly hit a ceiling or get in over their heads. Then, professionals will need to bail them out and rebuild everything from scratch.
Although it may be true that the low code platforms are not yet fully mature, (see Forrester’s study entitled “Vendor Landscape: The Fractured, Fertile Terrain of Low-Code Application Platforms”), it’s important to note they are steadily getting better all the time.
For example, consider how advances in word processors and desktop publishing tools completely disrupted the graphic design and publishing industries. With tools like Preszi, an amateur with an eye for design can create professional-looking presentations quickly and cost-effectively, which not too long ago would have been significant undertakings involving graphic design and/or video production agencies. Or, for those familiar with Oracle APEX, consider the difference between APEX 4.0 and 5.2. Now imagine where things will be in another 3 to 5 years.
Also, it’s important to note that what I’m discussing here are “low code” and not “no code” platforms. Citizen developers still need a high-level understanding of software systems. Ideally, they should have the ability to string together at least a few lines of code. The point is citizen developers don’t have to be professional programmers with years of software writing experience. People who might have built complex Excel and Word macros in the past should do well with low code platforms.
Risks of Shadow IT?
Low code platforms can make it easy for someone who “knows enough to be dangerous” to do something dangerous. Users do sometimes adopt tools not sanctioned or supported by the IT department.
However, much has also been written about the need to embrace shadow IT. While there certainly are risks, low code platforms often provide guardrails and can, in fact, encapsulate and enforce “best practices”. For example, Oracle APEX includes built-in features to help citizen developers make good design choices and be mindful of application security. APEX runs entirely in the database. Consequently, DBAs can monitor “citizen developed” applications.
Incidentally, this is also where you’ll hear critics bring up tools like Microsoft Access or FoxPro. They’ll want to relate amusing anecdotes about a monstrosity someone built that blew up and almost ended the world. However, there are just as many stories about how a citizen develope- built MS Access application has benefitted a business.
Clearly, the net gain from tools like MS Access and FoxPro has been very positive for businesses. I believe the same will prove to be true for low code platforms.
More see the benefit of Low-Code Platforms
The biggest risk with low code platforms is that overly cautious IT managers will ban them altogether. In doing so, they might well be throwing the proverbial baby out with the bath water. In banning such tools, they reduce their organization’s “solutions surface area”. Moreover, they’ll limit their ability to innovate and keep pace with more forward-thinking competitors.
The truth is, more and more organizations are seeing the benefit of low code platforms. They reduce complexity and improve delivery speed. They also act as a “force multiplier” by unlocking the creativity and ingenuity of a broader group of people. Not exploring the possibilities of low code platforms will prove to be a costly mistake.