Rapidly Build Powerful Custom Business Applications: A Developer's Guide
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, i.e. they are working 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 systems that every other company is using already. Off-the-shelf applications can do a lot. But they cannot offer uniqueness. Custom business applications can.
So, let's take a closer look at what custom business applications are and how to build them rapidly.
What Are Business Applications?
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:
- Enterprise Resource Planning (ERP) systems, such as Microsoft Dynamics, Oracle, SAP, or Odoo.
- Customer Relationship Management (CRM) solutions, such as Salesforce, Hubspot, or Freshworks.
- Accounting software, such as XERO, MYOB, or Quickbooks.
- Collaboration software, such as Slack or Microsoft Teams.
- Business Intelligence (BI) tools, such as Microsoft PowerBI or Tableau.
- Inventory Management systems.
- Supplier or Business Partner Portals.
- Order Management Systems (OMS).
- Product Information Management (PIM) systems.
- Hiring and payroll solutions.
- E-commerce solutions, such as Shopify or Magento, which combine a customer-facing front-end, and an employee-facing back-end can be considered hybrid solutions, as they bridge internal and external users in one solution.
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.
The Need For Custom Business Applications
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.
Rapidly Building a Custom Business Application: Four Tips For Faster Application Development
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:
- Speed of Development
- Standardization & Maintainability
- User Interface
- Deployment
Let's go through each one of them.
Speed of Development
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 canceled 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.
Standardization & Maintainability
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.
User Interface
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."
Deployment
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.
How Low-Code Environments Can Help Rapidly Build Custom Business Applications
Low-code development environments, such as Five, can help developers rapidly build custom business applications.
First, low-code platforms accelerate the delivery of custom business applications. 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.
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.
Secondly, low-code platforms drive standardization and, in turn, application maintainability. For example, inside Five, developers can create a library of 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 modeling or writing business logic, can spin up a custom business application without having to involve a team of front-end developers or designers.
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.
Conclusion: Rapid Custom Business Application Development
Rapid custom business application development is an important differentiator for businesses large and small in all industries. Building solutions for your business requires 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.
Top comments (1)
Hey there, I recently started using retention cohort and I must say I am impressed. The platform's features such as in-app messaging and A/B testing and real-time cohort analysis for my app have helped me optimize my app's user experience. I would recommend it to other app developers out there. You have to try it!