Goal
Propose a concrete approach (usually 2–3 options), an honest estimate with its uncertainty and a milestone plan — enough for the client to make an investment decision.
Inputs → outputs
Inputs
- BA document and prioritised problem list
- Go decision and its conditions
- Team capability and internal rates
Deliverables
- Proposal: solution, scope, out-of-scope, assumptions, risks
- WBS + three-point estimate sheet
- Milestone schedule and proposed engagement model
- Milestone-based quote (sent privately, never published)
Teams & roles
- Sales & Presalescommercial lead, presents the proposal
- Solution Architecturebuilds and compares technical options
- Business Analysis (BA)shapes scope and MVP
- Project Management / Scrum MasterWBS, estimate, milestones
- Project Management Office (PMO)internal approval before sending
- Client (Product Owner / sponsor)chooses the option, prioritises scope
RACI matrix
R — does the work · A — accountable, final sign-off (exactly one A per activity) · C — consulted before · I — informed after.
| Activity | Sales | BA | UX | Arch | PM | Dev | QA | Legal | PMO | Client |
|---|---|---|---|---|---|---|---|---|---|---|
| Build & compare solution options | · | C | C | A | · | C | · | · | · | · |
| WBS & three-point estimate | · | · | · | R | A | R | C | · | · | · |
| Define MVP & MoSCoW priorities | · | R | · | C | · | · | · | · | · | A |
| Write & present the proposal | A | · | · | R | R | · | · | · | · | I |
| Internal review (price, risk, commitments) | R | · | · | · | · | · | · | C | A | · |
Sales = Sales & Presales; BA = Business Analysis (BA); UX = UX/UI Design; Arch = Solution Architecture; PM = Project Management / Scrum Master; Dev = Engineering (FE · BE · Mobile); QA = Quality Assurance (QA/QC); Legal = Legal & Finance; PMO = Project Management Office (PMO); Client = Client (Product Owner / sponsor)
Quality gate
Client chooses an option; MVP scope, assumptions and milestones accepted in writing.
Entry criteria
- BA document confirmed by the client
- Budget range and target date are known
Exit criteria
- Proposal states scope, out-of-scope, assumptions and risks
- Estimate has a range (O–M–P) and a confidence level
- Client has chosen the option, MVP and priorities
- Proposal passed internal review before sending
Activities
- 1.Sketch the solution and compare options (build / buy SaaS / hybrid) including monthly running cost
- 2.Break down work (WBS) and three-point estimate: optimistic – likely – pessimistic
- 3.Define the MVP: the smallest slice that delivers value first; prioritise with MoSCoW
- 4.Write down assumptions, constraints, risks and out-of-scope items
- 5.Propose milestones and an engagement model (fixed scope / T&M / per sprint)
- 6.Internal review, then present the proposal and answer questions
Checklist
Tick to self-review — 0/5. Ticks stay in this browser only and are not sent anywhere.
Document templates
Markdown (.md) files: open in any editor, or paste into Word / Google Docs. Each states its purpose, who fills it in and when.
Client involvement
- Choose an option and prioritise features (MoSCoW)
- Confirm the assumptions — if they change, the estimate is revisited
Tools
- Google Sheets (WBS)
- Google Docs / Slides
- draw.io
Reference standards
- PMBOK® — Three-point estimating (PERT)
- Estimate (O + 4M + P) / 6 and state the uncertainty
- PMI — PMBOK® Guide 7th ed.
- Planning and Uncertainty domains: plans with assumptions, estimates with ranges
- ISO/IEC/IEEE 12207:2017
- Supply process: prepare and submit a response to the acquirer
- MoSCoW (DSDM / Agile Business Consortium)
- Must / Should / Could / Won’t — prioritising scope by value
Common pitfalls
- Giving a single number with no range
- Forgetting non-coding work: testing, deployment, training, migration, management
- Hidden assumptions → disputes when scope changes
- Under-quoting to win, then recovering through change requests
Real example
cuongthai.com: AI running cost is its own line and is estimated from measurements on real tasks. Measuring the same tool-calling loop showed a model that is cheaper per single call costing roughly 3× more inside the loop — the gateway adds hidden tokens every turn. List prices do not replace measurement.
Where to learn
Subjects and courses on cuongthai.com that teach this stage’s work.