How to write a request for proposal (RFP) for IT vendors
Choosing a software vendor is not easy. Not only should they have a successful project delivery track record, but also the right kind of technical expertise.
Here is where a well-written Request for Proposal (RFP) can help. An RFP is a document that describes the product that the vendor should create from different perspectives. The process is usually as follows:
Step 1. – You reach out to selected vendors to see if they’re interested in a new contract. You may choose to have them sign an NDA before sharing any details if your RFP contains trade secrets or other sensitive data.
Step 2. – You send the RFP to vendors. It may be as short as a few paragraphs or dozens of pages long. But it’s best to keep it reasonably concise. In our experience, up to 10 pages is an optimal size.
Step 3. – If the vendor thinks they are right for the job, they may ask more questions to better understand your project. Sometimes, a business analyst or a pre-sales engineer on the vendor’s side will work together with your reps to clarify your requirements.
Step 4. – Potential vendors each send you their proposals. A proposal may include initial effort estimates, project team makeup, and team members’ hourly rates, as well as the information about the company, its clients, and resumes of employees who will be assigned to the project.
Work breakdown structure – a method of estimating project effort:
|Task||Role 1||Role 2|
|Feature 1||4 hours||24 hours|
|Feature 2||0 hours||4 hours|
|Hours total||4 hours||28 hours|
Step 5. – Once you’ve studied the proposals and made up your mind, you sign a contract with the vendor and kick off the project.
What goes into the RFP
First off, there are no strict rules here. Some companies make the mistake of either providing too little detail or overwhelming the developer with vague (marketing) language. When deciding what to include in the RFP, use common sense and think about which information would help the vendor build the right thing.
: : A free RFP template : :
Describe the problem that the envisioned solution should solve. For example:
University A publishes academic papers on its website. Right now, papers are listed in chronological order and no search function exists for them. Professors and students are forced to go to Google and search for the right document using advanced operators like site:example.com “keyword”.
There are multiple problems with searching on Google, though. The majority of the papers’ content is not open for indexing by third-party search engines, including Google. It’s also difficult to find papers by specific authors or papers that pertain to specific disciplines.
Describe the functional and non-functional (technical) requirements to the project. Explain how the solution benefits business. For example:
The envisioned search facility includes the following components:
- Common indexRequirements: What we need is a clear mechanism for adding existing and upcoming academic works to the index.Risks: Indexing may be hampered by the fact that printed papers are scanned and then stored as images. An Optical Character Recognition solution may be required to index these documents.Benefits: A full and well-compiled index will provide a foundation for the entire search engine to be built upon.
- Ranking algorithmRequirements: …Risks: …Benefits: …
- Additional filters
- Search UI (front-end) …
The non-functional requirements* are:
- Respond within 100 ms with 10 queries per second load.
- The UI should work in desktop and mobile browsers.
- Support for English (default) and German locales.
- GDPR compliant.
*Non-functional (technical) requirements are not tied to separate pieces of functionality, but are requirements to the product as a whole.
User personas (optional)
The envisioned solution should be well-aligned with the needs of the people using it. It helps to share the information on how the software will be used and by whom:
|Student||A student working on a thesis||-Find relevant papers
|-Inability to search from the site
-Reliance on Google
-Lots of irrelevant papers found
-Provide correct references
-Get a good grade
|Professor||A member of the teaching staff supervising a thesis||-Same as the student’s
-Check for plagiarism
-Identify incorrect references
|-Same as the student’s
-No mechanism for plagiarism checking
-No mechanism for reference double-checking
-Guide students in their research
-Look informed in students’ eyes
If the envisioned solution is going to “live” in your existing ecosystem, describe it here. If you’re building an MVP or a prototype from scratch, you may not know which technologies to list here.
- Front-end framework
- Back-end language
- Framework 1
- Framework 2
- Some DB
If the vendor should use specific technologies while working on the project, mention them in the RFP. However, sometimes you as a client may not have the necessary expertise to decide on the technology stack, so you can discuss this with the potential vendor and have them suggest an appropriate stack.
Here you can describe proposal deadlines, level-of-detail requirements, and information/experience/expertise requirements, define what sort of references should be provided and how they should be furnished, etc. For example:
Proposal submission deadline: mm/dd/yyyy
Requirements to vendors:
- A minimum of 2 years’ experience with a similar project
- A min of three verifiable references
- Deliverable examples: project plan draft, software requirements specification example …
Other relevant materials
If you have other highly-relevant materials to share with the vendor, include them as well. These could be mockups of the MVP, charts that explain your current architecture, data samples, access to the current system for investigation, etc. For example:
Attached please find sample academic papers. More samples can be found at www.example.com (requires registration).
Voila! Your RFP is ready. Don’t forget to send it to ObjectStyle!
with ObjectStyleSee our work