How to choose the right bespoke software development company?

What Kind of Team You Need Extended Team Managed Team Outsource Entire Process Communication is between: In-house Product Owner and Remote Development Team In-house Product Owner and Remote Product Owner Stakeholders and Remote Product Owner In-house Product Owner ✔ ✔ ✘ Remote Product Owner ✘ ✔ ✔ Remote Scrum Master ✘ ✘ ✔ Remote Development […]

by Theodora Palikarska

December 11, 2018

7 min read

cardboard communication connecting 1246743 scaled 1 - How to choose the right bespoke software development company?

What Kind of Team You Need

Extended Team Managed Team Outsource Entire Process
Communication is between: In-house Product Owner and Remote Development Team In-house Product Owner and Remote Product Owner Stakeholders and Remote Product Owner
In-house Product Owner
Remote Product Owner
Remote Scrum Master
Remote Development Team
Threats:
  • The in-house PO does more work and is more dependent on stakeholders for guidance.
  • Distance might affect the process more and communication might be harder.
  • Might fail if you don’t have strong  IT & process experts.
  • Paying for an additional PO and a Scrum Master.
  • Have to find the right person for a remote PO, who cares about your business.
  • Working with the wrong remote PO might deviate the product from the intended track.
  • The project might take a different direction than the one intended from the client.
  • Not optimized value for money.
  • Unaligned business interests might lead to mistrust and make work harder.
Benefits:
  • You have the entire control over the project development.
  • Can work with freelancers or multiple companies on the same projects.
  • The remote PO does all the micromanagement and relieves some of the pressure on your in-house PO.
  • Outsourcing company might establish better processes, due to greater experience in product delivery.
  • The company will be more involved in the development when they are involved and understand the business perspective.
  • Higher retention rate.
  • Don’t need to support an in-house IT department.

Depending on what type of remote team you need, you can decide on the type, size and qualification of the potential software partner .

In case you want an extended team you can go with freelancers and smaller companies, which may result in less expenses for development. That would be a good choice if you’re working with multiple providers and already have rock solid processes and Product Owners in-house.

If you have business experts, but you want them to focus on the bigger picture and not do the daily micromanagement you may want to opt for the managed team. In this case you will need a company with business experience and proven track record of successful projects involving a PO on their side. In that case you might find that a medium – large company is a better fit for your project.

When you want to outsource the entire process you will have to find an experienced larger company which has proven experts in all the positions needed. That would be a good fit if you do not have any qualified Product Owners in-house and do not want to support an in-house IT department.

You could consult with the companies you’re interviewing what type of team they would consider better in your case as they probably have extensive experience in building teams and might actually have some good insights.

Region & Country

Budget and working hours could be a significant hindrance during the development process, thus you need to take few things into account. Working with a team in a different timezone could lead to communication gap, delays, security risks, etc. However, there are also numerous benefits such as 24-hour development cycle, greater experts and more affordable pricing.

Weighting the pros and cons of a specific region should include quality of software development, average pricing  and security standards in the country. Depending on your privacy needs, financial goals and the difficulty of the desired project you will come with a list of countries which might be a good fit.

Example: My company is based in the US. I want high security, budget is not an issue and would like someone in my timezone. I would outsource in the US.

My company is based in the UK. I want quality, security and a relatively small budget. I would go with Eastern Europe countries.

My company is based in France. I want a cheap draft of my product, delivered fast and am not concerned with security, nor need the highest quality. I would use developers from India.

Agile Development

A fixed price project, where you only give requirements and deadlines and then receive the expected software might sound alluring, however data has confirmed that waterfall projects fail almost 3 times more often.

Choosing a bespoke software development company which follows agile methodology guarantees:

  • Shorter delivery cycles and focusing on business value, which leads to faster ROI:
  • Great visibility, seeing every step of the project in Jira and also due to Sprint meetings.You’ll have greater control over the development of your product.
  • Higher satisfaction on your side as your Product Owner will be constantly involved and will be able to adapt the software to your business’ needs.
  • High product quality due to testing integrated in the cycle.
  • Success, even if you’re not 100% sure of your desired specifications in the beginning.
  • Reduced risk, because the project is constantly adapted to your preferences, thus guaranteeing you will have some version of a working product.
  • Extreme flexibility allowing you to deviate from the original idea, based on users’ feedback.

