How To Write a Request For Proposal For Software Development
Imagine that you need to develop software. To find the best development company, you are going to write a request for proposal, send it out to potential contractors, and make a choice that should ultimately lead you to solving your business problems. You create a new document and ... you’re faced with a question: where do I begin? And what should I write about?
In this article, based on our 18 years of experience in development, we will tell you exactly how to write a request for proposal for software development. During this time, we have received thousands of requests for proposals of different quality. Many of them have common problems. Read on to learn why you need to create a request for proposal for software development, what to include in it, and what to consider when writing it.
What is a request for proposal and why do you need it
Customers usually write a request for proposal (RFP) when they are looking for a contractor. The customer formulates detailed information about the project and sends it to potential vendors. Based on the request, contractors provide feedback on cost, deadlines, approaches and other key issues related to the future project. In this way, the RFP becomes the starting point for developing your solution.
- With an RFP, you can get and compare multiple points of view on your project from different service providers.
- A clearly formulated request simplifies negotiations with potential contractors.
How the process of contacting contractors with RFPs works
Stage 1. First, you need to understand what you want and how it fits into your business strategy. Identify the types of solutions and partners you are considering, the actual scope of work (SOW), and who will be involved in reviewing the submissions, negotiating with the supplier, and monitoring the implementation process.
Stage 2. Now it's time to write the application itself. This is where you need to structure the information that you defined in step 1. Remember that the proposal shouldn’t be just a couple of sentences. This is not enough to conduct a constructive conversation. However, wasting time on a hundred-page technical specification at the first stage is also not worth it. Stick to the middle ground and prepare a moderately detailed, structured letter - that will be enough. In the following sections of the article, we will explain in more detail what issues you should address when writing an RFP for software development.
Step 3. You contact the selected suppliers to find out if they are interested in a new contract. If your RFP contains trade secrets or other sensitive data, you can ask them to sign an NDA before disclosing any details. Send your request for proposal to suppliers. If necessary, the sales manager and analyst will contact you with additional questions to understand your project and requirements better. After that, potential contractors will send you their proposals. The proposals may include an initial estimate of labor costs, the composition of the project team, and hourly rates of team members, as well as information about the company, its experience and customers.
Step 4. Review and compare the received proposals among key stakeholders. One way to evaluate the proposals is taking into account the importance of key issues in the proposal. Then, based on how well the vendor's response matches your expectations, rate each item and add the scores based on their significance, through a tool like a decision matrix, to select a potential winner. After you enter into a contract with the company with the most suitable solution, you should also notify the companies that you did not choose.
Who usually writes RFPs
It depends on the project and the size of your team. For example, it can be a project manager or a product owner from your company who will be involved in the evaluation of proposals and the management of the project. When preparing an RFP, it is helpful to be familiar with the development methodologies as well as the essential stages of software development.
What to include in a request for proposal
Each project requires a unique solution. This means that the RFP will be different for different projects. However, some questions and sections will be similar. We will tell you which ones you should pay attention to when preparing a request for proposal for development.
Start with a short description of the company and its background information. What goals and objectives have you set for the project? What problem do you need to solve? What exactly are you planning to develop - a website, an application or a system? What value should the product add to your business? Who is your target audience? You will most likely need to edit this part a couple of times later, but remember to start with it first.
Project scope and results
Explain functional requirements (what the program should do) and non-functional requirements (what are the limitations), without specifying “how to do it.”
Try to consider this issue from different angles:
User experience. Write about what the user will see and be able to do. For example, "the user should be able to like and comment on the posts made by other users."
Product capabilities. Write about the capabilities associated with the system. For example, "the system should send a message to the manager if there are less than 100 items left in the warehouse."
Optimization. Describe in detail what needs to be automated so that users do not have to take specific actions. For example, "the system should automatically notify us of a new order."
Entity details. These are the characteristics of each object that is part of a new development. For example, an object "Students" in an online learning platform might have the following attributes: user ID, email, course subscription, billing information.
Technical requirements and limitations
Describe your existing technology infrastructure and the platforms with which you want to integrate your software. Think about what devices the program should run on. Will it be a website or a mobile app? iOS only or iOS and Android? Do you have any parts of the project ready-made? The answers to these questions will significantly affect the cost and timing of the project.
In this section, describe the expectations and questions regarding project management: approaches, tools, communication methods.
Whether you have a fixed or flexible budget, feel free to indicate in your RFP the order of the amount you plan to spend on the project. Serious companies are not interested in making artificial estimates because they value their reputation. This will make it easier for them to understand what to offer you. The contractor will include in the estimate only those features that correspond to the estimated cost, and will offer technical solutions that can solve your problem for the specified budget;
You may not know how long it will take to get something done, but you probably have a timeline on which to get it done. Do you have a tight deadline like a new product launch or an ad campaign? Maybe you have a major exhibition ahead of you, and by this time you need a website? Communicate your schedule ahead of time and your suppliers will be honest about their ability to meet your proposed deadlines. In addition, responsible vendors will usually help you understand whether you have set realistic deadlines or not. If we see that the volume and timing do not match, we will help you determine the functionality that needs to be prioritized.
Here you can request important information to help you choose the right supplier. This is convenient because this way vendors will send you responses that are similarly structured and you can compare them directly. Here is a possible list of questions you can use to write your own.
- Company name and experience
- Geographic location
- Industry Experience
- How the project cost is estimated
- How post-release support works
- Are there any advantages in establishing a long-term partnership with your company?
- Are there any other features you would like to share?
Tips for writing a proposal
Find out the opinions of all stakeholders
Seek input from everyone interested in building a product, including the head of business development, marketing, or sales. Their perspective and experience is critical before the most important details are added to the RFP.
Make your point clear
The point of an RFQ is to find a development solution that meets your needs. If the request is unclear, it will be difficult for potential partners to understand if they can provide what is needed.
Attach additional materials
Attach additional materials to the letter that will help the contractor evaluate the project: an outline of the technical specification, documentation, corporate identity, data on the target audience, prototype, design concept, or even drafts on a napkin. Show examples - for instance, links to competitors' projects. This way the customer will have a better idea of what you’re looking for.
If you have not had any serious experience in software development, try to tell what needs to be done, not how
When submitting a request, you must be confident in the team’s knowledge. The proposed path may not be the most likely to succeed. It should be understood that people who face similar tasks every day for several years in a row are competent and know what they’re doing.
Leave several types of contact information in the letter
This will make it easier for the manager to answer you. It is good practice to indicate when and in what form you want to receive an answer (an estimate range, a detailed estimate, or a commercial proposal with a presentation).
Check the layout of the letter
Try to get rid of mistakes in the text. Send a letter from a corporate mailbox and indicate your full name as well as your title. The developer should see that this is a real application. Anonymous letters - without specifying contact details and your name - are often treated with great caution.
If you are sending a request to several companies at once, you should not put all addresses in a copy of one letter. This looks dismissive and reduces the interest of the contractors.
An RFP helps to gain mutual understanding of the task between the customer and the contractor, to get a result that meets expectations.
Starting a project with a well-formulated request and with the right development team is the key to success. We hope our guidelines will help you write an effective RFP. If you need help with formulating an RFP or would like to send an application to us, feel free to contact us, we will be happy to help you.