Skip to main content

Blog entry by Brigette Schumacher

Start with the problem you are solving, not a feature list. What kind of user will use the system, offshore development center how often, and what happens today? A vendor who understands the goal will suggest a cheaper route to it; someone handed only a list of screens can only price exactly what you asked for.

Define what is included as short scenarios: what the user does and what the system does in response. Every bit as useful, symfony companies list what the first release deliberately excludes. A written out-of-scope list removes more friction later than almost anything else in the document. Also mark which items are decided and which are still under discussion — the difference changes the price, and pretending everything is fixed only hurts you.

Write down the hard constraints. This means systems you must integrate with, the data you already hold and its condition, security and compliance rules, traffic expectations, which devices matter and infrastructure that is already decided. If a deadline is real, say what depends on it: a team can often cut the right scope to hit it, but not if the date is a secret.

Write down what completion means for the important items. Acceptance criteria do not need special syntax: a short paragraph stating what a user should be able to do will do. That one addition reduces the review at the end dramatically and closes off the usual argument at handover.

To close, say what you expect back. Ask for an itemised estimate, the assumptions used, top aso agencies the risks the team sees and a low number and a high number. Treat a wide range as useful information rather than evasion: it usually points to where your description is thin. From there tighten that section and ask for a new estimate — the revised figure will be much more reliable.