Choosing the right software development partner is a big deal. You want to find someone who can collaborate with you to make your ideas come to life successfully and within a budget that makes sense.
At Co-Foundry, we know how important this is to our clients. We’ve compiled some guidelines on what to look for in a potential software development partner and how to go about finding them.
Why are you looking for a software development partner?
It’s a good idea to be clear about why you’re looking for a software development partner before you start your search.
Once you’ve determined what your needs are, you can find a partner that matches them. It’s important that the person you choose, is just that, a partner. They need to support your vision, be committed to working towards your goals, and give you value for money.
The best way to ensure that the software developer you chose ticks all the boxes is to make a list. That way you can literally tick the boxes before signing a contract with them.
Write down your ideas, your needs and expectations, your business growth plans, and the scope of the project. List what features and technical details you want your software to have. Consider making sketches of what you envisioned your user interface to look like. Define your product’s goals, the tasks it should perform, and who your audience will be.
Include a ‘must-haves’ list for the partner you chose. Must they be skilled at front-end development, or do you only need someone working on back-end development? Do they also need to be able to take control of the project management?
Be sure to include your budget in this list, so that you are confident about what you’re able to afford once you start speaking to developers. You may have to adjust this budget later, but it helps to have some idea before you start.
What type of things to look for in a development partner
There are several things to look for in a development partner. We recommend using a developer that follows an agile development approach. This means that your project will be divided up into bite-sized chunks. The developer will then use feedback from each iteration that has been released to improve on the next version of the product. A project done in this way has a greater chance of success. It also saves time and money.
That said, you’ll want to choose a developer with the experience and expertise that’s needed to successfully develop your particular project. You want your project to be unique and not an off-the-shelf solution.
Good communication is essential if you want the project to run smoothly. A project with poor communication can easily fail. This means that communication on your side, as well as by the developer needs to be clear and responsive.
Other things to consider in a development partner are how much they charge and whether they offer post-release support. Depending on the type of project you’re doing, you may also need them to be able to scale up the project and to ensure regulatory compliance.
Research, research, research!
Once you’re clear on what your needs are, it’s time to start shortlisting software development partners you’d like to interview. Be wary of only choosing the first few companies that pop up in an online search as this is not necessarily an indication that they are any good. Look for reviews and see if you can find developers who have been recommended by other businesses.
These are some of the things that you can look for during your search:
A good way to get a feel of a company is to see what previous clients have said about them. Many companies will include testimonials on their websites or social media pages. Also, look for independently published reviews to get a feel for the developer’s reputation.
Here’s an example of a review from our website:
Our business is built around compliance management and Co-Foundry helped us develop our software application to scale and meet not just our needs but our Enterprise client’s needs who depend on our software every day to manage compliance and business risk. They are reliable, experienced and collaborative which meant our project was completed as required and without any hassle.
SHEQ consultant and MD, Elint
From a review like this you can tell a few things:
- The relationship resulted in growth for the client’s business
- The project was a community and content website
- The communication and support was there when needed
Carefully reading customer reviews can give quite an accurate idea of what other clients like you experienced when working with a software developer.
Once you’ve chosen a software development partner, you can ask them to refer you to current or former clients so that you can get a more detailed reference.
Expertise and experience
Make sure that the developers you are considering have the expertise and experience that match your needs. Find out what industry experience they have and whether they have done any projects similar to yours or worked with the same type of clients. Once you’ve established contact with the developers, ask them to provide a portfolio.
You may want to find out how many staff members are on the team and who does what so that you can get a better idea of who you’d be working with.
Software developers will often have case studies about the projects that they have worked on in the past. If these aren’t available on their website, feel free to ask the developer if they have any that they can share with you.
Case studies provide a detailed outline of what task or challenge the developer was working with, what solutions they implemented, why they chose that particular solution, and how they made sure that the solution worked properly.
They may help to give you a feeling of the developer, the type of work they do, and whether or not they’d be a good match for you and your project.
Here are a few examples of our own case studies:
You’ll be spending a lot of time with your developer, so it’s essential that you “click” with them. Make sure that the ethics and values of the developer you chose match those of your own and your company’s.
Also note that even if a company’s values align with yours, you’ll want your personalities to be compatible too. You don’t want to be a few months into a long-term project before realizing that you can’t stand working with that particular developer.
While most companies are happy to share a copy of their values statement, your actual interview with the developer is probably the best opportunity to ensure alignment. Do you like the people you’ve interacted with? Do the developers understand your expectations? Do you agree on the services, features, and support your product needs?
The physical location of your software partner may be important depending on what your needs are. If you need a developer who can spend time at your office collaborating with your team, then you’ll want to look at local options.
If this isn’t a factor, then you can look at using developers from further afield. This might give you more flexibility in terms of budget. If this is the case, make sure that you and your developer are on the same page about how you’ll communicate during the project. Factor in travel costs, if necessary. And don’t forget to take different time zones into account.
Today outsourcing an off-shore development team is becoming a more and more attractive option for countries with higher development costs (like the USA and UK). South Africa, in particular, has become a top choice when it comes to quality and affordability.
Ask tough questions during candidate interviews
Once you’ve got your shortlist of candidates, it’s time to start interviewing them.
Before the interviews, write down all the relevant information that you’ve already gathered and make sure you ask questions that will help you fill in the remaining gaps. Use the opportunity to get a good understanding of the developer’s experience, expertise, and work ethic.
Remember that this is your opportunity to see if the developer ticks all the boxes on the list that you put together at the beginning of this process.
Don’t be afraid to ask tough questions. After all, this is your project and money that’s on the line. Find out how the developer plans to approach challenges that they might face during the project. Ask them for examples of challenges they’ve faced on previous projects and how they handled them. Ask them what sets them apart from their competitors. Find out how they will approach the build and testing of the product.
Discuss your project build and see if the partner respects your requirements. You want someone who can collaborate with you by running with your ideas and making good suggestions. You don’t want them sending your project in a completely different direction.
The more information you can give about your project, the easier it will be for the developer to give you accurate answers.
See whether the developer will help to flesh out and fine-tune your plan before jumping straight into the build. A developer who does this is someone who takes your money seriously and knows that building without a solid plan can waste time and money.
Make sure you’re on the same page about how you would communicate with each other about the project and what type of review process you’ll have in place.
During the process of picking your final choice, look out for any red flags. Go through all the information that you’ve gathered since the beginning of your search. Is there anything that makes you feel uncomfortable? Did the developer seem transparent? Were they happy to answer difficult questions?
Be wary of developers who give you a cost without going through a scoping and wireframe process with you. Software development is wide and varied and no needs are the same. Even if you require a seemingly standard feature, you will often have differences, and this is where the scoping and wireframe process clears up any confusions so everyone is on exactly the same page.
Get in touch with references
Hopefully, the interview process will help you to narrow your shortlist down. If you need more convincing about who the right candidate is, it is worth asking the developer for references.
Speak to the developer’s current or previous clients to find out what type of service they received and whether they were happy with the outcome of the project.
You can also use this to help determine whether or not the developer is the right fit for your business and project.
Determine what your budget is
Cost is a huge consideration for any project that you take on. You will have determined what your overall budget is before looking for a software development partner.
When speaking to potential partners, ask them to clearly outline how they charge for their services. See if they can put together a detailed budget for your particular project. You’ll also want to read the fine print to make sure there aren’t going to be any hidden charges.
Don’t feel pressured to go with the lowest bidder as you might land up with a partner that makes mistakes or works too quickly.
Also remember to ask whether there are any software licensing costs which you need to take into account, as well as ongoing aftercare services.
Sealing the deal
Once you’ve done your research and interviews, it’s time to choose your new software development partner. At Co-Foundry, we specialize in making your development experience smooth, productive, and of high quality. We’d love to chat to you to see if we can partner on your software project.