Fix the price, choose the scope
How sizing features in credits turns scope from an argument into a decision.
Large up-front scopes promise certainty and rarely deliver it. They are written before anyone knows enough, so they are either padded to cover the risk or wrong, and every change becomes a variation. Open-ended arrangements have the opposite problem: nobody knows what they will get for the money until it is spent.
We fix the two things you can know up front, the price and the length of a cycle, and make the scope a choice inside them. In our framework, HASTE, discovery is a fixed-price cycle: 4 weeks from A$40k. Each product delivery cycle after it is fixed-price too, 4 weeks from A$60k, with a budget of feature credits, and every feature on the storyboard is sized in credits before the cycle starts.
That makes the trade-off concrete. The storyboard in Wayfinder, our own discovery and planning platform, shows each release and cycle against its capacity, and flags when one is close to full or over. Adding a feature means choosing what moves to a later cycle. You make that call with the size, the priority and the evidence for each feature in front of you, not in a change request after the fact.
Once a cycle starts, its scope is the source of truth. That is one of the HASTE principles: changes during the build need an explicit decision, and they are written down. It keeps the team building, and it means the scope you agreed is the scope you get, or you know exactly why it changed.
At the end of each cycle we reconcile what shipped against what was planned and check it against the hypotheses. Then the delivery cycles roll on, each at its fixed price, and you decide what the next one holds, or whether to stop. If the product is new, it starts with a discovery sprint that ends in a recommendation to proceed, pivot or stop.
%3Aformat(webp)&w=3840&q=80)
%3Aformat(webp)&w=3840&q=80)
%3Aformat(webp)&w=3840&q=80)
%3Aformat(webp)&w=3840&q=80)
%3Aformat(webp)&w=3840&q=80)
%3Aformat(webp)&w=3840&q=80)
%3Aformat(webp)&w=1200&q=100)
%3Aformat(webp)&w=640&q=100)
%3Aformat(webp)&w=640&q=100)
%3Aformat(webp)&w=640&q=100)
%3Aformat(webp)&w=640&q=100)