Choosing the Right Software Partner for your Company

Many companies depend on external tech and software providers to achieve their goals. Issues such as new lines of business or the continued operation of your current technology are general cases in which a supplier steps into the equation to provide support. 

For any company that works in the tech area today, the process of attracting, hiring, and retaining people in this discipline remains a great challenge. In addition to this, the task of developing software and what it entails is a great challenge for all organizations and industries. 

There is a perception from other industries that software development companies take advantage of the technical ignorance of customers. That they tend to fail in time, how projects are planned or abuse strategies and techniques that demonstrate unprofessionalism and knowledge technology of the supplier and its stakeholders.

Today it is more difficult than ever to find a committed and transparent team that works to push customers and the software industry itself to improve. With an industry forecasting growth of up to $101B USD, many are interested in being in the software development business party. It is important that those who decide who to collaborate with, do so with teams that align with their objectives. Here's the breakdown of the presentation we did as the Icalia Labs team at WeWork Seattle in February 2015.

Extreme relationship between company and software partner

Why consider an external provider? 

What makes a company decide on relying on an external tech and software developing company? There are different reasons for selecting an external vendor to support technology development. Here are just a couple:

  1. You need to focus on your core business.

An external provider allows you to sustain daily business operations and fully think about your value proposition, think of running various experiments, and validating different hypotheses.

  1. Resources, people, or culture are not adapted or adequate to cause growth. 

This typically happens when you have raised capital and the nature of investing in resources properly has been overwhelmed by the need to move quickly through changes in the market, product, or industry.

  1. You want to reduce costs in your daily operations while maintaining growth. 

Many people prefer to increase or decrease the capacity of the workforce depending on the volume of the sales pipeline, operational or strategic challenges of the same organization.

  1. You need help from an outside source not biased by the culture and internal operation. 

In the business world, typically for an intrapreneur, there is no one with the profile of having built a digital product in the past, much less within the organization. Having a team dedicated to this task can help speed up intentions and planning.

  1. You want your organization to improve in software development: decision-making, practices, and processes. 

Even if you have an internal team dedicated to this task, your core business does not necessarily depend on software (yet). Companies depending on the construction of software as part of their day-to-day fit here perfectly, to take advantage of their expertise and transfer it within your organization.

If you’re in one of the above categories, you should think about working with a software provider partner. The reason for the “partner-provider” combination is that this requires developing a long-term relationship.

From a supplier perspective, being an element that is simply hired or fired depending on the client's needs, makes the operation on the service side very difficult: operational arrangements, search for availability, assigning the right talent, etc. From the customer's perspective, such a dynamic turns the relationship into something ephemeral, without being a priority or part of the company's strategy that requires software support. For early-stage companies, it might be a strategy that helps you get started, but eventually, the value you could get from a relationship would decrease over time. 

Before selecting an external tech and software provider, it is essential to also consider the company’s internal factors. The most essential are:

  1. The technical person in charge of the external supplier, preferably the Product Owner, is dedicated at least part-time to a product or project that a supplier is working on. 
  1. Basic knowledge of cultural engineering in the company. Good use of tools and practices maintaining the quality and direction of what the company that hires requires.
  1. Accept change as a constant.

Elements to consider in the selection of a software partner 

Once you start your formal search, you should focus on adding a team that is the best for YOUR SITUATION. It won't be the same for a large organization with legacy systems to be compared to a startup that doesn't even have a product running yet.


Just like with any other ally and supplier, culture is essential for chemistry to happen. Shared visions, values, and day-to-day mission are worth knowing.

Previous Work

It is important to see relevant work from the partner and find how they are adding value to each of the clients involved. Several companies outsource a large part of the value proposition (a sensitive issue as a business), and it is not clear how a software partner will be able to handle external entities or the relationship with entities that touch on that proposition. It is very good to ask about past clients and interview them, see the challenges faced and how they were solved, as well as strategies and solutions at a technological level to measure the capabilities of the tech and software provider.

Tools and practices

Rather than talking about modern tools and practices, the most important factor is the ability to decide on the best tools and practices depending on the situation. There are different programming languages, frameworks, engines, and too many practices constantly being shared for software implementation. Implementing the best means to the end is what your company needs.

People behind the company

Ask the partner about the history of the founders, mentors, the board of directors, the members who operate the organization, and the day-to-day work in the company. What have been your achievements? Can you share contributions to open source areas of this industry? Are there blogs, books, or articles that you have done to share knowledge? Workshops, conferences? All this information is very relevant. A company committed to the industry is a company helping others to succeed. 

Quality of their work

Ask the partner about their metrics - how they measure the quality of work they deliver to clients. Many companies do not have any kind of measurement on the quality of their work, they cannot even rate it in some way. There are very important factors to consider: time to market products, customer satisfaction, speed per deliverable, guarantee in deliveries, service, among others. Again, talk with the ally’s previous clients, even current ones. Expect good and bad comments - you have to understand that many times the client (particularly the Product Owner) affects the value that is worked on, but always contrast these comments with the points previously described.

And what about the prices?

The price factor depends on different variables. The main factors around the price you could get are based on:

  1. The geographical location of the team providing the service
  2. Types of experiences they can provide during the relationship
  3. Types of services offered during the relationship
  4. The sum of the previous points 

In terms of proposals, you’ll find 2 approaches: 

  1.  Services by deliverables, and 
  2. Time and Materials (price per man-hour). 

The first scheme considers a scope in terms of effort, goals, and a specific deliverable, probably with a guarantee on the service, depending on the partner. The second scheme is the most typical for the Maintenance and Operation of existing products, but many software companies determine the price of their services based on this. Typically, it’s calculated by multiplying the number of people involved with a client by the hours and then multiplied by the price per hour that is established by the company.

Personally, the first scheme is healthier for both parties: the partner agrees to deliver, with its due mechanisms to clarify the deliverables and progress of the determined scope, and on the other hand, the client has a perspective of what is being worked on. The second scheme can be very expensive for companies that have no experience in software development or managing engineering teams. Efforts can be misinterpreted and project prioritization could be poorly done if the Product Owner does not have the ability to make strong product decisions.

Additional issues should be important for the price evaluation such as legal matters, time zone management, culture of the partner’s region, among others. Nevertheless, these factors take a backseat to the ones mentioned before. 

Maintaining the value of your technology team

Don’t see this alliance strategy as a substitute for having an internal team in the organization. The strategy we are talking about must promote collaboration and benefit the company that requires support in the development of good software. This will mean investing to accelerate your path to more talent and knowledge through your continued focus on developing software, potentially for multiple companies with diverse challenges.

Keep in mind:

  • Your recruiting process must be happening constantly
  • Train and motivate your team, always
  • Define processes and document knowledge ready to be shared
  • Start and/or grow your internal team in line with the strategy of your tech and software provider

A successful relationship between company and software partner.

More than suppliers, we must look for allies with whom to grow. Beyond a company to which the work is delegated, you must have the support of experts who challenge the status quo, question decisions, and propose what will help fulfill the mission of the product or the company itself.

Ready to take the first step and start your Software Development?

Reach Out
Related Articles