Choosing a partner

A software development RFP template that gets honest bids

Most RFP templates ask for a fixed price and a fixed date on a product nobody has scoped yet, which forces every honest bidder to add extra cost for safety and lets every dishonest one bid too low on purpose. This is a fillable structure built the other way: it asks for the problem, the outcome, and the named unknowns, and it asks bidders to price a small first piece before the whole build. Copy the sections, fill them in, send the same document to every firm on your shortlist.

  • Describe the problem and the outcome. Leave the solution to the bidders.
  • Name your unknowns in writing. A hidden unknown does not disappear, it just shows up later as a change order.
  • Ask for a price on a small first piece, not a single number for the whole build.
  • Send the identical document to every firm, and send every question and answer to the whole shortlist.
  • Score the questions bidders ask back at least as heavily as the number they send.

Copy the eight sections below into your own document. Each one exists to remove a specific way an RFP goes wrong; skipping one brings back that problem.

1. The problem, in one paragraph

Who has it, what it costs them today, and how you know. "Our support team spends four hours a day copying data between two systems" is a problem statement. "We need a sync tool" is a solution statement written to look like a problem. Write the first kind.

2. The outcome that counts as success

Not a feature list. What changes if this works? Name a number if you have one: hours saved, a conversion rate, a support-ticket count. If you cannot name a number yet, say what you would measure instead, and say that honestly rather than inventing one.

3. Hard constraints

Budget ceiling, deadline, required integrations, compliance obligations, anything genuinely non-negotiable. Keep this list short. Everything you put here removes a choice a bidder could otherwise have used to give you a better answer.

4. What you are deliberately not specifying

State out loud that the technical approach is the bidder's to propose, not yours to hand them. This section is the one most templates skip, and skipping it is what turns every bid into a bid on your guess instead of on the bidder's judgment.

5. Your named unknowns

List what you genuinely do not know yet: whether an integration is simple or hard, whether users want the feature the way you picture it, anything with real uncertainty behind it. Ask each bidder how they would price it and how they would reduce the unknown early. A firm's answer here tells you more than its answer to anything else in the document.

6. Ask for a price on a small first piece

Instead of one number for the whole build, ask what the first two to four weeks would cost and produce. A team that can price a small, concrete piece accurately is more likely to be honest about the rest. A team that only wants to quote the whole thing is asking you to trust a number built on more guesses than theirs.

7. How you will choose

State your criteria before the bids arrive, not after. Weight verification, specification quality, and the questions a bidder asks back at least as heavily as the price. The AI development partner scorecard is a ready-made version of this section if you want a weighted structure rather than a plain list.

8. Process and timeline

When bids are due, when you will decide, and who on your side answers questions. Send every clarifying question and its answer to the entire shortlist, in writing, at the same time. A question answered privately to one bidder means you are no longer comparing bids on the same brief.

Using the template

Send the identical document to every firm on your shortlist, three to five names rather than a long list. A short list given real context produces fewer, deeper, more comparable answers than a broad one where nobody spent much time on the reply.

When the bids come back, the number matters less than what produced it. A bid that engages seriously with section 5 and proposes a real plan for section 6 is worth more than a lower number attached to a document that ignored both.

Where we fit

Reveneau suits this when

  • You are about to send an RFP and want bids you can actually compare
  • You have a shortlist of two or more firms and need a fair, identical brief
  • Past RFPs came back with wildly different numbers and you could not tell why

Common questions

What should a software development RFP include?
A software development RFP should include the problem you are solving and who has it, the outcome that would count as success, hard constraints such as budget and deadline, a note that the technical approach is the bidder's to propose, your named unknowns, a request for a price on a small first piece rather than one whole-build number, your selection criteria, and the process and timeline for deciding.
Should an RFP ask for a fixed price on the whole build?
No, not for work that is genuinely new. A fixed price on an unscoped problem just moves the risk later, where it returns as change orders and delays. Ask instead for a price on a small first piece, typically two to four weeks of work, since a team that can price a small concrete piece accurately is more likely to be honest about the rest of the build too.
Why should I list my own unknowns in an RFP?
Naming your unknowns in writing tells every bidder where the real risk in the project actually is, so their numbers reflect the true work instead of an unrealistic version of it with no uncertainty in it at all. It also shows which firms know how to handle uncertainty well, because a strong bidder responds with a concrete plan to reduce the unknown early rather than a vague promise to ignore it.
How many firms should I send an RFP to?
Send it to a short list of three to five firms that genuinely fit your problem, rather than sending it widely. A short list given real context and enough detail to answer well produces fewer bids, but each one is far deeper and more useful than the shallow replies a wide, low-context mailing tends to generate from firms that spent little time on it.
How do I compare RFP bids fairly once they arrive?
Send the identical brief to every firm at the same time, and send every clarifying question and its answer to the entire shortlist in writing, not privately to whichever firm asked. Then compare bids on how each one engaged with your named unknowns and priced the small first piece, not on the total number alone, since two very different totals often turn out to be pricing two different amounts of hidden scope.
Should I specify the exact technical solution in an RFP?
No. Naming the exact solution in an RFP turns every bid into a bid on your guess rather than on the bidder's own judgment, which is usually the thing worth paying for in the first place. State the problem and the outcome, name your constraints, and say explicitly that the technical approach is the bidder's to propose, so a stronger firm has room to suggest a better approach than the one you would have written yourself.
What is the biggest sign of a strong RFP response?
The biggest sign of a strong RFP response is the quality of the questions a bidder asks back, especially about the unknowns you named in the document, weighted at least as heavily as the number in their proposal. A firm that questions your assumptions and asks a precise clarifying question before quoting has usually thought harder about the real work than one that returns a confident number with no questions at all.
What should the selection criteria section of an RFP say?
State your selection criteria before any bids arrive, not after, and weight verification practice, specification quality, and the questions a bidder asks back at least as heavily as price. Writing the criteria down first stops the decision from slowly changing to match whichever bid looks best once the numbers are in front of you, which is the moment most buyers lose their own stated priorities.
Start a project