Guide for building internal business applications fast

Guide for building internal business applications fast

Business applications are software programs designed to automate or streamline processes within businesses. They range from simple spreadsheets to complex ERP systems.

Business apps are essential for managing day-to-day tasks. They allow companies to save time and resources by automating repetitive processes. For example, a payroll system will enable employers to calculate wages and taxes automatically, saving them hours of manual labor each month.

An internal business application connects to ERPs, e-commerce, data lakes, BI, CRM, PIM, DAM, WMS, and other major enterprise software to collect and inject data through APIs. Business logic is then implemented with a front-end web or mobile app, using a set of classical components like:

Some examples of internal business applications include:

Internal business applications must integrate an agile development cycle, delivering key features supporting business processes quickly, with minimum investment, due to rapid changes in policies and user needs.

Who are my business users, create a persona

The first step in launching new business applications is to define the target user group and create personas. This step is usually skipped for bad reasons.

A persona is an individualized representation of a typical user of an application or system. Personas help you understand who will use your product, what they need from it, how they work with it, and how they expect it to behave. They also provide insight into how people interact with each other during their work.

The persona is extremely important for the development and design process for the following reasons:

Collect user's pain points, define business goals

The second step is to define your application's business goals by carefully analyzing users' pain points. You should not ask users for features, but observe the way they work. This step is called user research.

User research is an important part of any software development process. It helps you understand what your customers need from your product and how you can best meet their needs.

Follow these steps to conduct proper user research:

  1. Observe your target users during their work on a particular business process
  2. Take notes on every single step and try to check the time taken for each.
  3. Regularly ask users questions about their work: why are they doing this specific step, on which criteria they selected the elements they are working, what are the rules to find the right item, etc.
  4. Most importantly, after each task completion ask users about their feelings (aka: are they frustrated, lost, or satisfied with that task).
  5. Finally take your users to a group session, where you'll ask them more deep questions about how they work and their pain points.

Once you've completed the user research, you should be able to define Epics, and the major goals of your future application.

An Epic user story is an example of a use case that describes how a particular feature will be used in order to achieve business value for the organization.

It might look like this:

To ensure that you achieve your app dev goals, you must first understand the difference between a "goal" and an "objective." A "goal" represents the end result that you wish to achieve. An "objective" represent the steps you take towards achieving that end result.

Break those objectives down into “SMART” objectives:

  1. Specific (what exactly has to be done)
  2. Measurable (how time, money, or quality will be better)
  3. Achievable (you have the team, budget, and time to build that application)
  4. Realistic (no, you will not be able to meet amazon's level of logistics with your application)
  5. Timely (this application must be in production within 2 months)

Define the user experiences and core features

So you have your Epics and goals set. It's time to start to imagine how your future business application will work. You will need to start with user journeys.

User experience (UX) user journeys are visual representations that show how users interact with your product throughout its lifecycle. They help you understand what happens when people use your products and services.

A user journey contains the following elements:

You should use the user stories format to describe what happens on each step of your user journey.

User stories are short descriptions of user goals that can be used for planning, prioritizing, estimating, and tracking work in software development projects. They are written using the "as a" format :

: As a , I want , so that

Use stories must be independent, and atomic and you must assign a priority for each. We suggest classifying each user story with 3 priorities: Must, Should, and Nice-to-have. Make the effort to distribute your user stories priorities in order to have the 15-20% of Must, 20-30% of Should, and 50% or more of Nice-to-have.

All your user stories from all user journeys define your application backlog.

A product backlog is an ordered list of all features that will be included in a software release. This can include both new features and enhancements to existing functionality.

Must and Should ones define your minimum viable product or MVP.

A minimum viable product (MVP) is an early version of a new product that allows professional developers to test its viability for business solutions. An MVP should be simple enough for users to understand and use, but not so simplistic that they cannot learn how to use it effectively.

Select the right tool to support your business logic

At this stage, you have a clear understanding of:

  1. Who are your users
  2. What are the pain points and business objectives you want to solve
  3. How your application will work and what are the features you'll need to create

It's time to select the right tool to build your application. You can obviously hire professional developers to build your customer components, but we're in 2022, you should first look for a low-code development platform to reduce the total cost and time to market to your application by several orders of magnitude.

Depending on your IT stack and usage we suggest looking at the following low-code platforms:

Identify the back-end systems and their APIs

The final step before building your core functionality is to identify all the back-end systems your application will have to interact with: ERPs, e-commerce, CRM, OMS, WMS, PIM, DAM, BI, WCM, external SaaS systems, etc. For each you will have to clearly define:

Retool: the perfect match for rapid application development

We want now present you with a tool, we think is an absolute game-changer for building internal applications: Retool.

A complete set of powerful building blocks.

With Retool, you don't need to hunt for the perfect component library; instead, you can use their prebuilt components right away. You won't need to reinvent the wheel when creating your application because they've already done it for you.

Connect to anything

With Retool you can connect to databases or REST, GraphQL, or gRPC APIs. Retool is a purely front-end platform that let you work with any back-end data, they store nothing, instead, you run queries, and the Retool backend proxies the request to your internal applications.

Built for developers

Retool is highly customizable, so you’re never limited by what's available out of the box. If you can write it with JavaScript and an API, you can build it in Retool. It's a perfect replacement for Forest Admin, React Admin, and any custom-written React or Angular frameworks.

How to build a reporting dashboard with Retool?

Imagine you want to build a dashboard listing Amazon orders, customer data, and statuses. Nothing is easier with Retool. You create a query to your database where your customers and orders are, then you'll have to add a Table component and attach this component to the results of your query.

Retool will automatically populate data, set up columns, run the query, fetch the results and push the data inside your Table. You can then customize the way your Table works adding pagination, sorting, filters, editable columns, and actions on each row.

How to build a form sending data to an API with Retool?

As for the previous example, you'll have to add a new REST or GraphQL query. Because your query modifies the state of the external software you connect to, we call it a mutation. Once you've written your query, you'll need to simply connect it to a trigger in your interface: a button, a table row, a form.

Retool's other major components

Retool comes with more than 90 reusable components let's discover some of them:

Text inputs (collect text from users)

Number inputs (prices, amounts, ranges)

Select Inputs (ideal for invoices statutes, options, workflows, configurations)

Calendar Inputs (ideal for a due date, appointment time. )

Special inputs (very diverse category for very special needs)

Buttons (hope it's clear enough)

Data (ideal to show large volume of information)

Presentation components (used to show things to your users)

Containers and forms (to help you organize your components)

Navigation (in-app navigation system)

Deployment options for Retool

Why Retool is the best platform for building internal applications from our point of view? Because of its amazingly flexible deployment options. You can either select their SaaS version, so your application will be hosted and ran by them, or opt for on-premises options, where your application will be downloaded and ran on your own cloud environment.

In that last option, you can store your application in a Git branch and deploy it as you would do with any classical React / Angular / Vue project.

Managing software versions with Retool

Retool provides versioning out of the box with an easy way to see who and when performed changes to your application. You can easily roll back to a previous version at any time with a simple click.

Examples of custom applications you can build with Retool

There is a large set of applications you can build with Retool. You need first to understand the limits of Retool:

  1. There is no backend. Your data must come from somewhere (database, API, or other software)
  2. You have limited customization capabilities. Retool is not like Webflow or Bubble, you will have to stick to their components and how their look. So Retool is not suited for B2C customer-facing applications (except for MVPs)
  3. Retool is not open-source, you will not be able to modify the way it works.

Said that you can build almost anything using Retool, some use cases: