Choosing the Right Software Company: A Guide for Decision Makers

Choosing the right software company – a practical comparison: I'm standing in front of the family home that my grandmother lived in for over 60 years. My goal is clear: I want to preserve it and breathe new life into it so that one of my children can use it one day. A lot of things need to be renovated, but the most urgent are new windows and thermal insulation to reduce the high heating costs. From my experience with tradesmen, I know how difficult it is to find a reliable company - much like finding the right software company. It has to be a company I can trust, that sticks to deadlines, is quality-conscious and has a solid foundation - without exploiting its customers.

So is it justified to compare a software development company with a craft business? The answer is yes! Let me use this example to explain what really matters when choosing a software provider. Because the same criteria that you would use to select a good craft business - whether for minor repair work or building your dream home - are directly transferable to choosing a solid software development company.

1. Trustworthy contact person

The first contact with my window company was very satisfactory. The employee is competent, has worked as a craftswoman herself and asks specific questions to understand my situation. She explains precisely what challenges can be expected in my case and shows genuine interest in my concerns. However, she cannot answer all questions immediately. For example, a ground-level base for the patio door is particularly important to me. She explains that this depends on the material conditions and that special care must be taken not to create thermal bridges. She promises to discuss the topic with me again at the next technical inspection.

Rule No. 1: Do not trust a company that only sends you a sales representative as a contact person. Software development is not a simple delivery of goods like pencils, hiking boots or cars - it is a complex service that requires experience and precise analysis. A good software engineer is interested in your specific situation, asks specific questions and wants to understand your company before making statements. He does not make hasty promises and avoids bad-mouthing the competition. A sound education and expertise in his field are a given.

2. Trustworthy management

During the conversation, my contact at the window company repeatedly mentioned that she had to consult with management about certain details, for example regarding the delivery and installation date or the legal requirements for fire doors. This shows me that the manager is well versed in the subject matter, has a lot of experience and is a valuable contact for his employees.

Rule No. 2: Pay attention to how involved the management is in your project. This is a sign that you have chosen the right software company and that your provider really cares about your project. Look for signs that employees value the management as support. A managing director who is involved in the company usually has a particularly high level of personal interest in the success of the project. Check this information in the company register and on business platforms such as LinkedIn or LinkedIn.

3. Creditworthiness

After my positive first impression, I would like to find out more about the financial situation of the window company. I decide to obtain information from the KSV (Austria), the Schufa (Germany) or the ZEK (Switzerland) to check for possible indications of payment defaults or financial difficulties. A further step is to check the entries in the company register and the latest balance sheets.

Rule No. 3: Find out about the company's financial situation. Avoid working with companies that have a poor credit rating or financial instability. A tip: In the software industry, it is unusual to request advance payments. Invoices should only be issued after partial services have been provided and finally after acceptance by the client.

4. Own permanent staff

My previous bad experiences with construction companies that have outsourced many activities to subcontractors have made me cautious. That's why I ask specifically whether subcontractors will be used. I am assured that all employees are permanent, which is also confirmed in writing. This gives me the security that it is a well-coordinated team.

Rule No. 4: Do not hire a software company that relies on third-party companies for core tasks such as requirements analysis, technical design or programming. This indicates that the company itself does not have the necessary expertise. Extreme examples are body leasing companies that simply "rent" programmers - such companies often do not offer any real added value and act purely as resource suppliers. When choosing the right software company, it is advisable to look for companies that are able to handle all aspects of their software development in-house.

5. Reference projects

I ask the employee of the window company if she can give me reference projects of similar single-family homes that her company has already completed. She immediately shows me on her tablet, which she also uses to keep her notes, numerous examples of single-family homes that are currently being fitted with new windows, as well as projects that have already been completed. This gives me the idea to look for reviews about the company, and I find mostly positive reviews.

Rule No. 5: Ask to see the provider's reference projects and convince yourself of the high quality of the work. Positive references are a good indication of the company's reliability and competence.

