It was contended here recently that all business applications are the same, in the sense they are developed using the same 20 (or so) common components or “building blocks.”
Also noted was that times are changing for enterprise software. No longer are the choices for enterprises seeking to solve business problems limited to either buying expensive and ill-fitting “off the shelf” software or going the arduous path of custom software development.
With the right enterprise request management (ERM) platform—one that incorporated those 20 components, with vital core attributes like security and scalability built in—business process owners can now assemble their own workflow solutions.
And if employees are empowered to solve for the complex workflow requirements they have from the business, in a low code + pro code environment, then enterprises have reached the stage where they never need to buy a business application again.
But wait. Is it really true that all business applications are essentially assemblies of the same 20 (or so) common building blocks? Here’s another look at the 20 building blocks, with their definitions.
The 20 Common Components of Business Software
Portals: Generally speaking, a web portal is a page or online dashboard that brings together information or resources in a uniform way. Within a SaaS application, it’s the home screen that provides quick access to different functions. When dealing with unstructured data in the context of digital transformation, it’s a “single pane of glass” into workflow processes for CRM, HR, service management, and other business functions.
Workflows: A sequential, sometimes conditionally branching, automated sequence of tasks to perform a business function which is initiated by human activity. For example, when an employee orders a new laptop, workflow tasks may include requesting approval for the expense, creating a purchase order, and creating a work order for IT to configure the laptop, among other steps.
Integrations: Pre-built connections (that are modifiable for your specific needs) between business applications that enable a portal to display information from different systems and forms to add or update specific records in different systems automatically.
Chat/Discussions: The ability to open or participate in contextually relevant real-time discussions with other team members or groups, built into an application.
Robots: A workflow sequence that is initiated based on date/time basis or the passage of time rather than a human action. For example, perform maintenance on a specific system after every 200 hours, or at 4:00 a.m. every Saturday morning.
Forms: A purpose-designed set of fields which are auto-populated or filled in by a human user in order to complete a specific task. For example, an online form to order a laptop may include fields for brand and model with drop-down values, while the name of the approving manager may be auto-filled based on employee ID.
Data Management: Lists and lightweight rules that are used to ensure data integrity, such as a drop-down list of values for states (AK, AR, AZ…) and rules for dates (must include eight integers) and email addresses (must follow name@website format).
Rules Enforcement: A mechanism for enforcing business rules associated with data records, such as that every asset must have an associated warranty, or specific requirements (a purchase order number, date, and amount) in order to change the status of an organization from an “opportunity” to a “customer” within a CRM system.
Search: The ability to identify all instances of a specific word or phrase across the database(s) associated with an application and display all records containing that term.
Email/Text: The ability to send or respond to a context-specific email or text message directly from within an application.
Tasking: The ability to create and/or assign tasks within an application, such as reviewing a document or responding to a help ticket.
Approvals: The ability to automatically send approval requests to specific individuals based on the type of request and the person submitting it. This also includes the ability to automatically send reminders if approval hasn’t been granted within a defined period of time, and to route the approval to secondary or alternate approvers if necessary.
Alerting: The capability of a system to send desktop / mobile alerts as well as alerts by email and/or SMS to specific individuals based on certain conditions, e.g., notifying the technician on call if a server goes down.
Schedules: The ability to attach commitments or a list of events against a specific resource that cannot be double-booked; for example, each meeting room within a facility can have only one meeting assigned within each block of time.
Calendars: The connection of an event, date, and time that isn’t tied to a specific resource, e.g., lunch is at 12:00 each day, or the company will be closed on July 4th.
Surveys: A set of contextually relevant questions that is automatically sent to a specific individual or group based on an event, such as closing a support ticket. For example, when an employee receives a new laptop, the associated survey may ask if the device was delivered on time, if there was any damage, and if it was configured properly.
Auditing: The creation of log files or other means by which processes can be examined after completion. This is often required for compliance but can also be useful for training and/or process improvement.
Analytics: The ability to measure performance and track metrics within a system and report on the results. For example, a service management application should make it easy to track the number of reports of a specific issue, the average time to resolve, and user satisfaction ratings.
Knowledge: A built-in repository of definitions, instructions, and other information to help users complete specific tasks within an application.
Users and Teams: The ability of a system to manage both individuals and groups of users in terms of notifications and what information they are permitted to view and change.
Putting the Pieces Together
Business applications of any level of complexity can be assembled from these same 20 (or so) common building blocks. With a best-in-class ERM platform—one that not only incorporates these components but also has crucial attributes like security, scalability, and auditability built in—business users can assemble their own workflow solutions customized to their specific needs.
It may not quite mean that enterprises never buy a business application again. Most businesses probably won’t assemble their own full-blown CRM, project management, or customer support systems. But it does provide a compelling alternative to either buying ill-fitting “off the shelf” software or expensive, time-consuming custom code development.
Every vendor of pre-packaged or SaaS applications has an opinion on how you should do your work: the same way their software works, and the same way every other one of their customers does it. With an ERM platform that goes way beyond simple low-code tools, you can create complex workflow solutions that reflect the way you want to work.