What's the most popular database in use today? Rather than MySQL or MongoDB, it's probably an Excel spreadsheet sent around by email. That shouldn't be surprising. Off-the-shelf products for particular business needs aren't always available, and internal IT departments often lack the resources to build custom applications.
The result: Business users often solve real-world problems with cumbersome and error-prone workarounds, cobbled together from available office productivity tools. Sometimes, they even resort to home-grown tools or, worse still, third-party cloud applications that aren't authorized by their IT departments — a practice known as shadow IT.
The proliferation of workarounds, home-grown tools, and shadow IT leads to security risks, fragmented resources, and the lack of a proper audit trail for data. These improvised tools can also become black holes for productivity and add to an organization's technical debt, creating more problems than they solve.
Low-code development offers a much-needed practical solution. With low-code app development, end-users are now able to develop their own applications using easily-understood visual tools without programming lines of code. Forrester describes it as a platform enabling "rapid delivery of business applications with a minimum of hand-coding and minimal upfront investment in setup, training, and deployment."
One major misconception about Low Code development, however, is that it is purely an approach for business users to build apps. The recent trend shows that traditional developers within IT departments use low code as an accelerated approach to building apps - collaborating with the business users.
The speed of delivery is a key benefit with low code. According to the Top Trends in Low Code Development report from Salesforce Research, conducted in February 2017, 75% of IT organizations say that low-code development tools will free up IT to work on complex tasks and that it will increase innovation across the organization.
As this article from ZDNet points out, companies such as Uber and ING are already capitalizing on low-code development to both offer and consume complex, powerful services as APIs that can be implemented quickly by low-code development teams.
Years ago, vendors tried to make programming by business end users easier with rapid application development (RAD) tools. When RAD first became popular, underlying software architectures were complex and fragmented. There wasn't an easy way to package code as application components.
Enterprise applications were monolithic, and couldn't be easily broken into constituent parts. This made code reuse difficult or impossible, even for hand-coded applications. Employees trying to develop software using visual tools frequently had to reinvent the wheel.
But all that wheel-spinning was not for naught. Building on decades of computer science and industry collaboration, low-code development tools are now enabling organizations to create reusable software components that represent business services. Non-technical users can assemble these into their own enterprise applications to fulfill a variety of business goals. According to the Low Code Snapshot Survey, 82% of IT organizations say that they are willing and ready to try low code in their organizations.
The power of low-code app development comes from the services that sit in a cloud environment known as application platform as a service (PaaS). As recognized by both Gartner and Forrester, Salesforce platform, the App Cloud, is a leading high productivity low code application platform as a service. Salesforce platform focuses on application development using a meta-data driven approach and high-value business components. It includes easy-to-use development environment to combine these components as publishable applications and deploy directly to the users’ devices without going through an App Store provisioning process..
The component-driven approach here, however, is key. Everything is based on how easily the components are built, managed, and maintained, and how well they can inter-operate. Typically, with the low code development approach, the IT department can customize, if needed, the standard components that the aPaaS provides or build new ones from scratch that underpin enterprise applications. Once the components are available, the non-technical employees can then assemble them in different ways and configure and publish apps.
Low code app development brings several benefits, particularly around IT-business alignment . Business users understand their workflow best. They know what makes them productive. Normally, IT departments would need a time-consuming and sometimes inaccurate requirement gathering process to understand what business wants. But empowering users to develop the applications themselves, or sitting together with the users to visually build the apps, closes the loop, enabling IT to meet the business requirements intuitively and collaboratively.
This also speeds up development cycles and frees IT teams to tackle more strategic goals. Instead of constantly responding to new update requests and fixing bugs, IT can focus on activities that cement its place as a strategic partner for the entire business driving digital transformation. Imagine an entire team’s shift from working on 200 bug fixes and feature requests for that SQL repository of customer contracts to working on a smart mobile app that delivers the right contextual experiences to customers - resulting in increased customer engagement and satisfaction scores. One way IT can free up more time is - by creating an ecosystem of building blocks - components that can be re-used across apps to solve common business problems, instead of building every app from scratch. These can handle broad, generic functions such as collaboration and content management, but can also cover more domain-specific services.
For example, a call center monitoring component to report on employee performance might be made applicable for field engineers, making it usable in many scenarios. A component that displays an automobile image and lets customers mark areas of damage might also be used to display images of internal IT inventory (server stacks, security cameras, and so on) and mark areas that need to be serviced.
Developing a strategy for component architectures becomes part of the IT department's role in a low-code environment.
While this all sounds great, the question looming in every IT person’s head reading this is how do you manage the ‘empowered business users’? It sure does sound like a glorified form of shadow IT, doesn’t it? Well, no.
First of all, low code development can help eliminate shadow IT, rather than create it. When users resort to unauthorized third-party cloud solutions or improvise with spreadsheets, they operate outside the IT team's vision, which makes it difficult to identify emerging security or data integration issues. Unifying employee-led application development in a single environment controlled by the IT department makes it possible for the IT department to see and control what employees are developing and how they are deploying it. If a user creates a reporting application that inappropriately ties up corporate resources, the IT department can see it — and help fix it.
Second, in low code, it is easier for IT to have visibility and hold the keys to governance and application lifecycle management processes.
Low code platforms come with configurable security settings, intuitive application lifecycle management (ALM) tools, and usage analytics that IT can easily access with admin privileges. IT can build governance processes for different kinds of apps around access to sensitive data, application performance, security configurations, and scale. Every organization should map out its own set of criteria and appropriate levels for oversight.
Want to learn more about governing low code development? Join our webinar on Making IT Agile with Low Code or read our whitepaper on the 3 low code governance models you can apply in your organizations today.