6. Technical innovation

In a conversation with the employee of the window company, I find out about the current state of the art and the quality features of modern windows. She explains terms such as U-value, G-value, airtightness, sound insulation and burglary protection. This gives me a clear picture of what is considered to be the state of the art and how I can better compare offers in terms of their price-performance ratio. I also learn that the company manufactures its own windows and has its own patents.

Rule No. 6: Pay attention to the innovative strength of the IT provider when you start looking for the right software company for you. Does it rely on modern standards in terms of operation, security, frameworks and programming languages? Does it use pioneering technologies such as Single Page Applications (SPA) for a seamless user experience or responsive design to optimally display applications on different devices? Does it use REST services for easy integration and scaling or does it even rely on cloud operation? Leading providers such as Google Cloud, Amazon Web Services (AWS) and Microsoft Azure play a crucial role here. Can the provider demonstrate projects in which it has used AI models and machine learning to enable data-driven decisions? Or does it work with Large Language Models (LLMs), which are currently considered the basis for intelligent chatbots and other word processing solutions? Does the company perhaps even have its own research projects in the field of artificial intelligence and machine learning to expand its innovation lead?

Also pay attention to whether employees are regularly trained to keep up with the latest trends and technologies, be it in terms of programming languages, frameworks or current developments in software architecture. When choosing the right software company, you should look for companies that consistently focus on further training and the use of state-of-the-art technologies, as well as developing innovative solutions for their customers and thus sustainably increasing their competitiveness in the market.

7. Future-proofing of technologies

When buying the windows, I ask myself how easy it is to get spare parts and replace broken panes. Are the materials durable and are there many companies that are familiar with this technology and can maintain it? The employee confirms the relevance of these questions and can give me concrete answers. She is well prepared on the subject.

Rule No. 7: Make sure that the service provider does not choose short-lived, fashionable technologies. Such technologies are often only available for a short time and quickly become outdated. Check which languages, frameworks and technologies the provider uses. Then search on job boards such as karriere.at for these terms. If you find a lot of job openings for these technologies, you can assume that they are mainstream technologies that have long-term support and for which there are many experts.

8. Data protection and data security

As we continue our conversation with the employee of the window company, it becomes clear that it is not just about installing the windows, but also about the security of the house. She explains to me how important it is to use high-quality security fittings and durable glass to prevent unauthorized access. The same applies when selecting a software development company: data protection and data security are the windows and doors of the digital house. Only if these are well secured will the inner workings - your sensitive data and business secrets - remain protected from attacks.

Rule No. 8: Make sure that your software provider complies with modern security standards and data protection guidelines. Does it use encryption techniques and does it guarantee the protection of your data both during transmission and storage? Is the company familiar with the provisions of the General Data Protection Regulation (GDPR) and other relevant laws? A trustworthy software company should be able to explain the data security measures to you, just like the window manufacturer, so that no security gaps - the digital "thermal bridges" - arise. Also check whether the provider regularly carries out security updates and protects your systems from new threats. Data security is not a one-time effort, but an ongoing process that requires constant attention.

9. Satisfied employees

My window company has made a good impression so far. As a final step, I look at kununu.com how the company's own employees rate it. To my delight, most employees speak positively about their employer.

Rule No. 9: Search for the company on employer review platforms. A company that doesn't treat its employees fairly is unlikely to do so with its customers either. A positive company culture shows honesty and fairness towards employees and customers.

10. Fixed price capability

I ask my window company if it is a fixed price quote or if it includes variable components. The assurance that the costs will not be exceeded under any circumstances gives me additional security and confidence.

Rule No. 10: Check the software company's ability to offer a fixed price. However, be aware that a fixed price is only possible if there is a precise specification of the software, prepared either by you or the vendor. Just as building a house requires a detailed blueprint, clear planning is crucial in software development. If vendors refuse fixed-price projects on principle, this may indicate that they do not trust their own effort estimates - an indication of a lack of experience or software engineering expertise. So choosing the right software company starts with checking their pricing and transparency regarding project requirements.

