What is internal software?
Before digging further, let's agree on a definition. When searching "Internal Software" on Google, results are trusted by "internal tool builders" like Retool or Internal. For them, internal software is built in-house by developers or with low/no-code solutions (especially with their solutions).
My definition is broader:
Internal Software is software that is not customer-facing.
Whether they are commercial solutions, internally built, or created using spreadsheets. They are internal digital tools to streamline organization processes.
Why is internal software important?
Every business deals with the same concepts: employees, customers, partners, leads, etc. but each business is so unique that operations processes have remained performed by humans. Lately, as we move to digital organizations, we witness a digitalization of the organization processes. Slowly, business operations move to software.
Moving business operations to software comes with a promise: Increase the organization productivity.
In the past 30 years, we have seen a phenomenal increase in individual productivity. Personal computers and the Internet have extended human capabilities and drove productivity gains.
The next step is to increase productivity at the organization level with digital organizations.
In a digital organization, processes are crafted by humans but are embedded in software systems.
The piece of software developed internally to improve the organization's productivity are internal tools. Investing in internal tools is not about getting rid of employees but a part of the employee workforce must focus on designing and monitoring the software processes.
Businesses must look at their processes with a product mindset so employees understand how the organization works and participate to improve those processes. It's the beginning of the "organization as a product".
Companies invest in internal tools not just to replace human repetitive tasks, but also because internal tools allow them to grow faster while remaining Agile. Using internal software enable organizations to be data-driven and analytical. Day-to-day operations produce data that is analyzed, generate insights, and lead to better decisions.
The best examples of digital organizations are the tech giants like Amazon, Netflix or Google. They have invested massively in internal software. Google has built digital workflows for its hiring processes, employee career management. Amazon has digitized its warehouse management and logistic centers like no other.
While complexity becomes the downfall of traditional organizations as they scale, digital organizations continue to improve despite the size and complexity of their operations.
Internal Software examples
There are many examples of internal software, from CRM to invoicing apps. In the examples below, I focus on systems that are organization-wide and on which we will see the most productivity gains as organizations become data-centric and leverage automation.
Customer Data Platform
Customer Data Platforms are trending! They are used to consolidate all customer data into a single platform to generate insights and create a single view of the customers.
Customer Data Platforms are built with a composition of applications and they benefit every team in the organization.
Customer Data Platforms are built
In a nutshell, Customer Data Platforms are built on a data warehouse (for example BigQuery or Snowflake). Tools exist to connect data warehouse to any data sources (web applications, marketing software, etc.). Once you have the data, you can use business intelligence solutions to visualize it and you can build metrics for every customer that can be synchronized back to your operational applications. If you want to learn more about customer data platforms, you can read this article.
A Customer Data Platform is a collection of software connected together. There is no one-size-fits-all solution and you need technical skills to set up a Customer Data Platform. It's a great example of how digital organizations use both commercial software and custom-built internal tools to generate value.
Customer Data Platforms are company-wide
A customer data platform is anti-silos. It's an organizational foundation on which every team finds value:
- Sales get insights on their ideal customer profile and can detect upselling opportunities from the data
- The marketing team use it to build a personalized customer journey
- Product people find insights on how their product is used
- The support team can use interactions history and data to help customers
Leads Generation and Management
Another interesting trend is how companies start using a data-centric approach to manage their leads. Whether it's venture funds to detect new companies, or B2B businesses that build listings of potential customers, they are looking to automate leads generation as much as possible. CRM (Customer relationship management) is good to manage the process once a lead has responded to an inquiry, but they are not suited for prospects listing and leads discovery.
Some companies have built internal software to boost their leads generation. This is part of the new growth hacking strategies.
While being different in each organization, we can summarize the steps as follow:
Step 1: Leads discovering. Internet is a big messy database. When a startup is launched, the information is posted online. Almost any data about a company can be found online.
Building a prospects listing is key to win customers. Now, companies use data scrapping, APIs, automation, etc. to build listings of prospects.
Step 2: Enrichment. Once detected, leads are enriched using external data APIs or with information scrapped from their website or LinkedIn pages. Enrichment sources include data about the companies, their employees, the technologies they use, the market in which they are, etc.
Step 3: Scoring and segmentation. With all this data, leads are scored to detect the best opportunities. Leads can also be segmented into several listings. Maintaining this listing up to date is important and the scores and data must be kept fresh and updated as news appears or changes occur for the leads.
Step 4: Syncing with other tools. Opportunities are then synced with prospection tools to perform cold emailing, send LinkedIn requests, etc. Or they can just be synced with a CRM.
Other internal software examples
We've detailed 2 examples of internal software but they can be found in all departments. For Product Management, DevOps, Accounting, organizations have already moved to internal software for a while. We see new areas like Finance and Human Resources (for hiring and employee management) where internal software use is growing.
What composes internal software?
Now we have seen how organizations benefit from internal software, let's look at what composes them. You have two options: use existing products or build custom internal tools!
On the products side, we find commercial applications developed by software editors and open-source solutions. They are either hosted in the cloud or require to be installed on-premise on the organization's servers.
When no solution exists on the market or when it doesn't fit the task, organizations rely on custom internal tools. To build them, they can:
- Use generic tools like Spreadsheets. Spreadsheets are still used when it comes to building internal tools.
- Build on top of existing software. For example, ERP solutions are extensible and new applications can be developed on them. See our article Where is enterprise software heading to know more.
- Use frameworks or low-code/no-code solutions. Their goal is to speed up development time for internal tools.
- Code tools from scratch. Usually using web technologies.
- Or use a mix of all those solutions
Some organizations have a dedicated team to set up internal software. In this configuration, the team works best when members are multi-competent with technical people. Thus, they have the skills to build custom internal tools when needed.
Before, internal tools development repelled developers who prefer using their skills on customer-facing products. But this is changing, as the impact of internal software in organizations increases. In digital organizations, internal software is a key factor in the growth of a business.
When the organization doesn't have a dedicated team, technical employees can build internal tools but it will always be in the background of their primary role. As soon as they get busy with their primary tasks, the internal tools they maintain will be secondary. A team must have a focus and must choose between building a product for customers or building products for internal uses.
Of course, every employee should be involved in the brainstorming and can give feedback. But a team must be responsible for internal software.
There is no "Buying vs Make" debate. It depends on the issue the organization wants to solve, on the existing market solutions, on internal software strategy, and the organization's team size.
Also, organizations must stay open once they have made a decision. Context and priorities change and it's ok to throw a custom-built tool away or start over.
With cloud services and building blocks, an hybrid option with both commercial applications and custom internal tools working together is possible. At Datablist, we believe in this hybrid approach, with data as foundation to connect them.
What's coming next for internal software?
With the growth of digital organizations, internal software will continue to develop. We see a lot of innovations to make building internal software faster and promote the connectivity of every organization's internal applications on a single data view.
Generally speaking, internal tools manage customers, employees, orders, transactions, leads, etc. They store data, provide analytics, and use automation to streamline workflows. And end-users are employees. Every company deals with the same concepts when building internal tools.
It represents enough similarities to see platforms that will provide those features as a foundation to build on top. Those platforms would be open, API first, and integrated with the ecosystem. They will have to implement bulletproof permission management and data access.
It would be similar to what the Cloud giants (Amazon Web Services, Google Cloud, Microsoft Azure, etc.) have done in web development: a suite of web services to build digital processes.
We can ask whether existing Cloud Platforms will win the internal tools market? AWS has launched an internal tools builder with Honeycode and is building business applications targeted to employees and not just developers (see AWS business applications)
Specialized software will never disappear. A CRM is still mandatory to manage sales once the team grows. And Notion can not compete with project management software on complex projects. Nevertheless, the ever-growing space of ultra-specialized SaaS tools from employees directory to employees emotions gathering will compete with simple tools built with generic platforms like Notion, Airtable, or Datablist.
In the past, flexible and generic platforms meant ERP (see our article Where is enterprise software heading?) or Spreadsheets. As a result, employees had two options:
- Custom internal tools with ugly user interfaces built with ERP or spreadsheets interface.
- Shiny user interfaces with specialized SaaS software
Spreadsheets are still used as internal tools because they are flexible and we all know how to use them. They have flexible data models, data manipulation is easy with copy/paste, etc. which makes them efficient to deal with data. But, they haven't been created to manage processes (no files, images) and they haven't been adapted to the mobile world.
New flexible platforms offer both flexible data models and a beautiful interface!
The rise of building blocks
Building an internal tool is not necessarily coding it from scratch. Using a spreadsheet to manage employee onboarding is an internal tool.
In the world of internal software, we talk about the "citizen developers". They are users who build software applications while not being technical people. We have all seen the no-code, low-code hype lately. With a no-code or low-code platform, you build custom applications by putting existing building blocks together. Some platforms are for non-technical people (no-code) and/or others for technical people (low-code). They leverage modularity to promise faster app development than coding it.
Building blocks include several parts of an application:
- Building blocks for UI/interface with reusable components (for table, forms, buttons, etc.). Retool and Internal are good examples.
- Building blocks on top of a smart database. An example is Datablist. In Datablist, common data models are promoted and a catalog of data actions is available. Another example is the Airtable platform. Airtable uses a spreadsheet interface with blocks to display data in different ways (Gantt chart, calendar, map).
- No-code software integration with workflow automation platform. Zapier and Integromat are well known in this category.
- Building blocks for developers. With Cloud provider (Amazon, Google, Azure) providing higher-end services, it becomes easy to just plug those services together and let them manage the infrastructure.
The new data-centric organizations
Current applications map organizational boundaries. Customer Relationship Software (CRM) for customer-facing teams, Product Management Software for product teams, etc. all seating in their siloed department. While improving the business efficiency, they've had a limited impact on the digitalization of the company operations. Data and processes are still confined to organizational units.
To leverage automation, digitized processes must go beyond the organization's siloed structure. Analytics and AI require to have a unified view of the data across departments.
Data-centric companies invest in data storage to have a global view of their data. Data is the foundation on which internal tools are built. While organizations share a unified data storage, teams are autonomous to build processes and internal software on top of it.
A unified data foundation is a prerequisite for data-centric organizations. When talking about data, we must distinguish between data analytics and databases.
Data analytics is an append-only data storage
The first concept to understand is data analytics. In data analytics, we harvest large sets of data to generate insights, discover information, and support decision-making. And data warehouse is the underlying technology in data analytics.
In the Customer Data Platform use case, we would store every user action (application click, signup date, email click, support request created, payments, etc.) into a data warehouse. From that data, by running queries on the data warehouse, we analyze funnels, signup conversions, etc. It uses data from the data warehouse to generate information.
However, data in a data warehouse is immutable! Once loaded into the data warehouse, data can't be updated. It can be replaced with a new import or new data can be added to the existing data.
Data warehouse use cases are read-only. Once a value has been calculated with a query on a data warehouse, the value needs to be stored back into an application or a database.
Organization Databases are mandatory for internal software
For editable data, internal software requires databases! Indeed, when building applications with "read and write" features, internal databases are mandatory.
Currently, database options to build internal tools are limited. Organizations can use spreadsheets, new "spreadsheet-like" platforms (like Airtable) or set up real web database engines from the developer's world (well-known open-source databases are PostgreSQL, MySQL, MongoDB, etc.)
Spreadsheets used as database suffer limitations:
- The number of items they can store is limited: 50k items per base for Airtable.
- It's not possible to implement unicity constraints with a property. In a customer listing, a unicity on email values is essential to avoid duplicates.
- Object relationships are limited. No relationship for Excel, Google Sheet. Airtable provides a relationship feature for items inside a base, but not with another base.
And while database engines are powerful, they are too low-level and lack built-in features to be easy to use:
- No built-in interface with permission-based access
- While possible, they are limited when it comes to storing files
- Data revision history and rollback is not built-in
- Data backup has to be implemented on top of it
That's why new data platforms like Datablist will be necessary to build internal software.
Datablist aims to offer an easy-to-use data foundation usable by any organization employee to create internal software without the limitations we find in spreadsheets tools.
At Datablist, we work to make this vision a reality 🚀. Join us or subscribe to the newsletter to follow our progress 👇.