Why you shouldn’t hire in-house developers
Software development is usually outsourced, especially by small businesses and startups, as opposed to huge corporations. Small companies can still employ their engineers, but it won’t be cost-effective. Sometimes it can even compromise the end-product quality.
👉Here are the main pitfalls that startups face when building an in-house development team:
- Recruitment is costly. It requires a lot of time and effort to find a professional. Hiring a whole team of engineers might take months. Startups simply don’t have that much time: the market situation changes rapidly, and it’s hard to plan a release a year ahead. Moreover, in these few months, you’d have to check hundreds of resumes and conduct dozens of interviews. Alternatively — to hire a recruiter and delegate.
- It’s hard to assess qualifications of those who provide software development services if you are not an expert yourself. Business owners are not required to have a deep understanding of IT: superficial knowledge of the development process is enough when you work with an outsourced team. But once you decide to employ these engineers, you have to evaluate their skills and you need to be a developer to do so, otherwise you can run into newbies or scammers.
- Outsourced teams have their own manager while having an in-house team means you need to step in yourself or hire someone.
- A team needs time to get in sync. Even if you manage to put together a team of pros, it still takes time for them to get along. Onboarding can take up to a month or two. When people start working together for the first time, a few hitches are inevitable — and for a startup, this might mean a delay of the first release.
- Employees should have workstations: you’d have to rent an office, buy tables, chairs, and powerful computers. This is a significant cost item for a startup.
- In-house staff is entitled to a downtime allowance. The development process can stop for a while due to various technical reasons. For example, in order to fix a bug or connect a third-party service, such as a payment gateway. The downtime can take from a couple of hours to a couple of weeks. Agency developers often have multiple projects running simultaneously, but if you hire full-time employees, they will have to be paid regardless. So hiring in-house developers can end up being more expensive than working with an outsourced partner.
- Post-production support doesn’t require a team of engineers. After release, you’d have to decide what to do with your in-house developers. It doesn’t take as many people to maintain an app as it does to develop it, so you’d have to fire most of them. In the end, the time spent on recruitment and trial periods can easily outrun the time spent on the development itself: it usually takes at least two months to find a qualified engineer.
In most cases, in-house production turns out to be impractical and not worth it. And so it makes sense to look for a software development partner and to collaborate on a project basis.
Freelancer or agency: which one to choose
If you want to develop an application without hiring anyone full-time, you have two options for software development outsourcing — a development agency or a freelance developer. Let’s have a look at the differences between them.
Businesses often turn to freelancers because they usually charge less than agencies do. But nothing is perfect, there are risks involved:
- For someone, who’s not a developer, it’s difficult to evaluate a freelancer’s skills. You wouldn’t be able to check whether their solutions are relevant. And more often than not, it’s hard to make conclusions even based on a portfolio — you might fail to identify his past work’s weak points.
- Freelancers don’t have a strict client communication policy. A developer may suddenly disappear and come back after 3 weeks, or fail to meet some interim deadline. Besides, without a manager, there is a high chance that a freelancer won’t be able to keep you updated regularly and in an accessible way. Even good engineers often fail to translate IT talk to common English and explain their decisions.
- All the paperwork falls on your shoulders. You’d have to draw up a contract, a non-disclosure agreement, and other papers with high precision. Otherwise, there are risks that a freelancer simply won’t complete the project on time or will leak your idea to competitors.
- A single freelancer is hardly enough for a turnkey project: it requires design abilities, front-end and back-end development skills. Most likely, you’d need to hire several freelancers and manage them yourself.
It’s nice to work with a dev agency because all these risks are minimized.If you choose a software development partner with long-term experience and a decent reputation, it is likely they have credible employees, streamlined communication, and standard documents.
However, an agency being a registered company is not a cure-all. Finding a reliable software development outsourcing partner who you can entrust with your development will take time and effort. You need to be prepared to talk everything through, remember to ask the key questions, and pay attention to the potential pros and cons of doing business with them.
What needs to be done before you go looking for a development partner
It’s best to start looking for a software development partner when you already have a project idea and corresponding requirements.
Develop an app idea
You have a concept and understand how it is supposed to work. It is important to define your business goals and determine what app features are needed and how they can be implemented: the engineers will take care of the technical part, but you need to provide expertise in your field.
Let’s say there is an idea to make a service for real estate developers: to upload past project estimates and let the system determine all vulnerabilities and unprofitable solutions. Based on this information, the app can calculate and optimize the budget for a new project. But in order to develop this solution, one needs to understand the logic behind the analysis as well as the calculation formulas. Developers don’t possess this kind of expertise, so it’s the client who provides the information.
Decide on the deadlines
Assess your budget
For example, if the funds are limited, you can make an MVP with the most basic set of features. MVP can be fine-tuned as the budget grows. If you are willing to spend more money on the app from the start, you can order it with full functionality.
Before the development, it is important to make sure that the product really has a chance to conquer the market — if no one needs your app, all the expenses will be in vain. You can evaluate your startup’s potential with the help of analytics.
A large software development outsourcing partner would have their own business analysts to help you calculate the density of the market, analyze competitors, and identify the right target audience. Check our article for more details on preliminary mobile app research.
Together with your software development partner, you will be able to work out all the details — from the product idea to its implementation. Analytics will tell what feature is a cornerstone for the users, what design will be most relevant for the audience, how to stand out from the competitors. Also, based on research, you can see if your idea is new and when it is best to schedule a release.
In fact, it doesn’t take much preparation to approach a software development partner about your app. The business owner needs to provide a product idea, its logic, and an approximate budget — and experts will help with the rest. However, in order to choose the best development team, it is important to scrutinize the experience and proposals of the potential contractors. So it won’t hurt to delve into marketing analytics and application development methods at least superficially. The more precise your vision about the future product, the more effective your communication with potential partners. And then you will find an agency that suits you best.
What criteria to focus on when choosing an agency
A software development partner can work for you remotely from any place in the world: telecommute is already a well-established and problem-free practice for IT teams. However, it is the Russian market that is probably the most lucrative in terms of price and quality. Average salaries are not as high there as they are in the US and Europe, while there are many high-level experts available. And within Russia, distance is most certainly not a restriction. It’s safe to say, you can search for the best team across the whole country and focus on any other criterion that speak about the quality of the agency’s work.
Having a large portfolio with quality cases is the first thing you should pay attention to. Check not only the most recent projects but also products that were launched between 6 and 12 months ago. If they are still up and running, apparently, it was high-quality dev work and the business lives on. Read the case studies if there are any — it’ll help you understand what exactly was developed, assess how difficult the task was and if it’s relevant to your idea. We recently wrote about evaluating an agency’s portfolio.
Case studies relevant to your field
This is another important criterion in choosing a software development partner: apps in different fields have their distinguishing features. For instance, software products in foodtech, fintech, and retail industries will significantly vary in their functionality. If your area of interest is highly specific, you should look for relevant cases.
Long-term working experience
It’s advised to look at the agencies that have been around for a while. At the very least, if a dev company has been on the market for several years and hasn’t closed yet, there must be a demand for their software development services — and this gives at least some guarantee. Agencies with considerable experience value their reputation and they will not deceive their customers or do the job poorly.
Of course, just because an agency has opened recently doesn’t mean it’s bad. It’s just that the quality of such software development outsourcing is harder to assess. But if you are actually interested in some new agency, look up its founder, google their name. That’s good if this is someone well-known in the professional community — someone, who has been in this business for a long time.
Experience with startups
There’s a difference between building an app for a startup and for a huge corporation like Google or Amazon. Budgets, timelines, and requirements for such applications will differ significantly. While developing for a startup, flexibility is especially important — for instance, to implement only the most necessary features to fit into the budget. Or change the whole idea right in the course development because the market situation has changed. Teams with startup experience are able to respond quickly, adapt to changing conditions, and give the max result with a limited budget.
Check out client references on the official website of your future software development partner. It’s safe to trust video reviews — you can’t fake those. Use Google to find the reviews on third-party resources. For example, you can look up company information on Clutchhttps://clutch.co/. Someone else’s experience can save both your money and energy. It’s good if you find detailed reviews: this way you will see all pros and cons of working with a particular agency. But stay away from short generic reviews — these can be forged.
That’s great if your potential software development outsourcing partner is represented in media: for example, if they send speakers to conferences, publish case studies on third-party platforms, or have a blog on their own website. This means they are proud of their work and high expertise and do not hesitate to take an active part in the life of the professional community.
Trust your feeling: how professional does the consulting staff seem? If you get a prompt response, suggestions are well-reasoned and based on your project specifics — this is a good sign. If employees break agreements, run late, don’t justify their ideas, and try to impose extra costs on you — it’s better to refrain from such software development outsourcing.
Realistic time and budget estimations
If they promise you that everything will be fast, cheap, and good — that’s a reason to get suspicious. On average, developing an application for a startup takes 3 months and costs around 40 thousand dollars. Responsible contractors are unlikely to go much lower than the market prices. The same applies to timing.
Questions to ask your future partner
When looking for a software development partner, search the internet, rank companies against the criteria we listed, highlight a few candidates, and set up meetings. Once you meet, you’ll be able to have a look at the company’s representatives and ask them everything you need to know. Let’s proceed to the key questions.
1. How long will it take to complete my project?
Don’t worry if you don’t get an exact answer right away — this is quite natural. To provide an estimation, analysts must figure out what exactly needs to be done, while the designers need to come up with a layout. Once you confirm the design, they will be able to give you a delivery date. But an approximate time frame, based on your app idea, might be given to you during a call.
2. Will it fit my budget?
It is important to be realistic about the budget — you won’t get any serious offers for one thousand dollars. But if you have a budget of around 40 thousand — enough to develop an MVP — a reliable agency will tell you something like this: we can implement the following features, but it won’t be enough for anything more. Keep in mind that no one will tell you the exact number at the discussion stage. The final price will be confirmed only after the design is ready. But if in the beginning they are already trying to talk you into increasing the budget or, on the contrary, promising mountains of gold for nothing — stay away from contractors like that.
3. What’s the best way to make my product?
This is an open-ended question that allows you to see what the agency has to offer. Most likely, they’ll suggest market research to see what monetization strategy applies best. Also, the agency’s representatives must touch upon the tech side of the issue: for example, to explain the difference between native app development and React Native. If they provide explanations and enough detail — count it as a point in their favor. If all you get are one-word answers, this should give you some serious thoughts about their software development services.
4. How can I communicate with the team?
It’s important to be able to communicate with the team during the development. You must be in the loop at all stages: after all, it’s your idea they are bringing to life, and no one knows the direction better than you do. It’s great when communication between developers and the client is well-established: there should be fixed dates for calls or meetings for you to see preliminary results, and for engineers to ask you whatever they need.
If the agency cannot answer this question, there is a risk that such a level of communication is not their common practice. In this case, a software development partner might either pay little attention to you or, on the contrary, constantly bother you over minor details.
Checklist for choosing a software development partner
So, to develop a software application, it’s best to opt for one of the dev agencies, which exist in abundance all over the globe. But you should approach software development outsourcing thoughtfully: don’t be guided by your emotions and don’t pick randomly just to save time.
Here is a checklist to help you do it the right way.
Our experts are always there for a chat and will be happy to answer your questions. Purrweb has been helping startups to launch their apps for 7 years. We have experience with healthcare, fintech, social networks, marketplaces — you can see all industries and products here.
Found a relevant case in our portfolio? Let’s get to know each other better: fill out the form below and we’ll be in touch.
- Anton Kiryukhin
- Aygerim Tuyakanova