Industry & Technology Stack

A software development partner who has a focus will always be a better choice. If you want to work with a certain technology, find those experts.

Want Java? Go with a java development company.

Having a core competence guarantees that the developers will already know probable issues in production, the toolset, how to make a product scalable, make less mistakes, be up to date with the latest trends and possibilities of the tech stack and will be able to help each other out.

Your business is in aviation? Look for Aviation Software experts.

If you do not have a specific technology in mind aim for industry experience. This will lead to bigger ROI, reduced time for establishing a bond and faster delivery. The developers will already know business goals and threats, will already know terminology, making communication easier and will be able to apply past experience.

With both technology & industry experts you could not only get developers, but also people who might give great insight and consult you on different business aspects, leading to greater customer satisfaction and higher ROI.

Additionally, go with experts who also have business skills. This would lead to easier communication, innovative ideas on their side, will let them make up for the gaps in your business knowledge and they might even assist with sales, marketing and networking.

Cultural Fit

Choose a company which has a culture similar to yours and either has the exact same values, vision and beliefs, or pick one which could add value to your project with something your team lacks. Depending on your company and project needs you may need to partnerwith someone who has standard, friendly, competitive, entrepreneurial or unidentified culture or some sort of mixture.

Standard Friendly Competitive Entrepreneurial Unidentified
Description Companies with dress codes, strict hierarchy and strict processes and procedures which have proven to guarantee quality, stability and security. Companies focus on the wellbeing of their employees with frequent team buildings and benefits, hiring those who are a cultural fit and then helping them develop skills. This culture is result-oriented, hiring only the best talent, thus companies with it are often on the edge of innovation, pushing boundaries and growing fast. Entrepreneurial culture encourages trying out new solutions, risk-taking and flexibility in order to find the best possible outcome of a situation. Companies choosing  to focus more on tech skills and less on leadership, hiring experts with no specific strategy when it comes to values and vision.
Benefits – Great at risk management.– Typically provenly successful companies.– Would have a lot to teach you on processes. Will have very little turnover, allowing you to work with same people.– Focus on customer service and provide satisfying results.– Straightforward and personable approach. – Will get the job done in an above average expert manner.– Can work under pressure.– Working with capable and confident specialists. – Great business skills will help understand your business.– Will find innovative solutions to your problems.– Will share their thoughts openly. – Could be well technically prepared.– Could take a project faster and go straight to execution.
Threats – More administrative tasks could slow your project.– Wouldn’t bring innovative solutions to the table due to high risk. – Hard to maintain in a bigger company.– Might sometimes choose employee happiness over client’s satisfaction. – Employees could start competing, which could decrease satisfaction.– Could result in employee burnout.. – Might occasionally fail.– Risk-taking could cost your company more. – Could have a very low retention rate.– Might not be able to grow and scale your team.– Could have low employee motivation.

Questions

From my experience in a bespoke software company, first of all to find a suited partner you need to gain some information about their experience, processes, structure and beliefs. When observing their attitude during the interview, make sure to avoid those who only agree with you and do not trust companies telling you they can do anything. Such companies may either have little experience and not yet know their true abilities, or may decide not to confront you in the beginning which will result in more trouble throughout the project.

However, here are some questions you could ask in order to determine if a company is a good match:

Software Development

  • Have you done any project with the same Technology/Industry/Features?
  • Could you send a code sample from a previous project?
  • How do you see my role in this project and how are we going to communicate?
  • What files will I have access to during the project? (GitLab, GitHub, Jira, Trello, etc.)
  • What is the software development methodology you are using?

Team Expertise

  • How long would it take to scale the team assigned to my project by 1/5/8 developers?
  • What is your hiring process and how do you choose your employees?
  • What is the turnover rate at your firm?
  • Will the developers assigned to my project work on any other project at the same time?

Company Culture

  • What if I’m not satisfied with the product or service?
  • What business skills do you have and how do you evaluate client’s goals and integrate them in the development process?
  • What is your billing structure? E.g. weekly, hourly, fixed?
  • What is your mission statement and what are your company values?
  • What are your practices when something goes wrong and how have you handled it in the past?