How to choose a software development agency
This article will show you how to approach the selection of a software development agency and hire the best-dedicated software development team in a way that nearly guarantees success without much of a fluff.
To make it simple for everyone I assume that you already
- asked friends to see if they have someone to recommend.
- used Google to find out that there are hundreds of software companies.
- realized that everyone says they have the best in class software engineers.
- understand that “Top 10 software development companies in XZY” articles are just a marketing gimmick.
- know basic terms from software development industry.
I’m not going to mention costs as the primary factor for a specific reason – it’s not as simple as multiplication of time and rates. Instead, I encourage you to read more about most costly mistakes made when working with software development company and the real value of scrum master as those are real money savers.
For now, let’s focus on a selection process.
Time difference is not bigger than 6 hours.
Software development requires frequent collaboration between decision-makers and the development team. Even though tools such as Google Meet, Zoom, and Slack made collaboration possible without lots of in-person meetings there is still a need for face to face conversation.
If you haven’t run a software development project in the past you will be surprised how many questions both sides can have once it starts. For that reason, a time difference is a key factor. You need to be able to jump on the call at least for two hours if a situation requires it.
Personally, I would exclude any software development agency where the time difference is bigger than say 5 to 6 hours.
Agency specialized in your business domain.
Software agencies can be divided into three categories
- technologically focused that praise themselves as masters in Java, Python or data science.
- business focused that optimize delivery to meet specific business goals.
- generally focused that works on everything in any industry or technology – usually big software houses.
You can quickly figure it out by looking at company blog – do they write more about business optimization and time-saving techniques or technological advancements? There is no go or bad answer here.
Think about your goals and make a wise selection based on items you want to optimize.
Proven record of past experience is clearly visible.
Nothing says more about the company that happy customers. Usually, software development agencies make it easy for you to see their past works.
There are number of ways to get references
- browse company website home page and case studies section.
- visit portals such as Clutch and LinkedIn.
- use applications built by the software development agency.
- reach out to the company the get contact information of the bast clients.
Note that some of the references are accessible only after inquiry. Not all of the clients want to be associated with software agencies, that’s specifically true for the corporate sector.
Culture & company size reflects your vision.
Let me put it this way, a software development agency will be an extension of your company. They will influence not only how you develop software but also some of the business processes.
Culture alignment is the key.
That is why, if you want to move fast with small to medium-size teams, have access to the founders, and get professional advice tailored to your needs select someone who takes care of every customer regardless of their size.
On the other hand, if you need corporate-like release cycles, top-in-class documentation and dozens of developers better find a bigger partner that can support you in full.
Think of what you want to achieve and be smart about your reality.
Customer centric approach is in place.
When we think about new products there is always a certain level of excitement hanging in the air. Everyone is overly positive about change and upcoming opportunities. In reality, however, even in the best setup things sometimes do not go quite well.
In such a case, both parties need to be supportive and willing to go beyond expectations to make things right.
Don’t be afraid to ask a software development agency a few personal questions before you engage.
- How they behaved when projected turned out to be underestimated in the past?
- How they handle production-level incidents that happens over the weekend or at night?
- Do they take full ownership of the product in case you are busy selling vision?
- Do they stop development the moment you missed a payment by a few weeks?
Answers will give you a basic understanding of the software development agency approach.
Responsive and clear communication all the time.
Almost certainly, in the early stages of conversation, you will talk with founders, salespeople, or just product owners before you reach developers. Even though business representatives are usually skilled orators there is a chance that development teams will behave in a similar way. Remember that we tend to hire people with alike personalities.
So, ask yourself if they are responsive? How long it takes to get an answer? Is everything clear so that you don’t need to ask the same question three times?
And above all, do you enjoy conversations with that software development agency?
Work only with agencies that offer complimentary services.
A good rule of thumb is to engage with the smallest possible number of agencies to avoid unnecessary coordination activities and repetition. Don’t take my word for granted and read more about working in silos yourself.
Anyhow, the absolute minimum is to select a partner that covers not only software development but also production release and maintenance.
Some of the companies go even beyond that offering marketing & PR support through a proven network of friendly agencies. At least this is what we do in Pragmatic Coders while building custom solutions.
Consider solely cross functional, co-located teams.
The software industry underwent a great transformation over the last 15 years, not only in the field of tools and frameworks but also in the area of development methodologies. There are two clear winners – Agile and Lean. One gives you flexibility and transparency, another data-driven approach to waste elimination. Both rely on cross-functional teams.
The one that is a combination of smart, engaged people of different skills.
- Product owner who is always going to look for a better solution.
- Scrum master that makes sure a team performs closes to its potentials.
- Developers capable of solving complex problems regardless of their nature.
- UX designer who will present your vision in the best possible light.
Too bad it’s called software outsourcing, not product development.
Technical excellence that speaks through past works.
Finally, it’s time to touch on an aspect that is mentioned as number one in most of the articles on the subject. Great talent.
According to hackerrank.com Polish developers are at 3rd place in the world, scoring 98 out of 100 points. Right after China and Russia. Most noteworthy United Kingdom and the United States of America are barely at 28th place with just 78 out of 100 points.
Moreover, we are still relatively cheap in comparison to the biggest software development hubs in Europe and the Americas.
However, technical excellence is only one of many other factors. Fairly easy to check if you have past experience in the software industry, almost impossible to validate for a business-focused person. Nevertheless, worth taking the extra hassle to validate it.
So, how do you select right software development agency.
There are a lot of software development agencies in the world, more than you can imagine. Each and every one of them works in a different way, helps different clients, and solves other problems.
Which puts you as a customer in a great position.
Provided that you have time, you can finally make the selection not only based on the price but also on factors that really matter such as culture, customer-centric approach, and specialty.
The way I would do it is to
- Narrow down search to specific time zones & locations.
- Select agencies specialized in your business domain.
- Take extra steps beyond basic web search to validate references.
- Engage in conversation to meet people face to face, even if it’s over Google Meet.
- Take extra hassle to make sure software development agency knows how to develop software.
At the end of the day, you will select the one that you enjoyed the most during the sales process. Simply because, if you had a great time talking with business representatives and developers there is a good chance you will be an amazing team.
In case you still haven’t made your choice feel free to contact us. We may not be the best for you but definitely, you will get professional advice. It does not cost anything.