The verdict in three sentences
For a web app serving 300 users with a 2026 market budget of roughly USD 95,000 to USD 180,000, asking 4 vendors to bid without a structured specification means comparing quotes that do not price the same scope. A well-run RFP fits into a 15 to 25 page specification, 3 weeks for responses and a scoring grid of 40% technical, 30% price, 30% approach announced upfront. The clauses that really protect a mid-sized company are not in the price but in reversibility, code ownership and the billing model, fixed price or time and materials.
The 9 sections of a specification that produces comparable quotes
A vague specification produces price gaps of 1 to 3; an overly detailed one puts good vendors off. The right length for a 300-user app is around 20 pages.
| Section | Expected content | Common mistake |
|---|---|---|
| Context and goals | business problem, 3 to 5 measurable success metrics | vague goals like "modernise" |
| Users and roles | 300 users, 4 to 6 roles, peak loads | forgetting external users |
| Functional scope | 20 to 40 prioritised user stories (MoSCoW) | listing screens instead of needs |
| Data and migration | volumes, sources, quality, history to migrate | underestimating data cleanup |
| Integrations | HRIS, ERP, SSO, existing APIs with documentation | discovering APIs after signing |
| Non-functional requirements | 99.5% uptime, response times, WCAG, privacy rules | pasting standards that do not apply |
| Hosting and security | cloud provider, backups, penetration tests, SOC 2 expectations | asking for nothing, then paying change orders |
| Project governance | steering meetings, deliverables, UAT, contacts | no commitment on the client side |
| Contract terms | fixed price or T&M, reversibility, warranty, support | no exit clause |
Always attach 3 to 5 low-fidelity wireframes and the indicative budget: stating a range of USD 95,000 to USD 180,000 avoids off-target bids and speeds up evaluation.
Building the 40 / 30 / 30 scoring grid
Publish the grid in the RFP instructions. It stops the lowest price from winning by default and makes the decision defensible to leadership.
| Criterion | Weight | Sub-criteria scored out of 10 |
|---|---|---|
| Technical value | 40% | proposed architecture, security, code quality, comparable references |
| Price | 30% | score = (lowest price ÷ bid price) × 30 |
| Approach and team | 30% | timeline, governance, named staff, test plan, reversibility plan |
| Presentation (pass/fail) | threshold | 90-minute session, demo of a similar project |
| References | check | 2 reference calls per finalist |
Realistic calendar: RFP sent in week 1, written Q&A in week 2, bids due end of week 3, evaluation in week 4, finalist presentations in week 5, negotiation and award in week 6.
Fixed price or time and materials, and reversibility clauses
Fixed price locks the cost for a given scope: it suits stable user stories. Time and materials bills hours spent (New York day rates of USD 900 to USD 1,500 in 2026 depending on seniority): it suits exploratory projects. A hybrid is common: fixed price for discovery and the core build, capped T&M for later changes.
Clauses to require in either model:
- Code ownership assigned to the client on each payment, Git repository in the company's name from the first sprint.
- Reversibility: architecture and deployment documentation, 5 to 10 days of priced knowledge transfer in the bid, access to all environments.
- Warranty of 3 months after go-live, blocking defects fixed within 48 h.
- Delay penalties capped at 5 to 10% of the contract, tied to specific milestones.
- Support and maintenance priced in the bid, often 12 to 18% of the build cost per year.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Rachel, project director at a mid-sized services company in New York (fictional persona), receives 4 bids for a 300-user app. After presentations, she scores the three criteria.
- Bid A: USD 110,000, technical 7/10, approach 6/10. Price: (110,000 ÷ 110,000) × 30 = 30. Score: 28 + 30 + 18 = 76.
- Bid B: USD 141,000, technical 9/10, approach 9/10. Price: 23.4. Score: 36 + 23.4 + 27 = 86.4.
- Bid C: USD 162,000, technical 8/10, approach 8/10. Price: 20.4. Score: 32 + 20.4 + 24 = 76.4.
- Bid D: USD 118,000, technical 6/10, approach 7/10. Price: 28.0. Score: 24 + 28.0 + 21 = 73.
Bid B wins despite costing USD 31,000 more than the cheapest: a 2-month delay on a tool used by 300 people would cost more.
FAQ
How many vendors should we invite?
Four is a good balance: fewer than 3 limits comparison, more than 5 multiplies evaluation time, which quickly reaches 3 to 4 days per bid.
Should we pay for discovery before the RFP?
Above USD 120,000, a USD 10,000 to USD 18,000 discovery phase sharply narrows the gap between bids and the risk of change orders.
Can we demand a firm price under T&M?
Not by definition, but you can set a cap of days per work package and a monthly burn review with an alert at 80%.
How much weight should security get?
Fold it into technical value with 2 to 3 points out of 10: patching policy, penetration testing, privacy compliance and hosting.
How long between award and kickoff?
Allow 2 to 4 weeks for contracting and team mobilisation; ask for start dates of the named staff in the bid.
Let's scope your project. Send us your specification or a few lines on your need, with user count and target budget: we reply with a bid structured to your grid and a detailed plan. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.