This is not an easy task. There are literally tens of thousands of software companies in the world. How would Priya find the software company that’s a right fit for her? Let’s try breaking the problem down a bit and see if we can come up with a strategy for finding the right software vendor for her. Let’s define what we mean “fit”:
For Priya, as an early stage founder, fit means the 3 following things in the order of their importance:
The communications is good between Priya and the team that will work on her product.
The cost of making the software is within budget.
The software vendor understands the nature of early stage startup projects like Priya’s.
Let’s go over these points and see how Priya can find software developers with these points in mind and also check for the fit.
The Fit
Communications is the key
Priya is not a software professional so she needs to find someone who can communicate various technical jargon and issues easily to her. Even if she was a techie herself, as an early stage founder she might not have the time to focus fully on her project - since many early stage products are “side projects” where the founders have a day job to worry about. So Priya needs to find a software developer who speaks at the same wavelength as she does. A developer who understands well what she wants to build, her business priorities, the “low hanging fruits” she wants to pick and can tell her in simple terms what technical challenges there are, which decisions win her time, which compromises saves her money without losing a lot on features, etc.
Let me stress this once more: communications is the MOST important thing for a software project. If everything is perfect, if Priya finds the world’s best software team working at the just the right cost for her and she then finds that she can’t communicate with them well then she needs to look elsewhere. Simple rule, yet many early stage founders falter here. Maybe the cost savings or the flashy tech skills make them think it OK if there are some issues in communications. Sometimes they think “software engineers are like that, they will always speak in jargon and I have to accept that and try my best”. It’s simply not true. Software can be complex and obviously very technical, but a good software team will always ensure that there is someone in the team who understands software jargon, “nerdy” engineers and also business priorities and the founder’s thinking.
Staying in the ballpark matters
Cost is a big concern Priya, obviously. She has limited budget and she has fit all the costs for software development, hosting, advertising, travel, etc. in that. The actual specific number is something she will calculate as part of the planning that we will cover as step 4 in her journey. The reason for delaying this, instead of taking it up as an initial thing, is for her to get an idea about potential software development cost. Software development cost varies wildly depending on what she wants to make and also on the vendor she wants to use to make it. But whatever the situation she has an idea about the maximum she can spare for her project, e.g. she will know that she can’t spend a 100K for sure but she will probably be able to scrape out 10K. With such a number in mind she can then narrow down her search for vendors, taking out obvious ones out.
Experience with startups is important
Most early stage founder driven software projects are a wild journey. Pretty much all such projects start with a certain plan but end up being completely different. This is the nature of the game. The need and flexibility to pivot is extremely important for the success of Priya’s software. This is because both Priya and the software vendor doesn’t really know for certain what will be acceptable to the users of the software. Priya does a good job with her experience in dealing with her customers to find out the pain points and use the template in step 1 to create user goals and stories. But those are just her assumptions. They are tainted by her bias about what she believes her software can do. They are not test on the field by real customers. And she may find out really early on (hopefully) that certain features need to be changed a lot to meet what her customers really want.
The software vendors are typically in a blind spot too about Priya’s customers. They may know a thing or two about what features are good and what are confusing. They will definitely know (if they have the experience) that they should limit initial features to bare minimum focusing on the biggest pain points for her customers. But at the end everyone is shooting things in the dark. This is why the software vendor needs to have the understanding and experience about startup project like Priya’s. They should know that the project features, needs and timeline will vary as the project progresses. They need to plan for this possible change and accept it as the norm. Their experience will also help guide Priya towards taking the right decisions.
The selection process
Now that Priya knows about the fit, here is a process she can use to find and filter the software vendors. This process has worked for hundreds of our startup founders so we can vouch for this.
1. Compile a list of software companies and score their online presence and reference
Google will get you the names of thousands of possible software companies. But before Priya does that she should first reach out to her friends and family for any vendor they know or have an idea about. The best way to find a good software partner is through reference, it saves Priya a huge amount of time and energy. If the reference is really good and from someone she trusts, she should still do the scoring for fit as given below, but she can save time by not going through the compiling a list of candidates and comparing them. The referred company checks fine on fit, she can just go with them.
If Priya is relying on Google to find names, “custom” or “bespoke” is the right word to use to filter out software product companies (that make their own software only - like Microsoft) from the software consultancies that makes software companies for others like her. Here is a good search phrases she can try:
“Custom software companies in ________ “ (if she is looking for a specific location like her town or a specific country because she heard the costs are lower there).
Apart from google, there are directories where Priya can search for software companies - these usually come with reviews (take them with a pinch of salt though!), example projects etc. Here are some directories that are pretty comprehensive:
Clutch
Goodfirms
G2
When collecting the names of the companies it’s easy to get carried away and end up with dozens of names. It’s a big time waster to go through a large list, so it’s always a good idea to do a filtering even when compiling the list of companies to consider. Priya should look at the companies website and their work portfolio to see if they look good and have worked with early stage founders like her. Some custom software companies only work with big enterprises and their DNA will never match with what Priya’s project needs. Another important thing to check is how active the company is currently. Many software companies start out doing a few interesting projects and then lose their energy and become almost a relic that tries to leverage on past glories. Priya should look at company’s social media posts, recent posts and tweets to get a feel about how engaged and energized the company is. Another important check is looking at some LinkedIn profiles of key members of the company to get a feel about their experience and their involvement with the company.
Based on the companies online presence give them a score and if a company comes with reference you trust give them a score on reference. Our vendor selection spreadsheet template that you can download below has a cell for these scores against each vendor.
2. Email software companies and score the experience
This initial email itself is good way to test the candidates for fit and filter out some companies - that is where the scoring comes in. Here’s how: the email Priya sends out would be intentionally vague. She would of course mention she wants a software made, but not give a lot of details or give conflicting information. The reason is it to test the communications right from the start. Any reputable software company will prioritize incoming business leads like Priya’s email. So it would go through a certain workflow. In some companies it may go from customer support to a business team, in others it may jump directly to a decision maker. The flow, the time to respond, the process of clarification about her vagueness, the quality of the reply, the position of the person replying and the message itself will give Priya lots of hints about the quality of communications in that company. If, for example, Priya gets into a loop of emails, where she gets thrown from one person to another in the thread it’s a BIG red sign. It would probably indicates bad work process or communications channel at the company and something very similar would happen during the project. So, this initial email and the response is a great test (easy and low cost!) that Priya should score.
3. Run a survey and score the response
Now that Priya has list of software companies she should send out a standard survey to all of them and ask them to respond. The survey should address some of the basic issues she needs to know about a company so that she can compare them side by side, but also the survey should be done in a way so that Priya can use the answers to create a score for each company. When there are a bunch of similar companies, that all seem to offer the same services it’s always hard to compare, so it helps turn things into scores that can then be compared objectively. However the responses of the survey should also give Priya some idea about the company’s way of doing things, their culture etc.
We’ve given a template for such a survey as a spreadsheet (part of the download with this post). This will give an idea about what are good questions to ask in a survey like this, however each product and situation is different so the actual survey will probably need some tweaking. Separately it also makes sense to run the survey with a survey tool like google survey or surveymonkey
4. Call the top 5 companies and do a call. Score the experience
Now that Priya has 4 scores for each company from #1-#3 above she can get the top performing companies in that list of hers. Note that the scores are not all the same, they need to be weighted on the aggregate score. This is because a reference from a friend you trust is obviously a more reliable score than a random email thread that went wrong (maybe the person answering that email was a new employee who didn’t know the process…). We suggest a weighing in our template (downloadable below).
Priya can use the scores (and also her instincts - she may have liked a company much better than their score) to select a few (5-7 is a good number, too many is a time waster, too few is a bit risky) top performers and ask for a detailed call to discuss her current requirements. The verbal conversation is important as it will double check on communications. It will also let Priya test how pro-active they are. Note that this is not the call to discuss the product in detail or give them the rough spec (from step 1) to give estimate. That will be step 3. The reason Priya should delay that discussion is that she should get a non-disclosure agreement (NDA) done and also she doesn’t want to go through the time consuming requirements discussion with so many companies. Her goal is still to filter out maybe 2-3 companies with whom she will get to step 3 level details.
5. Calculate a final weighted score
Now that Priya has 5 scores: Online presence, reference, email, survey and call, she can do a total score. But not all the scores are the same value - so a simple average won’t be a good idea. We suggest making weighing reference and the call the most. Here’s our suggested formula for the weighted average score (it comes with the downloadable template spreadsheet at the bottom of this post):
Weighted average score = [online score + (3 X reference score) + (2 X email score) + 3 X survey score + 4 X call score ]/13