Cost, scoping, and briefs
Software RFP: template, scoring, and a required response format
Part of the guide: Mobile App Development Cost: How to Break a Quote Into Parts
A software RFP is a document that describes the project and sets the rules of the round at the same time: the layout suppliers have to answer in, the criteria you will score them against, and the date you stop accepting replies. The usual reason for a bad choice is not the price — it is that three offers arrive in three different layouts and cannot be lined up row by row. What follows is the structure of that document for an ordinary private company, a ready paragraph on the required response format, and a table for comparing what comes back.
How a software RFP differs from a brief
A brief describes the project; a request for proposal organises the process of collecting and comparing offers. In practice the RFP has two halves: the descriptive one, which is the brief, and the procedural one — scoring criteria, the required response format, deadlines, and the way questions are handled.
The descriptive half is broken into sections and shown on a filled-in example in the separate guide on how to write a software project brief. This piece is about the second half of the document, the half that decides whether the answers can be compared at all.
The distinction has a practical consequence. You write a brief once and use it for a year; you prepare an RFP for one specific round, with dates, the list of studios you approached, and criteria that apply to that round only.
What sections a software RFP contains
An RFP for a private company has ten sections: the first six are descriptive, and the last four are the ones that make offers comparable.
- Context and problem. What the company does, what does not work today, and what that costs in time or money.
- MUST/SHOULD scope. Features that are mandatory in the first release, kept apart from the ones that can wait.
- An explicit exclusions list. A separate “what this project does not cover” section. It is the cheapest paragraph in the document, because it takes the uncertainty buffer out of the estimate.
- Systems to integrate with. Names and versions, whether they expose an API, and who on your side has access to them.
- Constraints. Hosting, personal data, industry requirements, technology already in use in the company.
- Budget and deadline. A range, plus a date with the reason it matters: a trade fair, a supplier contract ending, a change in the law.
- Scoring criteria with weights. The list of factors, with percentages, that your decision will follow.
- Required response format. A numbered list of the points the offer has to be presented in.
- Submission deadline and method. A date with a time, an email address, a file format.
- Contact person. One person, and the date after which you stop taking questions.
If the descriptive half does not exist yet, work through the goal, the scope and the constraints with someone who will ask about all of them — tell us what you are planning and use the write-up as the opening sections of the RFP.
The required response format: the section most RFPs are missing
The required response format is the list of points every supplier has to present its offer in, in the same order and with the same breakdown. Without it you receive three documents built around three different ideas of what matters, and you end up comparing other people’s assumptions rather than prices.
The mechanism is simple. A studio arranges its offer to show off its strengths: one writes up its methodology, another gives you a single figure and three sentences, a third lists technologies. All three can concern the same project and all three will look incomparable, because each stays silent about something different.
Force the format with seven points:
- Itemised pricing — modules or functional areas, each with its own effort estimate and its own amount.
- Assumptions made — what the supplier assumed wherever the RFP said nothing, because that is exactly where later disputes start.
- An out-of-scope list — what does not fit inside the quoted amount; demand this point even when you listed exclusions yourself.
- A schedule with milestones — stages, dates counted from contract signature, and the dependencies on your side.
- The team — roles, headcount, how much of their time you get, and who actually writes the code: employees, contractors, or subcontractors.
- Billing model and payment terms — with the reasoning behind the choice and the scope-change procedure.
- Warranty, support and rights to the code — the warranty period, response times, the documentation handed over, and how rights are transferred.
Add one control question to point one: are project management, testing, post-launch support, and tool licences inside the price. Those four items are the ones that most often come back later as an extra cost, simply because the first version of the offer never mentioned them. What else that figure is made of is broken down in the guide on mobile app development cost.
"Please structure your offer as set out below, keeping the numbering and the order of the points. Offers in a different layout will be sent back for completion before scoring. (1) Pricing broken down into modules or functional areas, with the effort estimate and the amount stated separately for each item. (2) The assumptions you made where our RFP does not settle the matter. (3) An 'out of scope' list — items that do not fit inside the amount quoted. (4) A schedule with milestones, in business days from contract signature, stating what you expect from us and by when. (5) The team: roles, headcount, time commitment, and whether the code is written in-house or by subcontractors. (6) The billing model you propose, with your reasoning, the payment terms, and the scope-change procedure. (7) Warranty and post-launch support terms, the documentation handed over, and how rights to the code are transferred. Please also state plainly whether the amount quoted includes project management, testing, post-launch support, and third-party tool licences."
Announcing that incomplete offers go back for completion is not a threat, it is information. A firm that had no intention of breaking down its estimate drops out on its own — which is useful, because you would meet the same approach later at invoicing time.
Scoring criteria: weights instead of impressions
Scoring criteria are a list of factors with weights adding up to 100%, published in the RFP rather than settled after the offers are opened. They do two jobs at once: the supplier knows where to put its effort, and you have a ready justification for the decision in front of your board or your co-owners.
A sample set for a software rollout: fit of the proposed solution to the business goal 35%, price together with the completeness of the estimate 25%, experience with similar integrations 20%, schedule and team availability 10%, warranty and maintenance terms 10%. Set the weights against what is genuinely risky in your project — if all the risk sits in exchanging data with an old system, integration experience is worth more than price.
List separately the conditions that disqualify an offer from the round — for example an unwillingness to transfer economic rights to the code, or an inability to keep data on servers inside the European Union. A disqualifying condition is not a scored criterion, so keep the two lists apart.
How to line offers up row by row
Offers are compared in a single table where the rows come from your required response format and the columns are the individual suppliers. An empty cell then means a specific question to ask before deciding, not an absence of information.
| Table row | What exactly you compare | What a gap between offers means |
|---|---|---|
| Itemised pricing | The amount and effort estimate for each module separately | A gap on one item usually means the firms read that feature differently |
| Assumptions made | How many assumptions there are and what they cover | A long list is a signal that your RFP is silent somewhere important |
| Out-of-scope list | What fell outside the amount for each supplier | The cheapest offer with the longest exclusions list is not the cheapest |
| Schedule | The number of stages and the dependencies on your side | No dependencies on the client side means somebody has not counted them yet |
| Team | Roles, time commitment, and who physically writes the code | An all-subcontractor team changes the picture on rights to the code |
| Billing model | How work is settled and how scope changes are handled | A lump sum with no change procedure means future amendments |
| Warranty and support | The period, the response time, and what it covers | A warranty with no response time is not a commitment |
Come back to one of those rows before you sign anything: how the work is settled. Whether fixed price or time and materials is right for you is decided by the maturity of the scope, not the size of the project — and that question is worth settling before you compare figures produced under two different models.
The last step is a conversation with the two strongest firms about the discrepancies in the table. The signals that tell you which supplier can actually deliver are covered in the separate guide on how to choose a software house.
How many offers to collect and how to run the question window
Three to five offers are enough, as long as they all come back in the same layout. Below three you cannot see the spread of assumptions; above five the comparison costs more time than it is worth.
Run the question window through one channel: one contact person, a question deadline set a few days before the submission deadline, and a stated rule that every answer goes to all the studios you approached, in identical wording. Without that rule, some suppliers price the project on information the others never received.
Give the submission deadline with a time and a form — a PDF file to a named email address, for example. Add how long your decision will take: suppliers can then plan team availability, and you do not lose the best offer to two weeks of silence.
What not to copy from public-tender templates
Forms published for public procurement — in Poland, the ones used in tenders and in the Baza Konkurencyjności database — are written under a different legal regime and are not a model for a private company. Copying them adds declarations and annexes that protect nobody and can put smaller teams off replying. A private company chooses its supplier freely, so its document should force comparability rather than reproduce a procedure.
Two things belong in the procedural half no matter how informal the round is. The first is confidentiality: sign the NDA before you hand over confidential information — pricing structure, client lists, personal data, code, or internal documentation — at the latest before the discovery call where the studio gathers the details for its offer. Describing the problem and its scale rarely involves such data, so the first enquiry does not have to wait for signatures.
The second is rights to the code. Paying an invoice does not transfer economic copyright: that needs a contract, and under Polish law — art. 53 of the Act of 4 February 1994 on copyright and related rights, which applies when you contract a studio operating in Poland — such a contract requires written form on pain of invalidity. In the RFP one sentence is enough: that you expect the transfer of rights together with the listed fields of exploitation, plus handover of the source code and documentation. The clauses themselves are unpacked in the guide on who owns the code. This material is information, not legal advice — agree the exact wording with a lawyer.
Checklist
Split the RFP into a descriptive half and a procedural half — without the second one, offers arrive in three different layouts.
Write the required response format as a numbered list and say that incomplete replies go back for completion.
Ask for pricing broken down into line items instead of one sum for everything.
Force an out-of-scope list, and ask directly whether project management, testing, post-launch support, and tool licences sit inside the price.
State the scoring criteria with weights adding up to 100% and stick to them when you choose.
Name one contact person and two deadlines — for questions and for offers — each with a date and a time.
Send every answer to a question to all the studios you approached, in identical wording.
Sign an NDA before you hand over confidential information, at the latest before the discovery call.
Line the offers up in one table row by row and check who priced something nobody else included.
Frequently asked questions
- How do I write a software RFP for a private company
- The document has two halves. The descriptive half is the brief: context and problem, the goal, MUST/SHOULD scope, an explicit exclusions list, the systems to integrate with by name and version, the constraints, and the budget and deadline. The procedural half sets the rules of the round: scoring criteria with weights, the required response format, how and by when offers are submitted, the question deadline, and one contact person. A private company is not bound by public procurement rules, so tender forms are dead weight here — you need a document that forces comparability, not a formal procedure.
- How many offers should I collect for a software project
- Three to five is enough in practice, provided every reply comes back in the same layout. Below three you cannot see the spread of assumptions; above five the comparison eats more time than it is worth, because each offer has to be read properly rather than skimmed for the number. Consistency matters more than volume: three offers in one format you imposed can be compared in an hour, while five in five layouts cannot be compared at all, because each one prices something different.
- How do I compare offers that all arrived in a different layout
- If the offers are already in, the only way out is to rewrite them into one shared table and send follow-up questions to every studio at once. Use these rows: scope broken into line items, the assumptions made, the exclusions list, the schedule, the team, the billing model, warranty and support, and rights to the code. An empty cell is not missing information — it is a question for that supplier. Next time the problem disappears if the RFP imposes a required response format.
- Should I require an NDA before sending out an RFP
- For a first enquiry about availability and a ballpark cost an NDA is usually unnecessary, because describing the problem and its scale does not require confidential details. You sign a non-disclosure agreement before you hand over sensitive material: pricing structure, client lists, personal data, code, or internal documentation — at the latest before the discovery call where the studio gathers the details for its offer. Making the enquiry itself conditional on a signature adds days to the round and is often read as a sign that the project description is too vague.
- What belongs in the scoring criteria for a software RFP
- The criteria are a list of factors with weights adding up to 100%, each with a note on what exactly you are checking. A typical set for a software rollout: how well the proposed solution fits the business goal, price together with how complete the estimate is, experience with similar integrations, schedule and team availability, and warranty and maintenance terms. Publish the weights in the RFP rather than settling them after the offers are opened — then suppliers know where to put their effort, and you have a ready way to justify the choice inside your own company.
Sources and methodology
These links lead to primary sources and the rules we use to prepare and update our material.