Introduction to Customer Journey Series
This is the first article of a series that helps companies navigate the process when deciding to invest in technology. More specifically, when they are looking to add software to their internal or external business processes. Learning what types of software exist is the first step.
The articles address:
- Types of software available
- Searching for a software development company
- Communicating with software companies
- Comparing cost structures and selecting a company
By the end, I hope you feel more confident, prepared, and excited to find a software company that will help you increase value to your organization and business workflow.
There are many examples in business and technology of how-to guides that take a conscientious approach. Meaning we want to arrive at the goal the right way. Consequently, that means we are thorough in our preparation and strategy.
This journey is no different. We’ll start from the beginning but will include caveats about shortcuts along the way that can speed up the process. Therefore, if you already know what software you need or have a company in mind, you can be selective in your reading—if only to double-check your current assumptions.
What is Software?
Software is often defined as “the programs and other operating information used by a computer.”1. However, that sounds limiting because software is found in mobile devices, televisions, cars, and more.
I prefer a slightly different definition. Software is a set of arithmetic or logical operations that hardware devices (computing equipment) can execute automatically2.
Software is written using a programming language. These languages vary widely in function and syntax. Fortunately, the type of language isn’t relevant from a “shopping for software” perspective because the devices, hardware, and features dictate languages used for the program.
Finally, moving further up the tree of our explanation, a developer uses the programming language to provide instructions that can be bundled into an application. Then, users can distribute and execute the application on the appropriate device.
Types of Software
System software is what the computer hardware needs to work. The most common example of system software is an operating system. It handles booting, transactions with the file system, and much more!
Users do not typically interact with system software. It runs out of their purview3.
It’s common to connect things to computers with different USB ports physically:
Driver software is “…a software component that lets the operating system and a device communicate with each other.”4
Similar to system software, a user doesn’t interact directly with the software. It’s designed for use between a device and an operating system. These days, operating systems can reach out and download the driver software on the web, making connecting devices much more straightforward.
Application software is the most recognizable for non-technical persons. This type of software includes word processors, web browsers, and other web or desktop applications. Many times, this type of software takes the form in:
- web applications
- desktop applications
- mobile applications
Application software is a vast category, and it is sometimes broken into smaller classes that are only relevant in the proper context. I’m happy to keep the list of software types small by including application software as one category for brevity.
Although we won’t dive deep into application software, it’s often what a business is looking for. Therefore, there’s a good chance you’re looking for application software if your service or product is accessed by customers on a computer or mobile device.
Conversely, application software is not always an external tool. Companies look to implement custom internal software when spreadsheets become too complicated or databases start to fail. They want application software that parallels their business flow making the day easier for employees and customers.
Embedded software applications are specialized programming within non-PC devices – either as part of a microchip or as part of another application that sits on top of the chip – to control specific functions of the device.5
One of the most critical distinctions between embedded software and other kinds of software is the constraints that embedded software takes into account. Embedded applications deal with strict hardware requirements and capabilities.
A great example of embedded software is in traffic control systems used in traffic lights.
Now that we know about the different types of software let’s discuss considerations that affect the software.
How Does the Type of Business Affect Which Software is Needed?
The users that interact (or don’t interact) with your future software is something that you should know. For example, it is beneficial to answer “who is using the software?”. Describing the user is like describing your target market in sales or a marketing strategy. Once outlined, it gives direction for downstream decisions that you or the software company has to make.
Partially defined by the type of users, the software’s devices will vary by business. Often, the software is accessed from multiple devices, or the data is accessed by various devices but possibly with different software.
The primary device users interact with the software is a deciding factor when choosing a software company—later in the series—because some companies will specialize by the device.
Businesses collect data in many forms. However, what’s the main type of data that your company has? Furthermore, how is it accessed? To provide a few examples:
- Financial systems need to handle real-time data or event-driven data transactions. An entire section of the software architecture may hinge on this characteristic.
- Design companies have lots of images, icons, files with exotic extensions, and sometimes these files can be pretty large. The software company may pivot its design to clear the pipeline for large files or media objects (i.e., videos).
If you have an established business, you’re most likely aware of compliance that may be required for how you handle data. For example, complying with regulator law is undoubtedly the case in industries that work with government, health, or financial institutions.
Additionally, if you have users, there are privacy concerns or policies that users may be entitled to. Failing to abide by these policies could result in a lawsuit.
Microsoft’s operating system, Windows, is proprietary software. That means, although you paid for it, you are not allowed to change or redistribute it.
Conversely, you may have heard of a different operating system, Linux. Linux is open-source software, which means you can download the operating system, make changes, and create your unique distribution of Linux.
Do you intend to change or sell the software? Answering this question involves discussions with your legal counsel because the software you buy may be under copyright protection.
How to Figure Out What Software You Need
To conclude, we first established the different types of software and their characteristics. This list included system, driver, application, and embedded. Then, we listed considerations that a business needs to address that will affect the type of software they build. Common considerations are users, devices, data types, compliance, and licensing.
This list is not entirely comprehensive, and other relevant factors can be lurking in your businesses’ past or future. For example, your business may need to interact with legacy software. So any company that builds software has to comply with that software. Furthermore, you may have business plans for the future that have a significant impact on how this software will interact with the outside world.
This article is a place to start. To figure out what software you need, start by defining your needs with an emphasis on these keywords. Next, imagine that you’re already approaching a company, and these are the questions they ask. Hopefully, these questions spur other questions, and a clearer picture begins to form around your future software. Then, when you’re ready, you can start searching for a software company.
1 Oxford Languages. “Oxford Languages and Google – English.” Languages.oup.com, Oxford University Press, 2021, languages.oup.com/google-dictionary-en/.
2 Wikipedia Contributors. “Computer.” Wikipedia, Wikimedia Foundation, 29 Nov. 2018, en.wikipedia.org/wiki/Computer.
3 Divyanshu Gupta. “Types of Software.” GeeksforGeeks, 7 Aug. 2020, www.geeksforgeeks.org/types-of-software/. Accessed 27 Aug. 2021.
4 Nathan Bazan and Amy Viviano. “What Is a Driver – Windows Drivers.” Microsoft.com, 20 Apr. 2017, docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/what-is-a-driver-.
5 “What Is Embedded Software? | Siemens.” Siemens Digital Industries Software, www.plm.automation.siemens.com/global/en/our-story/glossary/embedded-software/64121.