Table of Contents
Software development projects go through different thorough processes. After coming up with innovative ideas, administering research and feasibility studies, and setting and prioritizing your goals, the next step you have in mind must be the execution. In this phase, product development is one of the most important components, even in the case of tech startups, and the development approach may vary depending upon many factors including if you have the in-house capabilities or capacity.
Here are some of the possible options that may take to develop your new software that would solve just the specific problem you’re facing:
- Build in-house yourself if you have product development and programming capabilities
- Assemble your internal team if you have the time, capacity, and budget
- Employ freelancers as long as you have the ability and capacity to manage
- Outsource to an external company who are experts in the software development
- You can use a combination of all of these, where you can do some in-house and outsource some part of the project, or use external resources to augment your team.
In this article, I am sharing some tips that may help you filter some bad outsourcing firms, if you are considering outsourcing, or hiring a freelancer for your next project.
If you need to launch quickly because you want to shorten your time-to-market for competitive advantage, or for another reason, you may want to check out this blog article we recently wrote:
Need to Launch Quickly? 7 Ways How to Get From Idea to Application Store on a Tight Timeline.
For entities with non-tech experience or with limited resources, one of the most efficient routes is outsourcing, especially if you do not have a software development knowledge or background, or under any circumstances that can be limiting you from starting your project, there are several ways to actualize software product plans and ideas.
In one of my recent articles, I shared 6 Key Benefits of Outsourcing your Software Development. This article provides some insights and help if you are unsure if outsourcing is right for your project or not.
If you decide to outsource, understanding the benefits and risks that come with it is vital. Finding a trustable software outsourcing partner is hard, and it comes with its challenges. Here are the following common concerns that we typically hear from people who have outsourced in the past or currently outsourcing:
- Quality of deliverables
- Time commitment
- Hurdle in communication
- Project delays
These, among other concerns, are avoidable if you find a trustable and suitable software development partner, who is not only good in their work but also follow a repeatable process to ensure the successful outcome of your project. Sounds easy enough? That’s only the first, but a meticulous process. In my recent interview with DC Startup Week, I had the opportunity to touch on this subject and shared a few tips in determining the right software development company for your next tech project, which I will elaborate on in this article.
It can be more challenging to find the best software development company to partner with more than ever. Initially, before selecting one, there are several considerations you need to take. And what makes it more complicated is the whole plethora of developers competing with one another, pitching about how great they are for your project, how one is more suitable for your project than the other.
Of course, you’d like to avoid companies that are only successful in introducing themselves but will ultimately fail you when they start working on your product. Before you decide on your shortlisted software development companies, take a second look.
As you go through your list of companies you found through diverse sources, here are few tips that you can use to review any development firms, to determine an ideal match for your next software development partner:
Look for More Than Just Programming Skills – Ensure Product Management Capabilities
Programmers and Software Engineers are one of the most crucial skills in any software project but they often fail to produce the right output without proper Product Management.
Product Management is a vitally essential role in software development, as this will drive your product in the right direction; set the priorities to work on, components, and distribution of tasks and goals. Product Management is one of the most common reasons for failures in most outsourcing projects.
Make sure that the firm you are eyeing is not only a house of programming experts but a house with efficient Product Management. You can have the best programmer, who may produce a rock-solid product, but what if your customer does not want that product or features. The team needs to produce the right output in line with the project’s priorities and goals.
Ask specific questions about the product management process, how the priority tasks are defined, and see some examples that clearly show the work in their past projects. A firm with a defined direction can assure to have the trail blazed for you and even lead the path to your product goals.
Experience in Scalable and Complicated Software Development
Scalable software typically refers to software applications that can accommodate an increasing amount of data or a growing number of users. Scalability will be necessary as your project grows and progresses. If the software firm failed to keep up with the project’s growth, you could lose efficiency in return. And the quality of your service and even products can suffer. With cloud services, scalability is much easier and cost-effective than it used to be. At Technology Rivers, scalability is an implicit requirement in every project. The majority of our applications are deployed on Amazon AWS or Google Cloud, and we ensure every application we create is scalable from day one.
What is the largest project they have built? Have they scaled an application from start to big number of users and how they handled the scalability of the application? What specific technologies, and cloud services they use for that? Have they built any applications that can handle complexity?
In line with this, eye for a company that has proven experience in various types of applications. There is a whole spectrum of developers with different specializations. For instance, mobile applications are separate from the web, so are comprehensive workflow-based applications from the Content Management System (CMS). A WordPress developer can build CMS base sites, but not a good fit for your desktop or mobile app. Finding a team with experience in a particular category of software products will come in handy when making strategic product decisions and giving reliable advice that you will need.
Experience with Companies of Similar Size and Type
It’s important that the selected partner has extensive experience working with companies of similar sizes and types. If you are a non-profit, or government organization, then any company who has prior experience with government or non-profit will understand the processes and will be able to deliver according to their experience and expertise in the same field.
Select a software development firm with the experience of developing software products for companies about the same size as yours.
Startups are usually fast-paced with limited funding and resources. Any company that is used to working with the government or big corporations, will likely struggle to work with startups as processes are different. If you are a startup, you would like to collaborate with a vendor that has developed applications for companies of a similar size. Government or corporate experience may be useful, but this may not be suitable for startup software products. Resources can be limited, so you want to get it done the right way right at the onset.
At Technology Rivers, most of our work is to work with the startups and enterprises where we help them create innovative digital solutions. As our technical and management team have prior startup experiences, we understand the environment, culture, and hype cycle of startups. This experience has helped us produce the process and approach, to provide lean and efficient solutions to our Startup clients.
Spot Honest and Sponsored Reviews
There is nothing wrong or illegal with sponsoring on highly trafficked rating sites, but it’s important to spot and review these accordingly. Many sponsored service providers are likely going to be in the list of “top” firms not because they are really a top firm, but because they sponsored to be on the top list. When you perform a google search for “top mobile app development firm” or “top web development firm” and see the listicle responses on the first page of Google results, you can see the sponsored companies.
Once you short-list, dig deep from their references and extract relevant and genuine feedback. Talk to their past customers and ask specific things (not just good or bad) to identify the fit. Remember, people only give you references who will talk good about them. It’s your job to extract the specific feedback out of their good reference.
Ask for specific questions (avoid yes/no type questions) that will help you understand the work style and processes, such as
- How did the firm work on their deadlines? (you will get some info and you can make judgment,
- How much time did it take to establish plans or goals? Not, “Did they provide a plan?”
- Do they nickel and dime on pricing? (how much extra hours or pricing from the original quote)
- How they handled hurdles?
- How did they communicate the problems or delays?
- Where is their code stored, or did they have access to the source code or not?
Watch Out for Hidden Costs
Another important consideration is to find the hidden costs upfront before it’s too late. Some companies charge flat fees, some charge subscription fees, and others charge projects based on the scope of work.
Over the years, we have reviewed many proposals from different vendors for diverse types of services, and numerous of those proposals propose fixed-price projects, based on hourly projections. This is not a real fix-price, as project cost will change if the service provider spends more hours when performing work. As part of your reference check, find out if the prospect partner nickel-and-dimes any small deviation from the scope.
I am sure you have received proposals like these as part of your business. Sometimes, it is necessary as the scope is not clear, but It’s important to spot this and make commitments accordingly.
At Technology Rivers, all of our fix-price projects are true fix-price projects, and not based on the hours. In order to achieve this, we must make sure we scope the application well. Check out this interview by Neha Patel, talking about our emphasis on detailed requirements for scoping.
“Their requirement gathering is phenomenal and just sets you up for success with clear expectations from the start.”
IP, Data & Accounts Access – Keep Transition in Mind from the Start
Your software and accounts for different services are one of your key assets to be protected. Once you hire a firm, make sure you own and control all the software and accounts so you are not locked-in, or the potential to be a hostage at a later stage. It also ensures that the transition is easy once you decide to bring development in-house or change the development firm.
At Technology Rivers, we always keep transition in mind and try to use customer accounts wherever possible. This may include DNS, cloud hosting accounts, code repositories, project management software, etc.
As part of our work, we have rescued numerous customers during their transition-out phase. In many instances, prior software development vendors refused to provide code or server access or made it extremely difficult to transition out after the project finished, or the relationship ended for whatever reason.
Before engaging with a software development company, make sure that all the necessary data, software products, and accounts are under your name. If you are non-technical and have no idea, engage someone (a consultant) to review and manage this process for you.
True Collaboration is Partnership – Learn & Grow from Your Chosen Partner
There are many software development firms that are just transactional consulting firms, that just help you build a software product. However, a real partner will not only help you build a software product you have envisioned but also helps you grow, as well as guide you through the process of development and growth.
This could come in many ways, including but not limited to
- Growth strategies
- Guidance for the right approaches,
- Introductions to potential clients, partners, buyers, and investors.
Avoid companies that look at this as one other transaction. As part of Technology Rivers, we invest our time in understanding the customer’s business to ensure we help them build a product as per their vision. Introductions help in growth strategy helps the clients in many ways and a win-win for both us and customers in the long run.
In summary, there is no shortage of software development companies, but it’s important to filter the right one that will work best for you. Finding the software development firm doesn’t end on Google search or referral from your colleagues, or entrepreneurial circle, but it’s a good start to build the initial list. Someone may have been a perfect match and partner for your friends’ company, or perfect a while ago but not necessarily be the same for you.
Every project and situation are different, and you can have different output from an awesome partner of others, due to many factors. This may include, but not limited to, project type, complexity, budget, organization style, growth stage of a partner, people involved in the delivery, etc. All these factors make a difference, so it’s important to perform proper due diligence and review these companies based on some of the tips shared here in this article.
Finding the perfect development partner may be tough as there is no detailed description of how to choose the one who would just fit for your project instantly. The key is to have a partner that you can trust and maintain a healthy relationship with. The relationship between a company and its software development partner is typically so vital to its success that it’s best to look and build for a true partnership rather than just a simple customer-supplier relationship.
But remember the points we shared, as they may help you along the process!
What’s your take on outsourcing software development projects? Do you have a personal experience with outsourcing you can share with us? Feel free to send us a message. We can discuss!
Join the conversation here.