Choosing the right Software Partner for your Company

edolopez.io
Icalia Labs
Published in
6 min readJul 24, 2017

Time ago I made a presentation for the WeWork South Lake Union community located in Seattle, WA. It was a share-and-lunch ritual to spread a casual topic. It was important for me to share this 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 spend sometime analyzing different scenarios, advantages and general things to care about partnering with a software company to help you in your business and tech objectives.

Extreme Partnership between parties

Why to 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 commons I have seen can be highlighted as:

  1. You need to focus on your core business sustaining the daily operations (but need to run experiments and assess different options).
  2. Not enough resources/team/people to maintain growth. This happens when you have fundraised money and the ability to intelligently invest it has surpassed the pressure due to decisions and the way your industry moves.
  3. 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.
  4. 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 means. Having a team dedicated to that task might accelerate the roadmap and action plan.
  5. 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 be choosing a Software Partner. The reason we are calling this party a “Partner” is because the best strategy is to develop a long-term relationship.

From a provider perspective being a plug-and-play resource is hard to sustain due the operational arrangements needed as a company where the most valuable assets are inside the head of every member within the organization. From the customer 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 might affect a valuable involvement for both sides.

One thing for sure before assessing possible partners, is to be aware of the internal requirements you need to have. The most essentials to cover are:

  1. Having a technical person on your team, typically, the Product Owner.
  2. 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 don’t have any experience handling teams of 10, 100, 1000+ technical people, combining disciplines to produce an outcome, or overcoming from a downtime on services affecting thousands of customers on the internet.

Start your selection of partners

Once that you start you bidding procedure, the main points you need to consider are to be aware 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 compared to that startup business which doesn’t have any kind of product already operating.

Their culture

As any other partner and 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 for previous customers, confronted challenges, strategies and solutions are essential to understand capabilities of the company.

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 mean 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 books outside to teach other developers? Workshops? Conferences? All this information has a lot of meaning. A company committed with the industry, is a company helping others to succeed.

Quality of their work

Ask the partner about their metrics — how they are measuring the quality they deliver to their customers. Many companies doesn’t have any quality besides delivering in a timely manner. But other factor 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 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 on 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:

  1. Geographical location of the team providing the service
  2. Type of expertise providing during the relationship
  3. Type of service providing during the relationship
  4. The sum of all points previously mentioned

In terms of proposals, you will find only two possible approaches: 1) Project Scoped and 2) Times 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 the calculation of people involved with a customer times the amount of hours involved per month times an hourly rate.

In case you and your team doesn’t have any knowledge in building software, it can be more expensive due to bad prioritization and misunderstanding on technical requests affecting the product roadmap. Additional things should be important from a pricing standpoint such as legal, time zone handling, national culture, among others, but those are external factors for the partnering decision you are making.

This answer on Quora explains with great detail the different situations around projects and pricing on software services.

Retaining the value of your team

Don’t think this partnering strategy is to substitute a potential internal team. The strategy we are talking about should promote collaboration and benefit of 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 with experts challenging the status quo, questioning decisions from the past and proposing things that will help achieving the mission of the company.

--

--

edolopez.io
Icalia Labs

Technology, my passion. Software, my career. Optimizing the financial stack for the LatAm remote worker 🌎 via Coba.ai — Bilingual: (EN | ES)