In this article, I would like to clearly outline the differences between various types of software companies. I aim to elucidate their approaches, the solutions they offer, and in what scale they operate.
My objective is to provide some structure amidst the apparent chaos that clients sometimes encounter, thereby increasing the likelihood of success for your next project. Let's begin by examining the different players and solutions in the software industry at a high level, and finally discuss how these insights can assist you in making informed decisions.
Common needs are often addressed with off-the-shelf software. This includes ready-made software packages from specialized software companies, such as photo editing programs. Similarly, many existing packages are utilized on the web, albeit with a touch of customization to match branding.
New, complex, or experimental challenges often require custom solutions. Standard software does not suffice in these cases. While some generic "building blocks" may be utilized at times, the distinctive feature of this type of software is that the core of the solution is unique and tailored specifically to your needs. To address your specific challenge with full attention to your requirements.
Providers of generic solutions
Generic solutions are ideal for smaller software companies, which may integrate them with their core activities. These could include (online) marketing or graphic design agencies. This category comprises the majority of such firms. Alternatively, some companies specialize in reselling or leasing third-party business software, sometimes inclusive of support services. This is common among firms with system administration as a core activity.
There are also large software companies that predominantly deal in generic solutions, such as reselling or leasing existing solutions. This often involves utilizing in-house consultants to translate client needs into available products from their own portfolio. These companies often serve other large enterprises or governments. Support is typically included.
Providers of non-generic solutions
Non-generic solutions, on the other hand, occupy a niche market. Scalability is challenging due to the bespoke nature of the products. Smaller software companies often combine these with the aforementioned generic solutions to reach a broader audience. This could involve offering generic solutions with more customization options or utilizing as many generic solutions as possible and only resorting to bespoke solutions for the remainder. Alternatively, they may specialize in a unique market to enhance their appeal to a broader audience.
Large software companies in this sector often specialize in one type of solution, making scalability achievable. They frequently solve unique problems with bespoke solutions, not necessarily on commission, but rather for internal use. In the early stages, they may be the sole provider in the market offering a unique service or product. Leveraging their head start and extensive internal knowledge, they strive to establish and maintain a strong market position. Successful services or products are often resold, as previously described.
Which type of solution do I need?
Although it may seem that everything neatly fits into categories, the reality is often more complex. Software is a relatively young industry that is constantly evolving and innovating. In practice, there is often significant overlap between generic and non-generic solutions, as well as between large and small software companies. Additionally, the approach to developing a solution can vary significantly, irrespective of the type of solution.
If you are seeking 'the right solution,' bear in mind that there are almost always multiple options available. Each party you approach for assistance will be eager to collaborate based on their own services, expertise, and experience. However, it is also important to compare different offers, as they can vary significantly both in content and approach.
A more generic solution is often less flexible and may be developed with a focus on cost-saving from the software provider's perspective or based on the client's preference. This approach can result in a solution with a lower initial investment. While such a solution may initially seem appealing, it is important to recognize that there may be compromises in terms of flexibility, quality, and finishing.
However, it is valuable to emphasize that this approach has its own benefits and applications, depending on the specific needs and priorities of a project. However, determining the best solution technically and economically depends heavily on your overall picture. Not only your current plans but also your long-term plans. Finding the right balance is an essential part of choosing the right solution.
Combine knowledge and expertise
Therefore, it can be helpful to succinctly describe your challenge, without committing too much. Avoid drafting a detailed functional design before seeking advice. Let the consulting software company brainstorm with you and combine your expertise. Finally, don't forget to explain why you want to address this challenge and what you expect the solution to achieve in the long term. By clearly indicating this when seeking advice, it can be taken into account immediately.