There’s a popular misconception that effective software development focuses on writing code. But any software provider’s main goal should be offering a technical solution to a problem. To come up with a competitive product, a development team should start with a thorough study of the market and existing solutions.
Based on the results of this research, the client’s limitations (budget, timing), and the problem the product is intended to solve, the software development provider can offer the most effective technology stack.
But the client can speed up and simplify negotiations with the service provider by studying the problem and knowing the particularities of their industry.
If you’re considering getting in touch with a software development company to request a consultation, read this post. You’ll learn how to write a request for proposal (RFP) that will provide your potential development partner with the most essential information. We’ll show you the logic of such a request and decompose a hypothetical RFP into its component parts.
Tell about yourself and your market
By describing your business in a nutshell, you help a potential development partner narrow the scope of possible solutions and define your business problem more precisely. Begin with stating general information on your business.
What problem do you want to solve?
This is the most essential part of your RFP, where you tell about the market demand. Satisfying this demand is likely to attract users, leading to revenue. Alternatively, you can share the operational issues you would like to resolve.
What is the solution to the problem?
You certainly have an idea for how to solve the problem, so share this idea with your service provider.
What features do you think your solution requires?
Features are actually of secondary importance. A common mistake is assuming features take precedence and describing them in detail in the request for proposal.
At the stage of research and analysis, a software development provider often discovers that some features that previously seemed essential aren’t necessary at all. At the same time, other really essential features may have been initially missed.
That said, stating features you consider crucial will show your potential development team how you see the logic of your solution.
Are there any constraints the provider should know about?
Don’t hesitate to provide any budget, time, legal, and technological constraints. This will help the service provider come up with corresponding solutions and offer them during the first call.
Share specific requirements (if you have any)
In the first message, clients sometimes miss mentioning their needs and requirements. This is because they suppose it isn’t the right time or they’re too obvious to mention. But we suggest stating any definite requirements, like receiving the provider’s portfolio or information on the technology stack, right away to avoid misunderstandings.
Let’s take a look at the final request for proposal:
We’re a California-based medical trauma center with 250 employees.
We need to solve the following operational issues:
- We have too much internal and external documentation.
- Our therapists have difficulty promptly handling patients’ records for the past period.
- We lack control of the overall workflow.
To overcome these challenges, we suggest doing the following:
- Using web and mobile apps to automate the flow of documentation so staff don't need to handle paper forms;
- Keeping all patient data in one place so that staff can easily access it;
- Tracking all phases of the workflow through the web and mobile apps.
The most important functionality for us is
1) access to patients’ EHR/EMR;
2) scheduling, changing, and canceling appointments;
3) processing prescription refills;
4) doctor profiles;
5) dealing with reporting documentation.
Our budget is allocated for this year only, so we need to spend it till the end of the year.
Our staff is not accustomed to using an electronic document management system. They might require additional training to learn how to use the system.
Note that this message has little to do with the technicalities. But it helps the software solution provider by describing the problem and the idea for how to solve it.
Additional things to add to your request
Defining metrics to measure, the scope of the intended project, and indicators of successful cooperation is challenging. It requires a deep understanding of software development processes. Moreover, it’s sometimes difficult to estimate the scope of a software project. Your service provider might change it after a preliminary analysis by offering more effective alternatives.
Optionally, you can share with the provider:
An explanation of the intended scope
Explain the work you expect the team to do so your potential partner understands the scope of the project and can draft their first rough project development roadmap.
Metrics you’ll measure
If you share what metrics matter most to you, your service provider can design an application with those specific metrics in mind. For example, if you’re building a table booking app, you might want to focus on: 1) the number of tables booked, 2) customer reviews, or 3) the specific restaurants you partner with.
End goal of the collaboration
Tell the team about your end goal. What will satisfy you as a client?
You’ve sent an RFP. What happens next?
Talking about our company practice, after you send a request for proposal to Yalantis, a business analyst will collect your requirements, a solution architect will analyze the scope of your project, and an engagement manager will make sure your needs are met.
This will be followed by several calls devoted to clarifying requirements and providing you with rough and detailed estimates. If you decide to work with us, you’ll then sign a service agreement. A customer success manager will support you all the way from signing the agreement till the end of the project and its handover.
Keep in mind that a software solution provider will mainly focus on the problem your product is intended to solve rather than on the product’s features. The features will depend on how the problem is going to be solved.
No matter how basic or comprehensive your request is, a competent software development provider will be able to collect all the information needed to provide an effective solution. Still, you can save time by writing a clear request for proposal.