Pre-AI era · 2017. Written before AI was part of how we build. The fundamentals still hold; tooling and workflow advice may be dated.
Originally published on Medium on July 24, 2017. Lightly edited for clarity.
Choosing the right Software Partner for your Company
Why companies hire an external software partner, and what to assess when choosing one: culture, past work, practices, people, quality, and pricing.
Eduardo Lopez De Leon · Co-Founder & CEO
· 6 min read
Some time ago, I gave a presentation for the WeWork South Lake Union community located in Seattle, WA. It was a share-and-lunch ritual for spreading a casual topic. It was important for me to share these thoughts because I was there with my CTO and an engineer, planning and working for one of our most loyal customers, thinking about the next steps to take in their product strategy.
It is totally possible to provide a high-quality service and experience in the software field to any customer. Right now, working with digital products and software is much easier than it was decades ago, so I spent some time analyzing different scenarios, advantages, and general things to care about when partnering with a software company to help you with your business and tech objectives.
Why choose an external company?
What brings you to consider an external team to help you in the software field? There might be different reasons, but the most common ones I have seen can be highlighted as:
- You need to focus on your core business sustaining the daily operations (but need to run experiments and assess different options).
- Not enough resources/team/people to maintain growth. This happens when you have raised money and the ability to intelligently invest it has surpassed the pressure due to decisions and the way your industry moves.
- You want to reduce costs on your operations while growing. Many people like to augment or reduce the workforce depending on the sales pipeline, certain goals, or particularly the strategy itself.
- You need help from an external source not biased by the internal culture. In the enterprise world, typically for an intrapreneur, there hasn’t been anybody involved in the challenges that building a product entails. Having a team dedicated to that task might accelerate the roadmap and action plan.
- You want to improve in the software field: decisions, practices and quality. Even if you have an internal team, your core business doesn’t rely on Software. People relying on designing, building and scaling software products might fit here perfectly.
Being in one of the previous categories is the reason to choose a Software Partner. The reason we are calling this party a “Partner” is that the best strategy is to develop a long-term relationship.
From a provider’s perspective, being a plug-and-play resource is hard to sustain due to the operational arrangements needed as a company whose most valuable assets are inside the head of every member of the organization. From the customer’s perspective, the relationship becomes ephemeral, neither essential nor even part of the strategy for the company acquiring the services. It may be acceptable for the early stages of a company, but it might affect valuable involvement for both sides.
One thing to do for sure before assessing possible partners is to be aware of the internal requirements you need to have. The most essential ones to cover are:
- Having a technical person on your team, typically, the Product Owner.
- Embracing change as a constant: modern tools, technologies and procedures.
Considering a company fully dedicated to software gives them the capabilities to understand the complexities of building something intangible and technical at the same time. Your company probably doesn’t have any experience handling teams of 10, 100, 1000+ technical people, combining disciplines to produce an outcome, or recovering from downtime on services affecting thousands of customers on the Internet.
Start your selection of partners
Once you start your bidding procedure, the main thing to consider is making sure that you are pairing with the best of the best for YOUR situation. It won’t be the same for a large company with legacy systems as for a startup business that doesn’t have any kind of product already operating.
Their culture
As with any other partner or vendor, culture is essential to make the chemistry happen. Sharing visions, values, and the mission day to day might help.
Past work
It is important to see relevant work from any partner and relate it to the value they are offering for the customer. There are many companies outsourcing their value proposition to other companies, and it is not clear how they are handling those external parties or how the process is controlled. Also, asking about previous customers, challenges faced, strategies, and solutions is essential to understanding the company’s capabilities.
Tools & Practices
More than talking about modern tools and practices, I would say the most important thing is the capacity to decide on the best tools and practices depending on the situation. There are different programming languages, frameworks, engines, and a ton of different practices to implement software. Implementing the best means to an end is what your company needs.
People behind the partner
Ask the partner about the background of the founders, advisors, the board members, and operational members that work in the day to day of the company. What are their achievements? Can they talk about contributions to the software industry in open source? Any published books teaching other developers? Workshops? Conferences? All this information has a lot of meaning. A company committed to the industry is a company helping others succeed.
Quality of their work
Ask the partner about their metrics — how they are measuring the quality they deliver to their customers. Many companies don’t have any quality metric besides delivering in a timely manner. But other factors are important to consider: satisfaction of the customer, velocity per deliverable, service guarantees, attention, among others. Try to talk to previous and/or current customers of the companies you are looking to partner with and see what they can say about their entire experience. Expect good and bad comments — understand that many times the customer (particularly the product owner) affects the outcome, but contrast those comments with all previous points.
What about pricing?
The price factor depends on different things. Main factors around the price you will get are based on:
- Geographical location of the team providing the service
- Type of expertise provided during the relationship
- Type of service provided during the relationship
- The sum of all points previously mentioned
In terms of proposals, you will find only two possible approaches: 1) Project Scoped and 2) Time and Materials. The first approach considers a scope in terms of effort, milestones and a concrete deliverable, possibly with guarantees around the service. The second approach is the most typical for maintenance of existing products, but many software companies price their services based on this. Typically, it is calculated as the number of people involved with a customer, times the number of hours involved per month, times an hourly rate.
If you and your team don’t have any knowledge of building software, it can be more expensive due to bad prioritization and misunderstanding of technical requests affecting the product roadmap. Additional things should be important from a pricing standpoint, such as legal, time zone handling, and national culture, among others, but those are external factors for the partnering decision you are making.
This answer on Quora explains in great detail the different situations around projects and pricing in software services.
Retaining the value of your team
Don’t think this partnering strategy is meant to replace a potential internal team. The strategy we are talking about should promote collaboration and benefit the company looking for a software partner. It will mean an investment to accelerate its path to access a more capable technical team and absorb a complete method to build better software.
Keep in mind:
- Your recruitment procedure should be happening all the time.
- Train and motivate your people, always.
- Define procedures and knowledge ready to share whenever.
- Start and/or grow your internal team along with the partner strategy.

Happy relationship between a company and a software partner.
More than vendors, you need to seek partners and allies with whom to grow. More than a company to delegate work, you need to count on experts challenging the status quo, questioning decisions from the past, and proposing things that will help achieve the mission of the company.