Scoped options
Three doors instead of one number
A fund's back-office module needed rebuilding and the budget was not stated. I priced three genuinely different scopes rather than guessing which one they meant.
- Low-cost, balanced and complete — differing in content, not in padding
- 3 optionsLow-cost, balanced and complete — differing in content, not in padding
- The honest spread between the smallest and largest scope
- 240 → 400 hoursThe honest spread between the smallest and largest scope
- Regression coverage written down for the module next door
- Checklist, not memoryRegression coverage written down for the module next door
The client
A European venture fund's internal investor platform — onboarding and know-your-customer checks, capital calls, distributions, statements and investor communications — maintained as a stream of specified improvements rather than as a single project.
The engagement
A flow of analyst-led improvements on time and materials, with each significant module priced as a set of options before work begins.
The problem
When a client will not state a budget, most vendors guess, and both guesses are wrong: too high loses the work, too low wins work that will be argued about later. Meanwhile a back-office module in a fund platform touches permissions, audit history and bank details, so 'small' and 'complete' are genuinely different products rather than the same product at different quality.
What I did
I priced three doors. Each option is a real scope with its own content — what statuses exist, whether changes are logged to the activity trail, whether rejection carries a reason and a filter, whether permissions cover it, whether history and callbacks are included — so the client is choosing capability rather than negotiating a discount. Because the platform is maintained as a stream rather than a project, I also wrote a regression checklist for the adjacent communications module, covering the things that break silently: template name collisions, which data points may be used in a subject line, personalisation files with empty cells that must block a send rather than send a blank. And the specifications were written against the client technical lead's own review comments — bitmask permissions, a single system-wide activity log, invitation tokens rather than passwords — because a specification that ignores the reviewer's points gets rewritten anyway.
What was built
Three costed scopes for the same module, differing in what they actually include rather than in padding; a documented regression checklist for the neighbouring module so quality did not depend on memory; and requirements written to a technical lead's review comments rather than around them.
On the table at the end
- Three costed scope options with hours, price and content per option
- Regression testing checklist for the adjacent module
- Specifications reflecting the client technical lead's review points
- Weekly time-tracking detail by activity
What it changed
Let a client with an unstated budget choose a scope rather than negotiate a number — a low-cost option, a balanced one and a complete one, each with its own hours, price and explicit content, so the trade-off was visible instead of implied.
How it ran
- 01
Price capability, not padding
Three scopes that genuinely differ in what the module does, so the client compares outcomes rather than discounts.
- 02
Make the audit trail explicit
Whether status changes are logged, whether rejection carries a reason — stated per option because in a fund platform this is the difference.
- 03
Write the regression down
A checklist for the adjacent module covering the silent failures, especially personalisation with missing values.
- 04
Answer the reviewer
Specifications written to the client technical lead's review points rather than around them.
- 05
Track time by activity
Weekly detail by task on a time-and-materials stream, so the invoice is readable without a meeting.
Other work
All case studies →- Software services
Nineteen estimates, one register, five minutes to an answer
Four years of pricing lived in spreadsheets nobody could open. I rebuilt the commercial history into one register — what was estimated, what it sold for, what happened next — and found that half the formulas were already dead.
- Software services
What the projects actually earned, once someone put cost next to revenue
Margin was assumed to be about half. Reading revenue, cost and hours together showed a spread from a third to three quarters — and one project that had quietly overrun its ceiling without a change request.
- Clinical software
A free assessment as the front door, and a phase plan that survives it
A clinical recording product where the mobile app could not depend on a backend that was not finished. I gave the assessment away and made the first phase provably independent.
Something similar on your plate?
Thirty minutes, no deck. I will tell you whether it is worth doing at all.