Summary: Application development has long been a problem facing both the IT department and the business units. The IT department gets overwhelmed with new application requests. They can’t possibly complete every project when the business wants it done. Meanwhile, the business users get tired of waiting, and start bypassing the IT department altogether. Today, we explore the concept of “low-code development”, and explain how it helps address this problem.
It’s a common source of problems in many businesses. Development lags far behind demand. Users wait weeks or months for new solutions.
Why does this happen?
In a typical organization, the development process looks like a funnel. At the top of the funnel you have business users. At the bottom of the funnel you have developers. All of the requests from the business users flow down the funnel to the developers…and get stuck.
Don’t get me wrong, I’m not blaming developers. They have more on their plate than they can handle, and it’s only getting worse. The demand for web and mobile business applications is rising. The skills needed to create modern web apps is growing. It’s quickly becoming more and more difficult to keep up with development requests.
What’s the solution?
These challenges are driving the push towards “Low-Code” Development Platforms. Today, I’d like to explore this growing trend, and cover the basics for those unfamiliar with the concept.
What is it?The “Low-Code Development” term was coined by Forrester Research back in 2014 to describe a growing class of software tools. These tools allow for the creation of business applications through graphical user interfaces instead of traditional programming.
Of course, this concept isn’t new. You can trace its roots back to the RAD and 4GL tools of the 1990s. RAD and 4GL tools helped developers create applications faster, though they often required the use of proprietary languages.
The big difference between these older tools and the newer ones: Low-code platforms bring development capabilities to everyone–even non-technical users. They also don’t require proprietary coding languages. It’s all point-and-click.
While the term “Low-Code” implies some level of coding, these platforms can create many application types without any coding at all. They’re given the term “low-code” because some of the more complex projects may require a minimal amount of custom coding.
Why is it growing?Forrester estimates that the total market for low-code development platforms will grow to $15.5 billion by 2020. How does a relatively new class of software grow so fast?
Much of it boils down to supply and demand, which I explained above. In the digital age, businesses need a greater number of applications than ever before. They need applications that work across all platforms. To top it all off, development speed is increasingly important as businesses try to improve agility.
The problem is, most businesses can’t meet this growing demand with their current developers. They’re faced with three options:
- Create applications slowly
- Hire more developers
- Adopt a low-code platform
It’s no surprise that businesses are opting for the third option, as it takes the pressure off of their current developers and lets anyone in the organization create web apps.
“Business should care about low-code simply due to the business agility required in a fast shifting tech landscape where we do not have time to hire, train and retain developers to help manage emerging processes within the environment,” says Max Aulakh, CEO of Ignyte Assurance Platform. “A zero-development platform offers flexibility, speed and reduction in cost when new workflows and processes need to be automated.”
How does low-code help you?
Why should your business care about low-code development? What advantages does it provide? Here are a few:
Efficiency: Low-code development helps your business improve productivity using your current resources. The IT department isn’t stuck with a backlog of development requests. The end users aren’t stuck waiting weeks for new applications.
Business Improvement: Because IT isn’t stuck with a backlog of development requests, they’re free to handle mission-critical tasks. This opens the door to technological improvements, as IT can finally focus on areas that can push the business forward.
Control: Because the development tools are sanctioned by IT, they can still control data and user access. This avoids the issues created by Shadow IT.
Lower costs: With the use of low-code platforms, you can accomplish more with your current resources.There’s no need to bring in a team of developers or hire outside help to meet the growing demand.
“This approach drastically cuts down on development time, and usually cuts down on the cost as well,” says Jerry Nihen, CEO of Jay Nine, Inc. “Businesses with lower budgets, tight deadlines, and without the need for a ton of customization can benefit from low-code development.”
Who uses low-code tools?The short answer: Anyone in your company.
The long answer: Different people will use the tool differently, depending on their skills and role. For instance, here are a few ways that different roles/skills would use a low-code platform:
Business Analysts: Low-code platforms help Business Analysts quickly create applications for users and mock-up complex applications for the IT department.
Developers: A low-code platform helps developers deliver applications faster, and eliminate their development backlog.
End users: Low-code platforms help end users create reports, dashboards, and simple applications in minutes, without going through the IT department.
IT Leaders: Low-code platforms help IT leaders deliver secure data access to the business, extend the life of their current systems, and improve IT productivity.
The list could go on, but I’m sure you get the point. Low-code platforms can (and should) be used across your entire organization.
What types of applications can you create?
Low-code platforms can create any type of enterprise application, from basic data lookups to mobile apps to custom CRM systems and everything in between.
Now, does that mean non-technical users with low-code tools can develop any type of application? Not necessarily.
For instance, would you want a non-technical user building a mission-critical system? Probably not. That’s not to say that the right person couldn’t accomplish a task like this, but business users typically use low-code tools for simple dev projects like reporting, converting spreadsheets to web applications, workflow applications, etc… While I have seen non-developers create some pretty complex systems with low-code tools, most stick to these types of projects.
For developers, low-code tools are great for improving development speed of any project. They help developers automate much of the dev process, leaving only a minimal amount (if any) custom coding for each project.
“In our case, we started using a low-code platform to track and automate business aspects such as order fulfillment and customer on-boarding,” says Till Freier, CEO of COMBASE USA. “The low-code environment allowed us to develop these in-house applications to 90% without developers. This is a real improvement since development resources are always more in demand and more expensive.”
What should you watch out for?
Of course, low-code development is not without risks. That being said, these risks are easily managed with the right tools and strategy. Here are a few areas to watch out for when using a low-code approach:
Application security: Low-code development platforms typically come with security features baked in. However, end users may not always know how to use these security measures within their applications.
How can you avoid these issues? First, involve the IT department in the application review process. Now, I’m not saying that every single application needs close scrutiny from IT. For instance, simple reports or data lookup applications are generally fine. However, if the users are creating applications with write-back capabilities, mission-critical applications, or applications available outside of the office, IT review is necessary.
Second, closely examine the security options before licensing any development tool. The IT department should have control over data and user access, and set security defaults for all applications generated by users.
User privileges: A novice user with broad privileges is the biggest risk to your development efforts. Make sure that you give each user only the capabilities they need, and nothing more. For instance, a user who needs the tool for simple reporting tasks shouldn’t have the ability to create database management applications.
Data: Your data lies at the foundation of any successful development efforts. Besides the obvious need for data integrity, there are two other important factors to address:
- Access: Users should only have access to the data they need. Again, this is another step towards limiting the risk of your development efforts.
- Knowledge: Users should understand their data, and table structure. If the users don’t understand how their data is organized within the database, they cannot successfully build applications.
What do you look for in a low-code platform?
Like anything else, not all low-code platforms are created equally. Here are a few areas to look for when evaluating different options:
Licensing: You can license some tools on a per-user basis. Others are licensed on a per-database basis, and allow unlimited users. It all boils down to whether or not you plan to use the tool across your business, or if it’s just used by a handful of people.
Generated applications: Some tools create applications that work anywhere. Others lock you down. Here are a few important questions to ask: What happens if you ever decide to stop using the software? Will the generated applications function outside of the platform? Or, do they require an active license to run?
Distribution fees: How much freedom do you have with the applications that you create? Some vendors charge a fee if you want to distribute, white-label, or sell the applications you create. Others have no restrictions. Understand the vendor’s fee structure before getting into anything.
Customization: How much can you customize the applications you create? Can you access the underlying code, or are you forced to go through the platform’s interface? Can you add custom calculations, code, or business logic within the interface? The answers to these questions will vary by the tool, and can make or break the software’s success within your business.
Architecture: Are the generated applications built on proprietary architecture, or on open-source frameworks? This is an important question, as it plays a large role in determining how easily you can integrate your applications with other software and services.
Graphing/charting: Does the tool include reporting/graphing capabilities? Some platforms can handle application development and BI/reporting/dashboard applications. Others are strictly used for application development. If BI/reporting is a need for your business, understand the tools capabilities in these areas.
These are just the basics of low-code development platforms, but there’s plenty more to cover on the topic. Do you have any questions about low-code? Feel free to comment below!