How to outsource IT development if you are a SaaS founder
We have conducted interviews with startup founders and created this guide to help SaaS entrepreneurs overcome technology challenges & obstacles.
This article aims to be a comprehensive knowledge base that you can retrieve
anytime when you are facing tech problems and not sure what to do.
We are highly encouraging you to embrace it, improve it, to customize it to your mindset & system because this is what will make you successful: your own system in which you operate.
This is the first version of our initiative and will be further developed based on more feedback and discussions.
Racing against time
Startups are racing against time: having limited resources - time & money -, but having to show off results really fast to be able to continue their journey and achieve their goals.
Juggling time and balancing between
● acquiring and supporting customers,
● spending time on meeting investors for fundraising,
● building a great team with core competencies,
● finding the right technology and developing a value-adding product.
This rush sometimes results in losing focus. If you are spending lots of time on the business side, which you have to do, you have no capacity left to concentrate on product development.
At first, you need to have great product development and project management skills, and not tech knowledge. You need to focus on collecting feedback on your product to truly understand your customers’ requirements and be able to translate them into deliverables, as well as to create your product development strategy.
Then you can start thinking about the technology: how to transform your concept into an affordable, maintainable digital solution that generates value in the long run while preserving the quality as well.
Since you have limited resources, it is essential that you have a clear vision of the product you want to build and the business goals you want to achieve.
This approach will enable your business and your technology to scale.
In-house Development vs. Outsourcing
Hiring IT developers in the US is extremely expensive and finding at least a part-time developer can be also tough.
Instead of focusing on growing your business, you spend valuable hours finding ONE person with the skills and experience needed, who fits your team.
Furthermore, you also have to invest time in the new employee, to get familiar with your daily operation, company culture, etc.
Outsourcing development can spare you costs in terms of salary as it is cheaper, not to mention procuring and maintaining hardware needs, but more importantly, it saves you significant time on hiring costs: training a new employee.
Skills & Competencies
There are tons of talented IT developers, however, they are specialized, having expertise in a certain area. Of course, no one can be an expert in everything, not even full-stack developers.
By outsourcing tech development, you get not only ONE person but an entire team with a variety of skills and a deeper bench of knowledge.
Making wrong technology decisions costs a lot. Outsourced teams easily adapt to new challenges, and you do not have to start from scratch again or modify your business model to be in accordance with changes.
In-house teams see every movement from the inside, having a deep understanding
of the business and where your company goes.
Outsourced tech teams might have less insight into your business, therefore, their reaction time might be slower than your in-house teams’. However, the more you involve your partner in the daily operation, the faster they see through the situation if a problem occurs, so they can react immediately.
Since at the end of the day their livelihood depends on their job, in-house employees are following the orders of their boss. Hence, sometimes they have less courage or just simply do not care to stand up against their supervisors and tell them if they do not agree with something.
A partner is on the same level as you, so more likely to be honest with you and tell
you that you are going in the wrong direction.
Imagine the following scenario:
There is an upcoming hard deadline for releasing a certain version of your product. To raise more funding, you have to show your investors a viable, working product that proves to them that they spent their money wisely and makes them invest more. There are lots of features to be done and you are running out of time.
A real tech partner truly cares about your business and will tell you the truth - even if it is against its own interest. Will suggest cutting out tons of surplus and focusing only on the “low-hanging fruits”: on the essential features that are feasible to develop within the time and budget available.
To find a real tech partner... well that’s another story. In the next chapter, we will show you how you can get one!
Find a Partner, not a subcontractor
Difference between a Partner and a Subcontractor
In our opinion a tech partner
- invests time to learn deeply what brings value to your business, how your business operates, etc. in order to be able to effectively support you grow your business;
- focuses directly on your "quick wins": what drives you a real long-term value within the timeframe and budget available without risking countless rework or quality issues;
- guides & advises you: shows you options that have the best chances to bring you those “quick wins” and tells you if you are going in the wrong direction;
- makes efforts to earn your trust;
- is responsive and communicates transparently;
- takes responsibility;
- has a proactive, dedicated approach, and thinks out of the box.
These are just a few features, but in the chapter “Outsourced tech partnership 101” we show you from a more practical point of view as well as what we consider a tech partner and how to make partnerships work successfully.
In our opinion, the following elements can easily cause your projects or partnerships to fail in a short time:
- lack of focus
- lack of experience
- lack of trusted tech partner
- lack of product development expertise & product management skills: lack of defined goals, strategies, lack of clear requirements, roadmaps, etc.
In the next subchapters, we give you a guideline to help you acquire the best possible tech partner!
Define your workflow
- Define your workflow
- Evaluation: Think through what you expect from a partner and how you will weigh certain aspects & compare the different development companies. Determine the core qualities that are the most important to you, weigh, and prioritize them.
- Example / Test project: Create a test project to have a benchmark on which you can compare quotes: see how the different contractors would solve your problem.
Time to start exploring how other entrepreneurs who walked through the same path managed to get a great partner. It’s time for you to start reaching out to your network, collect their experiences, do your research, and get all the information available about the contractor landscape.
- Creation of a candidate list
Collect the candidates you found via particular channels (Upwork, LinkedIn, Google, etc.) and the ones who were recommended by friends, co-workers, co-founder communities, etc. Create a list of candidates and organize interviews.
Conduct interviews with the candidates and collect answers needed for the evaluation items. A few indicators that show whether the candidates are in fact interested in your business and think about you as a partner, not only as a source of money:
- Do they ask questions at all?
- Do they ask you to explain what your company does, how you operate, what makes your revenue?
- Do they ask about your future plans?
- Get quotes
First-round to select and drop out those who are certainly not a good fit for your needs. A few example questions you should ask yourself:
- Did they understand your business requirements? Does the quote cover everything that you need and ask for?
- Does the quote exceed the project scope you set on the test project?
- Do those additional features bring you closer to what I want to achieve? Or just some plus unnecessary features for charging more money?
- Evaluation & Selection
Evaluation is one of the most substantial steps of the selection process. In the next block, we give you some tips and advice on what to consider during the evaluation.
Key factors to think about - Define & prioritize yours
We collected some factors to think about. Nevertheless, you are the one who has to define which elements are crucial to you and how you weigh them.
While you are doing the selection & evaluation process, you should also keep in mind these:
- Long-term commitment & support: A tech partnership does not end with one project, technology support will be needed later as well.
Does the candidate offer this?
- Maintainable technology needed:
You need a system that is
- maintainable at a low cost in the long term,
- can be easily further developed (modular),
- can be comprehensively monitored,
- Understanding of your business: Do they understand your core values? Do they make an effort to understand your business?
- Price: What does the price they offer cover? Are the technology support and project management included?
- Company size: Be aware that the company size can influence the availability of resources and capacity management.
- Technology expertise: Make sure that the candidate has the tech skills and the competency you need. It is also a good point if they follow the latest technology advances to be up-to-date and modern.
- Source & background check: What source does the candidate come from?Google or on any other platform? Did someone refer/recommend them?If the former, conduct at least a basic background and credibility verification of your future partner and check their
- LinkedIn: Do you have common contact with anyone who belongs to that firm? Ask that contact, if he/she knows them, or has any experience!
- Reviews on Clutch, Techreviewer, etc.
- Timezone & location: Imagine that you face a major urgent issue but cannot reach your partner’s team as it is the middle of the night over there.
Timezone and company location are directly affecting your daily operations and communication with your partner. Keep this in mind.
You need a partner who is available, responsive, and aligns with your daily operation.
- Who you talk to: At first, you might get connected with someone from the business side (CEO, COO, Sales, etc.). After a short introductory call, however, there is no need for talking to middlemen - especially during the Interview!
You should get connected and be able to talk directly to a tech expert with whom you can get straight to the point.
- Language barriers: The communication flow with your partner shall be smooth. Even if their pronunciation is not the best, they understand what you are saying and deliver accordingly, then most of the work is done.
- Personal perceptions: You should feel comfortable with whom you are talking. If during the Interviews you sense that there are severe differences between you and the candidate’s communication style, mindset, approach, work ethic, etc., it might not be the best match.
How did you feel during the Interviews? Did you have “chemistry”, what does your gut tell you?
- Economic/political/legal risks: When you are about to decide which country you want to outsource from, take into account aspects such as,
- credit rating of the country (e.g., according to Moody’s credit rating),
- legal specifics,
- taxation (e.g. double taxation agreements),
- infrastructure, etc.
- Investors’ opinions: What is your investors’ opinion about outsourcing? Do they give you any restrictions in terms of the selection process?
Outsourced Tech Partnership 101
We would like to show you some characteristics of how a real tech partnership should work to help you evolve a balanced, successful partnership.
Clear communication & building trust is the key
Single point of contact:
Have 1-1 point of contact on both sides, who
- represents the company,
- leads the communication directly,
- aligns the works, and
- is responsible for the execution.
Agree on boundaries and define precisely who is responsible for performing which tasks.
Transparent, clear communication - especially when it comes to mistakes:
Under any circumstances, your partner must be transparent and honest with you, and inform you immediately in case of mistakes to reassure you that they are dealing with the problem. Everyone makes mistakes, of course, the problem arises when it is not managed properly.
In case of mistakes, your partner should at least
- describe retrospectively what happened exactly,
- what caused the error,
- what they did to fix it and
- how they make sure that this problem will not happen again.
It is an absolute red flag when your partner becomes unavailable in general, or even starts e.g. declining meetings without any notification or explanation whatsoever.
As a SaaS entrepreneur, your most crucial goal is to deliver the most value in the shortest period, you need to prioritize effectively and find shortcuts.
Request your partner’s opinion and insights as a tech consultant! Let them challenge you and become a proactive member of your team!
The most essential target is to maximize the value to be delivered from a certain budget.
For example, your tech partner advises another direction that requires only 50% > of the available budget, but in return, they can realize 90% of the business value/goal you set.
Of course, you want to know about this option!
Once you start providing more and more information and letting your partner observe your business in detail, the more it enables them to think of more opportunities, and thus deliver more.
For example, you drop in an idea of a new feature you just read/heard about. You have no clue how it works, or whether it can be built into your system. Actually, it does not matter.
Ask your partner to check it out and what their opinion is about it!Let your partner think together with you! They might come up with different approaches on how to realize your goal more efficiently.
Or, If your partner has enough access to information and is proactive, they may come up with new ideas on their own. For example, after doing some research in your system, they discover certain things to be improved and bring them to your attention, e.g. characteristics, trends, predicting possible future problems.
Don't forget that this is a two-sided relationship between partners on the same level: requiring both parties to make efforts and be attentive & proactive!
To ensure continuous communication & workflow with your partner, determine which communication channels you are going to use and what their purpose/roles are.
- Online meetings: face-to-face communication is the most important. Organize meetings on a regular basis, e.g. 2 times/week.
- E-mails: for sending summaries, follow-ups of what you agreed on with your partner (overview of requirements, deliverables, milestones, deadlines), legal and other documents, etc.
It's good to have a follow-up on the discussed things at the weekly meetings, but it's better to be built into the workflow.
- Slack / Discord channel: for daily communication, monitoring minor tasks, and issues.
- Other business channels your company uses: Involve your tech partner in your own business channels to enable them monitoring performance. This way, their ability to react in time significantly increases.
- Gitlab or some kind of a ticketing system: for submitting, and tracking issues e.g. bugs.
Meetings & agenda: How to use your time effectively during
New project brainstorming
Preparing for the next project. Make sure to discuss the following topics at least
- Solution proposal & requirements:
- Possible directions, options of the development,
- Introducing new feature/function requests,
- Deliverables: define clearly what the deliverables are, what your expectations are, what the results you expect - how those solutions should add value to your system.
- Project budgeting,
- Time estimations,
- Product development roadmap,
- Product release dates & testing: Testing at first in a development environment would be ideal. However, in most cases you won't have a testing team at the beginning, therefore you are going to test in production. This situation demands a cautious attitude and a high level of responsiveness on both sides in order to minimize risks and avoid major system failures. Specifically, talk in detail about:
- What happens when a new feature or a new / updated version of the system goes to production?
- How to roll out features to your customers? (Customers should also be told that a “turbulence” can be expected. Provide them with an interface for error reporting.)
- How to stabilize and monitor the system after production deployment?
Status overviews & updates
Always have an agenda of the things to be reviewed in order to synchronize work, deal effectively with upcoming issues, etc.
- Small-talk: Know your partner & build a meaningful relationship. It's not only about work!
- Reporting: Presenting the status of the current project, obstacles, discussing urgent issues (e.g. bugs), questions, modifications needed, features to be updated, etc.
- Next steps: assigning tasks for the next week(s)
- Changes of directions: If there are any changes, or challenges in short-/mid-/long term plans on any side, inform each other and talk about it as soon as possible.
- Monitoring the product roadmap: Tracking the progress of development.
- Can we keep up with the current direction and speed?
- Is there any bump? Both sides observe the other side
In the early stages, it is not essential, but in the long run, it will be advantageous to ask for project administration: document the development, ask for guides, and require more testing. This way your product and code will be documented and clear-cut which reduces your exposure to your partner and makes it easier if you want to replace the partner.
Nevertheless, be aware that these additional tasks will significantly increase the operational overhead of the project and its overall expenses as well.
Must-haves - on your startup side
Let’s assume, you choose to outsource tech development. How to make good technology choices? It is easy to mess up when it comes to technology.
First of all, ask yourself:
- What is the most important right now?
- What makes the biggest impact & value for you immediately?
You should focus only on the win, knowing what the real value is in your project & exactly what results you expect.
There is no perfectly clear recipe for success, but according to our experience, we created a list that can help you not to fall into the mistake of making the wrong decision about outsourcing tech.
Cost/value analysis & prioritization
To make good choices, you should be prioritizing projects according to value generation. You can't do everything at the same time & the same level. You need to see the quick wins you want, and what the must-have developments are.
Analyze costs and values precisely, and compare them to be able to align business and technology.
Try to build a level of trust with the outsourced team to be able to have honest, and transparent communication & to decide together if a piece of development brings value or not.
The Product Owner represents your company towards the outsourced development team and is the single point of contact from your company’s side.
You need a Product Owner / or someone, who is responsible for performing the following tasks:
- Creating product vision & strategy:
- Planning & strategy making:
- Defining the scope of projects, prioritizing them
- Creating product roadmap
- Managing & tracking the progress of product development:
The Product Owner has domain expertise and should be always able to maximize product & business value. The Product Owner communicates with both the in-house & the development team, being available to them in case of any questions.
- Planning the product launch/release.
- Planning & strategy making:
- The central source of information:
Working closely together with other teams and aggregating all the incoming information from
- the business side - those who interact with customers' Product (Marketing) Management / Customer Support teams collecting customers' feedback, change in customer needs, etc. -, and
- from the technology side - Engineering teams.
So at first, the Product Manager gets feedback from customers, collects the data, and transmits them to the Product Owner. Then the Product Owner can start syncing with the Engineering team.
However, at startups, the Product Manager and Product Owner mostly have the same role, and at the beginning when the size of the team consists of 1-3 people, it is usually performed by one of the CXOs or founders.
Just imagine, if these main things didn't exist, how would you push a project from A to B together? Instead of wasting time by exceeding the scope of development that you need or pursuing something that doesn't give a breakthrough, focus directly on the result.
Do you really need to know the tradeoff between technologies or alternatives?
Actually, yes, you should know what impact your decision has. Of course, most product decisions are made together as a multidisciplinary team. But when it comes to making technology choices, let the engineering team challenge your ideas, let them be a part of the discussion, and have a brainstorm together. When you find a truly valuable partnership you should focus on growing your business while they take care of building the development and achieving your goals.
Many special thanks to our clients, participants, and supporters who contributed to creating this guide by sharing their valuable insights and their real-life experiences: