So, it is time to hire a development firm…are you sure? You have a solid understanding of product-market fit for your target customer. You know the minimum amount of functionality you need to deliver to get them to use your product, keep using it and pay you something for it. Does that sound like you? If so, you are probably ready for a development firm to create your Minimum Viable Product (MVP)—if you do not have the technical skills or have a co-founder who does.
How do you select one? How do you determine which one to give your second most precious resource (other than time) – your money? It all starts with finding and vetting candidates.
Finding firms is not worth a ton of space. Let’s just say ask everyone. Your friends, advisors, university computer science departments, other developers, startups, existing businesses, etc. Compile a list with a quick description of each firm that includes who pointed them out and what they said about them.
On to the fun part, vetting firms. By fun, I mean a lot of work for you, a set of key decisions but a fun opportunity to be a customer instead of the vendor. You may find the process a bit involved and potentially Machiavellian. To put that in perspective – you are pairing up with a company to develop software upon which the success of your business depends. You will be potentially expending six figures worth of money with them over a long process where there will be problems, conflicts and things that need to be worked through. The time and effort are worth it. Here are a few steps to help get you started.
Document What You Are Looking For
Simply stating that you need someone to develop software does not cut it. Having a rambling discussion with a firm that contains a lot of “I want it to do this” is a recipe for failure and not how you get what you want for a reasonable price. The onus is on you to write down what you want.
Some of the things to get in documents are:
- A statement of what the software is going to do and for whom
- A storyboard of screens with a flow of how the users interact with the application
- A list of the data you think needs to be captured or shared by the application
- Platform (or method of delivery)
- Is it a mobile app? Website? An application that runs on a PC or server? All the above? A few of the above?
- Who is the user?
- Both your customer and potentially your company if it is an eCommerce site. All the users and to what they will have access to.
- A Budget
- The value propositions that the software MUST provide
- These are the non-negotiable parts that if they do not exist then the application loses value to the customer
- A Timeframe
- A breakdown of need to have, want to have, nice to have and a wish list.
- Be honest with yourself here – think if you “really” need functions before you add them to an MVP
- How you want to work with the development firm.
- Learn enough about the workings of agile development and managing a software project from the client side to be able to articulate how you want to interact.
- Examples of sites or applications you like that work for similar users.
- It can be the look, user experience, the way data flows, colors, designs, etc. This will give the developer an understanding of your expectations.
- Finally – what does success look like?
Create A Score Sheet
Now that you have a bunch of pictures, slides, flow charts, drawings and documents compile them into something coherent so you can distill them into a scoring mechanism for the vendors that you will ask to propose on your work. This is for you and not to be shared with the developers – unless you want people to know how you are keeping score from the start. Your request for information and interviews will show them you know what you are doing. I’ll get to those in a bit.
Review With An Expert
Ask for help! Find someone that understands procuring development services or software development to check your work. Just because you are an entrepreneur and may have even labeled yourself CEO does not mean that you are expected to know everything. You are purchasing very expensive services that you are betting your company on, so find someone that has done it before to give you some guidance. Find someone that has purchased development services multiple times to see what you are missing and if you have laid out things in a detailed enough fashion.
Send Out An Inquiry
Send out an email with the project overview (not all the documents that you produced) with a request for them to contact you about the project. If you do not hear back in a reasonable time – you have one potential vendor crossed off your list. You want to select firms that work with startups. Firms skilled with large companies are not who you want to deal with at this stage.
Present, Interview & Proof
Prior to meeting them, you can send them a Non-Disclosure and Non-Compete Agreement. You are going to disclose detailed information about your company and proposed software. You do not know who their current clients, friends, etc. are nor do you know that they would not just take your design and do it themselves. They should not have an issue especially if you make the agreement mutual. You need to have an in-person meeting with each potential vendor.
You will kick off the meeting and present, at a high level, the information you put together in step one. Once you have presented, have a discussion and make sure the potential vendor gets enough information to provide a proposal. If you get skilled, you can even leave out certain pieces of information to see if they identify the omission and ask the questions. If they are any good, they will be better at this than you are. Always have someone else there with you from your side. Preferably someone that has done this before or a business partner.
Now let them present themselves. I prefer to present first since it is my meeting and showing them, you are in control can help start the relationship on the right foot. Someday, if you have done this sort of thing a lot, it is useful to reverse the whole process and see if they can ask the right questions and do the right things to earn the business without providing guidance. A good firm can get to all the information needed without guidance.
Now the fun part. You have shared what you are looking for, they have told you about themselves, now it is time for them to prove that they have done similar projects. You want them to literally show you the work they did for a client that had a similar project (hopefully they have more than one). The work should not just a finished site or app, it is the status reports, design documents, mockups, documentation, etc. that were used and produced during the engagement. You want the full account of what happened and why for the project–including the problems. An end-product may look great but if it was three times over budget, the team turned over twice and the customer hated them – you need to know. Do not get distracted by the window dressing.
Ask For References
Ask for references that are no longer customers, not in business, or the project went sideways. If they will not give them to you, there may be a reason. Allow them to tell you why things did not work out and that you understand that not everything does. You want to learn the why, how, etc. to keep it from happening with your potential relationship.
Call, video call, or meet the references and be prepared with questions. You want an unvarnished perspective so you can judge if you can work through the tough spots that will occur.
Here are topics to cover in your interview:
- Project scope
- Budget vs. actual
- Difficulties encountered
- Where they started – did they have the info in step 1 before they started?
- Project management
- What happened when problems occurred
- Use of change orders
- Relationship with the vendor
- How they managed the project from the customer side
- Who was in charge of the relationship?
- Would they use them again? Why or why not?
- What you should look out for
- The other vendors they considered and why they chose the one they did
The vendors that make it through your interview should now be asked to provide a detailed approach for your project. Literally, how they are going to do it that hits on all the areas outlined above. They should provide an hourly estimate, not to exceed or fixed and describe in writing what they will deliver and when. The proposal should include a detailed list of deliverables and it should meet the functional specification that you provided.
Have them present the estimate in person and provide everything in writing, including the contract and payment terms they propose. These will be covered in more detail in Part 2.
Decision & Negotiations
Pick two and let them fight it out. Literally, negotiate with two and let them know you are doing the same thing with another firm at the same time. I told you it would get a bit Machiavellian.
Hiring a Development Firm, Part 2 picks up from here and covers terms, contracting and execution.