By some estimates, more than half of all the code that software developers write is written to build custom business applications. This may sound like a lot, but it aligns with other industry statistics. For example, more than half of the world’s software developers are estimated to be working outside the technology industry. They work at companies whose core business is not software, but where software only plays a supporting role.
Often not getting the attention they deserve, custom business applications are what make businesses tick, compete, and if built well, succeed.
After all, there is no differentiation in being the nth company using the same off-the-shelf system that every other company is using. Off-the-shelf applications can do a lot. But they cannot offer uniqueness. Custom business applications can. And rapid business application development can help companies develop their competitive advantage faster than their competitors.
So, let’s take a closer look at what custom business applications are, why they matter and how to accelerate custom business application development.
Business applications rarely catch the limelight: they are not Facebook, Twitter, or TikTok. But they are necessary and surprisingly prevalent.
In 2021, companies used a mind-boggling average of 110 SaaS applications per company. This increases to a staggering 447 SaaS applications for large companies with 10,000 employees or more, according to Finances Online SaaS Software Statistics. What are these applications?
Business apps (sometimes also referred to as internal tools or operations software) are digital solutions for businesses and their day-to-day operations. These applications are the backbone of the modern economy and modern enterprise. And some vendors specialized in the field of business applications, such as SAP, Salesforce, Oracle, Hubspot, or Microsoft, have built large enterprises on their ability to digitally transform business processes.
Commonly used business applications used by almost every medium to large enterprise are:
Business applications typically streamline processes or contribute to businesses’ digital transformation by moving previously manual processes online. Their main users are internal staff. However, some systems, such as supplier or business partner portals also have external (business) users.
Canstar, for example, Australia’s largest financial comparison website, built a custom auctioning platform for its business partners using Five. The solution has internal and external users. But all of the external users are professionals working at Canstar’s business partners. The solution is not accessible to Canstar’s typical website visitors: Australian consumers trying to find the best deals on credit cards, loans, or mortgages.
As the list above shows, business applications are not necessarily custom apps. In fact, most businesses in today’s economy rely on a wide variety of off-the-shelf, SaaS software that is readily available for purchase on the cloud. After all, no one in their right mind would (hopefully) try to build their custom ERP system from scratch.
However, there is also a substantial number of custom-built business applications. Why?
Every business is a little different. Every business has slightly different business processes. And custom-built business applications are an important differentiator. Custom business applications are the code that the in-house development team, or an external agency or system integrator, is actively writing to deliver a production-ready service for your internal staff or business partners to use.
The reason why custom software can be an important differentiator is simple.
Let’s assume for a second that there is no custom software and instead, every business is using the same off-the-shelf SaaS solutions. Software solutions have become so critical to how business is conducted, that there would be very little room for differentiation. Every business would operate on top of the same systems, following the business logic that the system dictates.
A good way to understand this point better is by analogy: Imagine every Formula 1 team raced in the exact same car provided and maintained by the same engineering team. Again, there would be very little room for differentiation between teams.
In custom business application development, just like in Formula 1, it is the engineering team that contributes to a business’ differentiation, and ultimately, its success in the marketplace. Almost by definition, custom software, i.e. the software that is unique to a business and that no competitor has access to, means true differentiation.
Let’s put ourselves into the shoes of an in-house developer given the job of building a custom business application. There are at least four things to consider to increase the speed of business application development:
Let’s go through each one of them.
How quickly can the in-house development team respond to requests for internal applications? Speed of development for building custom business apps is critical. And writing an entire application from scratch in full code can oftentimes take more time than business users would like.
According to an older paper, the Software Chaos Report 2014, almost 53% of software projects cost more than 189% of their original estimates, and 31% get cancelled before being completed. Though these numbers are outdated, even nowadays software projects are rarely known for on-budget or on-time completion.
If anything, with the digital transformation of the entire economy, projects have gotten more frequent and more complex. And most development teams are already struggling to tame the backlog beast and have little time to entertain new application ideas. Demand for applications outstrips their capacity to deliver.
However, many custom applications share similar application components: forms, dashboards, notifications, access control, etc. As in any software development project, reusing code can significantly increase the speed with which applications are delivered to end-users. Varun Badhwar, Founder and CEO of Endor Lab, for example, states that “80% of code in modern apps is code you didn’t write.” Another study by QSM, a software estimation company, found that, on average, today’s developers deliver only 40% as much new and modified code per project as they did 40 years ago.
Good code is executable and readable. Following a standardized software development process ensures that custom software built by the in-house team is maintainable. This is even more important as many development teams struggle with high fluctuation. And if there’s one thing every developer hates it is deciphering someone else’s spaghetti code. Especially if that someone has just left the company and is no longer available to respond to questions.
To ensure maintainability, helpful supporting features such as application logs or an audit trail of application changes can help ensure that applications do not turn into technical debt.
Broadly speaking, any application can be divided into three layers: the database, the business logic, and the user interface. In business applications, the user interface is typically the least important application layer.
As pointed out by Martin Heller in “How to choose a low-code development platform”, “expectations from employees about apps tend to be lower than expectations from consumers, and employees don’t really have a choice about using an app when it is required to perform their jobs. They may complain, but they’ll still use it.”
In application deployment, two opposing trends are at play: on the one hand, applications, and their data, are moving to the cloud. Businesses are increasingly reliant on external cloud providers to run workloads: businesses are giving up control over part of their applications.
On the other, laws regarding data ownership have become more and more stringent, forcing businesses to retain control over applications and their data.
These two opposite forces mean that application developers need to have sufficient control over the deployment process without going back to on-premise deployment, with servers running in-house. At a minimum level, this means that developers must be able to control where data is stored. They must have control over the region where an application and its database, as well as its potential replica or backups, are stored. This is no trivial task. For developers unfamiliar with the cloud, deployment onto one of three big cloud providers (AWS, Azure, or GCP) can be its own can of worms.
Low-code development environments, such as Five, can help developers accelerate custom business application development. Consultancy McKinsey, for example, writes that “best-in-class tools are the top contributor to business success—enabling greater productivity, visibility, and coordination” in the software development process.
First, low-code platforms increase the speed of custom application development. By some estimates, developers spend almost half of their time on building the non-functional requirements of applications. By using a low-code development environment, this almost drops to zero. Developers can focus on developing the application and its functional requirements from the get-go. This shortens the time to go from idea to application, and also puts developers into a more advantageous position vis-a-vis business users, as they immediately start working on parts that are directly related to end-user requirements.
For many business users, application development is a black box. By providing them with a working prototype faster, developers can ensure that business users feel more involved and have something to play around with early on in the development process. And through low-code solutions, the prototype is not just a mock-up. Low-code platforms allow for rapid prototyping of working software.
To see just how fast a developer can go from data to app, check out how our Developer Advocate Pranoy transforms a CSV file into a web app in this video:
Secondly, low-code platforms drive standardization and, in turn, application maintainability. For example, inside Five, developers can create standard functions in full code (JavaScript or TypeScript), and attach them to client- and server-side events. Each function is referenced, meaning that developers have a bird’s eye view of how the application was built and how functions relate to end-users’ actions. Of course, there’s still a risk of “garbage in, garbage out”, but by breaking down an application into individual components that are referenced in a standardized manner, it’s much easier to understand the inner workings of an application than by reading through a large, monolithic codebase.
Third, low-code platforms provide a functional user interface. Five generates the application user interface (UI) on the fly. Back-end developers, specialized in database modelling or writing business logic, can spin up a custom business application without having to involve a team of front-end developers or designers.
Oftentimes, back-end developers find the process of going building a front-end team somewhat frustrating or slow. In business application development, where the front end is primarily functional in nature, the time to go from back end to front end can be reduced by relying on a pre-built user interface.
Last, single-click deployment lets developers ship applications even without having cloud expertise. Five’s single-click deployment to development, testing, or production lets developers spin up applications without ever having to touch AWS, GCP, or Azure. On Five’s enterprise plan, developers can also customize their hosting by selecting a region, or choosing a managed database. This gives them just enough control over the deployment of their business application, without having to learn the intricacies of cloud deployment.
Rapid custom business application development is an important differentiator for businesses large and small in all industries. Development teams must be able to deliver custom business applications quickly to their end users. But rapid custom business application development requires two things: the right mix of people and tools. A development team equipped with the right code platforms can ensure that the process to go from idea to app is quick, efficient, and standardized.