11. Defined software engineering processes

When selecting a software development company, it is important to check defined and established development processes. Software development has made enormous progress in recent years. Agile methods such as Scrum and Kanban as well as technologies such as Continuous Integration and Continuous Delivery have become indispensable. Test-driven development (TDD), automated tests and code reviews also play an important role in the modern software development process.

Rule No. 11: Make sure that the company clearly defined software development and quality assurance processes has established itself. Talk directly to the developers and ask about the methods used, such as Agile, Scrum, TDD, CI/CD and code reviews. This way you can find out whether these approaches are actually practiced or whether they are just a show to feign professionalism.

12. Rights to the source code

The biggest danger when working with a software vendor is becoming dependent on them. There are numerous cases where vendors deny their customers access to the software and charge excessive prices for changes. This situation can quickly turn into a form of blackmail, as the customer is dependent on the vendor's support.

Rule No. 12: Make sure you get full rights to the software's source code. This means that you own the source code and can modify and use it as you wish. These rights protect you from becoming dependent on your supplier and allow you to change suppliers if necessary.

13. Maintenance contracts

After successfully commissioning the software, customers often identify opportunities for improvement or need to make adjustments to new hardware, runtime environments or web browsers. These changes are best regulated in a maintenance contract with the provider.

Rule No. 13: Check whether the provider is willing to enter into a fair maintenance contract with you. Make sure that you are only charged for services that have actually been provided and not just for the general willingness to provide services. The maintenance contract should be fair and beneficial for both parties. If you adhere to all of these points, you will significantly increase your chances of choosing the right software company that understands your requirements and implements them successfully.

All rules briefly summarized:


  1. Trustworthy contact person: Work with a company that provides you with technical experts rather than pure sales representatives.

  2. Trustworthy management: Make sure that management is actively involved in your project and supports its employees.

  3. credit-worthiness: Check the financial stability of the company to ensure that it does not have a history of defaults or financial difficulties.

  4. own permanent staff: Avoid companies that outsource important tasks to subcontractors.

  5. reference projects: Ask to see successful reference projects to check the quality and competence of the company.

  6. Technical innovation: The provider should use modern technologies and development standards and invest in innovation.

  7. future viability of technologies: Avoid short-lived technologies and prefer mainstream technologies that are supported in the long term.

  8. data protection and data security: Pay attention to modern security standards and the protection of your data in accordance with the applicable data protection guidelines.

  9. Satisfied employees: Review the company culture using employee evaluations to assess fairness and satisfaction.

  10. fixed price capability: The company should be able to provide fixed price quotes when clear specifications are available.

  11. Defined software engineering processes: Ensure that established and agile development processes such as Scrum, TDD and CI/CD are used.

  12. rights to the source code: Make sure you get full rights to the source code to avoid dependencies.

  13. maintenance contracts: Conclude fair maintenance contracts that only bill for services rendered.


About the author

Michael Schaffler-Glößl has a master's degree in computer science from the Vienna University of Technology. For more than 30 years he has been working successfully in individual software development for medium to very large companies. In addition to his work as a software developer, he is also active as a lecturer in the field of programming and software engineering and has held numerous courses at universities and technical colleges. He is the founder of CIIT GmbH, which has been developing customized software solutions for its customers for over 20 years.

robotics

Robotics: The interface between technology and innovation Robotics, a fascinating and ever-growing field of technology and artificial intelligence (AI), deals with this

Continue reading "

Artificial intelligence

Artificial Intelligence: Insights into Future Technology Artificial intelligence (AI) is a field of computer science that deals with the creation of machines and systems that

Continue reading "

Code reviews at CIIT

Code Reviews at CIIT: A Key to Success in Software Development Code reviews are an essential part of the software development process and play a crucial role in

Continue reading "