If your organization wants to hire an agency for a large web or mobile app development project, don’t rely on an RFP process alone to select your vendor. By their very nature, traditional RFPs are flawed and often lead to failure. Instead, follow these guidelines and you’ll increase the chances that your project will succeed.
Why traditional RFPs often lead to problems
It’s a classic “chicken-and-egg” situation: As an organization, you want to award your web or mobile app project to the most suitable agency, and to know how much it will cost. And the agencies who receive your RFP know that it will take so much time to properly discover, research and plan your solution – and therefore accurately estimate its scope – that they cannot afford to do this work before the contract is awarded to them. So the proposals that they submit to you are “half baked”: They might be well written, but they rely on so many assumptions about your needs that the technical directions and costs are inaccurate, leading to unpleasant surprises once the project gets off the ground.
Because large-scale web and mobile app development projects are complex by their very nature, and every feature can be implemented in a myriad of different ways, a project’s technical direction and costs are hard to predict without sufficient research. And there is no shortcut around proper planning if you want to mitigate risk. In my experience, sufficient research can often require 5-10% of a project’s total time. This means that for a 2,000 hour project, the full technical direction and scope of work (and therefore estimate, timelines, costs, etc.) can be uncovered accurately after 100-200 hours of work. Yes, this is significant. And yes, no good agency will invest 150 hours to respond to an RFP.
What’s more, some agencies are great at responding to RFPs – but the success of your project will boil down to the skills and experience of the actual people doing the work, not how well-written the agency’s proposal is. Beware the pitfalls of RFPs!
1. Find a trusted technical advocate
If your organization does not have a software development person who can advocate for your technical needs, you should find someone who can. Contact the smartest senior web / software engineer that you can find, who manages other engineers. Don’t find someone too senior – you specifically don’t want a CTO at a large firm who hasn’t coded in 30 years. You want someone with “bits under their fingers” – someone who has risen to a management position (which shows soft skills and “big picture” thinking) but yet is sufficiently “hands-on” to do actual code reviews, assess developers’ technical skills, and understand system architectures. This person can establish ranking criteria, but I think they should keep things qualitative. Offer to pay this person for maybe 4 hours of their time. Or buy them beers.
2. Have your advocate evaluate your vendors
Ask your potential vendors if you can interview the people who would be working on your project, and assure them that you you will not try to poach their employees. Have your advocate talk to the people doing the work and “vet” the development agencies in your list to make sure that they have a) the technical abilities that your project demands, and b) the necessary processes and procedures that will ensure that the project stays on track and on budget. Of course, you’ll need to update this advocate ahead of time about the application’s functionality and your growth plans. Hear their feedback afterwards. This can help you whittle down your list of vendors to a smaller list, or even to just one vendor.
3. Be open about your budget
After whittling down your list of vendors, be up front with the remaining ones about your target budget. Throw out a number – or maybe separate “low” and “high” budgets – and ask your top vendors what they might develop for you within the amount(s). You will get a much better sense of their approach, their ideas and how they operate. Most importantly, it will give you a more accurate picture of what deliverables that you can expect from them.
4. Choose the company with the right hard and soft skills
Every large-scale development project demands an agency with more than great technical skills – but one that can approach the project with a deep understanding of your business needs and who can be a true strategic partner for you. Your technical advocate’s feedback will enable you to vet “hard skills”, while your own interactions with the vendors will give you more insight into “soft skills” and also what to expect.
5. Start with the initial phase only
Once you choose an agency, keep the options open for yourself to more easily switch to a different agency if things go sour early on. A good way to do this is to ask the firm if they can perform the full research and planning phase as a separate project, before starting on the development work. Come up with a list of deliverables – such as wireframes, functional specifications and a technical design document – which will make sure that if you need to move to another vendor, the option is open to you. Involve your technical advocate in this part of the project early on.
Proper research and planning is a critical part of any large-scale app development project, and projects often fail due to insufficient up-front planning. It is therefore critical that you choose a company based on their skills and approach, rather than by trying to evaluate their proposals alone.