B2B Software Development Using Low-Code
When developing software for other businesses, there are three major concerns those businesses usually have: stability, security and scalability.
The best tool for rapid application development today is low-code. Because it allows you 3-5X more effective software development and accelerates innovation.
The history of software development is littered with different methodologies all targeting the same golden triangle: fast, high quality and inexpensive. While many center a great amount of focus on planning the best path forward from the start, Rapid Application Development takes a more unique approach by letting users help mold the final result instead of trying to get it right the first time (without their input). Today, we might also call it agile–and RAD is often considered the precursor to Agile.
In this article, we explain RAD in the context of low code and explain how 8base, as a low-code platform, supports RAD at all tiers of software development–UI, logic, and data.
When first investigating RAD, most references show diagrams of the methodology. They typically include the following steps as outlined by James Martin:
Rapid Application Development is a methodology for building software quickly by focusing less on planning and more on adapting. The building process of the RAD methodology starts by loosely defining the requirements and building the first working version as fast as possible. After that, the focus is on making changes based on user feedback.
The well-known advantages of RAD include better user feedback, greater process effectiveness, improved quality, reduced risk, better on-time/on-budget completion, and faster (more effective) development. Much like Agile, the goal is to get strong user feedback as quickly as possible and incorporate the feedback, ultimately building a better product. This process continues until the finished version of the product is reached.
To say it another way, the risk of reaching the end of development (i.e., the finished product) and users “not liking the results” is much lower with RAD. Remember, the users and their feedback were baked in the process all the time. And it's unlikely they will completely change their mind at the last step.
Since low-code tools accelerate the software development process and improve developer productivity–more time, money, and focus can be placed on user feedback and building software right the first time. Low code plus RAD equals speed, high quality feedback, lower costs, and more.
You can use rapid application development whenever you have a project where user feedback is the most crucial factor.
Ambiguity and lack of clarity are normal for most new products–because neither you nor the end users know what exactly they want or need. So you can't design and build something well without getting user feedback. And, users can't give you feedback without seeing and trying out what you built.
It's a chicken and egg problem which is best solved using the rapid application development software methodology:
So you're slowly taking steps in the right direction. Before you know it, you have a finished product that users already like and approve of.
If you're developing mission-critical software, you should definitely avoid RAD methodology. For example, if you're developing autopilot software for the aircraft industry, you don't want to be "testing" things out.
Additionally, there are software projects oriented around extract-transform-load (ETL) processes where no end-users exist. Here, the key acceptance criteria is the source and target applications.
In other words, if there is no end-user who needs to buy, accept, or use the software, RAD might not be the best approach. Rapid application development certainly has its time and place, but it is not appropriate for every use.
When a RAD approach is used, the risk of reaching the end of development (i.e., the finished product) and users not liking it is very low. Launching a product without user feedback is perhaps the largest risk a product leader and development team can take. Many large companies as well as startups have failed because of a lack of user input and feedback.
With RAD, your users and their feedback are continuous. As you get the user feedback, your product is slowly converging towards what the users want or need. And it's unlikely they will completely change their mind at the last step. It simply doesn't happen.
Because of this, the time and capital risks are very low because you have constant course correction from the users. This prevents you from going very far and investing a lot of resources in the wrong direction.
But what happens if you marry RAD with low-code technology?
Whatever quality, speed, or other benefit you achieved with RAD, you'll now get an additional 3-5X increase in software development productivity. This is largely because some low-code platforms generate all the boilerplate code for you. It makes the entire development team more efficient and effective.
In short, low-code technology allows you to focus on the most valuable parts of the app and automate everything else.
There have been many RAD tools that focus on UI, others focus on logic, and another set focus on data stores.
With 8base, you can apply rapid application development to all tiers–UI, logic, and data.
At the UI tier, 8base App Builder gives developers the tools to configure components, properties, styling, events, state, routing, queries, and more. This provides a more productive platform to accomplish RAD.
At the data tier, 8base provides a simple, user-friendly tool to create data models. There is no need to be a DBA or know SQL if you want to build a high-scale, ACID-compliant database. (In fact, front end engineers become full stack engineers after only a few hours of training.) With a RAD mindset, 8base makes it simple to configure tables, fields, and relationships with clicks.
As the data model is created, 8base automatically creates 1000s of options for GraphQL queries across all tables, relationships, and fields–this includes all CRUD operations and subscriptions for both single record queries and lists. In addition, support for aggregations, counts, grouping, pagination, and other operations are auto-generated. And, you can pass arguments or use variables, aliases, fragments, and more. Without needing to write this code, RAD becomes much faster.
The logic tier also supports RAD. Not only does 8base give developers auto-generated and auto-documented GraphQL, 8base provides developers with out-of-the-box access to the whole stack. You also don’t have to build resolvers, webhooks, triggers, or tasks (chron) functions from scratch–8base provides scaffolding for integrating your code. There are also configuration options for button clicks, navigation, state, data triggers, external systems, and more. While these speed development and reduce bugs, they are all extensible with code.
When it comes to provisioning and deployment, these are both push-button experiences, which saves a lot of time on a RAD project. In addition, your new app migrates to a high-scale, “CTO-approved,” serverless architecture.
When doing RAD with a low code tool like 8base, the benefits multiply beyond what each does alone.