One of the predictions Oracle has for the coming year is a doubling in the number of applications being released by businesses.
The "why" for this change stems from the business side—with reasons such as increased competition, more dynamic business environment, and reduced customer loyalty level. The "how", however, is rooted in technical innovations that can be leverage by the IT department.
In this blog post I'm going to focus on a couple of trends that have matured into solutions that influence the application development landscape. These two trends are key to the sharp increase in the number of applications being delivered to businesses today.
Extreme DevOps Automation
DevOps has been around for a while, enabling the automation of the code-change to running app deployment process. However, new developments in technology and the availability and affordability of cloud-based environments are taking DevOps efficiency into new realms.
Cloud based infrastructure and software availability and affordability eliminates delays that were associated with hardware and software acquisition, setup, and maintenance. In addition, containerization technologies such as Docker created even simpler, faster and more scalable ways for establishing development & test environments.
Increased awareness to the importance of treating infrastructure-as-code resulted in mature APIs available for scripting and automating complete environment configuration and provisioning.
In the DevOps equation, these reductions in complexities in the "Ops" side result in increases in the resources available to focus on the "Dev" side. IT department can focus on the actual development process and see the results of the development steps deployed faster than ever before. With streamlined code/test/deploy cycles it becomes easier to churn out more applications and accelerate the turn-around time for addressing complex business needs.
When it becomes easier to create a runtime environment for a specific app, and when you can scale to support multiple environments on fewer resources, there is also a change in the type of apps being developed.
Rather than focusing on big monolithic applications that required a complex environment setup, IT teams are moving to focus on smaller compartmentalized applications.
These applications can be churn out more quickly, deployed to simpler environments and reused by other apps through standardized interfaces.
Low-Code Development Platforms
Professional developers will always be in short supply and high demand, which results in a backlog of business applications that are waiting to be implemented. While some of the apps are going to be complex in nature, many of the applications needed for the day-to-day flow of business might not be that complex. In addition those simpler applications might not be as strategic to the organization, but are still going to have an impact on its efficiency. For examples, many paper based forms, and manual process flows can be easily converted to simple workflow based systems and be accessible from both web and mobile clients.
Another example might be a short survey that the business wants to conduct among customers, instead of relying on sending letters back and forth, it becomes increasingly easier to create a "one-off" small web app to collect the feedback. An app that the business can dispose off once the needed data is collected.
The rise of low-code cloud-based development platforms offers some level of relief from the IT backlog traffic jam, by opening the ability to create applications to a wider audience.
New low-code platforms provide innovative UI first visual development experience that abstract the application creator from the underlying technology. They further more minimize and sometime eliminate manual coding replacing it with visual logic flow definition.
The cloud nature of these new tools provides easy immediate access to them for any part of the organization. Going beyond just functioning as a development tool, these platforms function as complete hosting platform for the apps and their data.
The focus of these platforms is on enabling the creation of applications by non-professional developers, targeting business analysts and other citizen-developer type of users that in many cases sit outside of the core IT department. That being said many professional developers also leverage these platforms to quickly create prototypes, mockups, and even production applications.
In addition we see a wider acceptance of the "MVP" approach to app development – the idea of developing a "Minimal Viable Product" quickly rather than delaying delivery until a full-blown solution is implemented.
Settling for MVP apps enables the users to have answers to business needs much faster, even if not all the little details are implemented. As long as the app meets the basic requirements, the business gains efficiency.
The finer details and finishing touches to the application as well as more complex capabilities can be added at a later stage by professional developers, who can pick up and extend the low-code platform apps.
The fact that modern low-code platform moved away from proprietary technology usage into leveraging standard technologies—makes it even easier to find developers that can extend the platforms. In many cases creating an ecosystem of reusable components and applications that business users can build from.
Get Ready for the Wave
As you can see innovations in cloud based solution that target both the infrastructure of apps creation as well as the development process itself can have a huge impact on the frequency and number of apps being released. At Oracle we are leveraging these technologies in-house already, and now they are also available for our customers as cloud services.