Skip to content

A policy says who may do a kind of work; a pool says which capacity could be considered. Neither says who will actually do this piece of work, now. Something has to turn those possibilities into a concrete, confirmed assignment, without inventing an exception when no admissible option exists.

Routing is the mechanism of selection and dispatch that applies the Execution Policy to authorized work, eligible resources and actual availability. Its result should make clear what will be done, by whom and under which conditions.

Selection can end without an assignment. Having no eligible or available resource is a situation to recognize, not something to resolve by choosing any alternative; coordination can then wait, clarify conditions or route a decision. Routing needs no automated algorithm: a person can apply the rules and make the assignment, and tools can support comparison and follow-up in larger operations. Routing does not create authorization for the work. Available capacity is considered after recognizing the permitted scope and the stage’s preconditions.

The distinction from the policy matters: the policy is the rule of decision; routing is the effective dispatch. Routing cannot make exceptions to the policy on its own.

Cycles with AI can change the comparison by reducing preparation and execution for certain classes of work. Routing lets that new capacity be used across demands, instead of only speeding up a task inside a dedicated team. The comparison still has to include the cost of supplying enough context and completing evaluation: saving on dispatch is only useful when it turns into an accepted advance.

Before selecting, the transformation and its conditions must be identified: the Delivery Unit gives context and the Stage Contract gives inputs, outputs and criteria. A demand may be authorized to explore a question without being authorized to implement a solution, and routing must preserve that scope; describing the assignment too broadly hands the executor a decision nobody has taken. Inputs must be sufficient for the intended work, and routing should not treat every gap as something the selected resource will sort out. It should also take evaluation into account: if the output will need a specific evaluator or an unavailable environment, starting now may not make sense.

Filtering conditions, then comparing alternatives

Section titled “Filtering conditions, then comparing alternatives”

Selection separates eligibility requirements from preference criteria: first, which alternatives may act; then, a comparison of those that remain.

Criterion Possible effect on the choice
Relevant competence Exclude resources without enough capability for the transformation.
Authorized access Limit action to permitted contexts and environments.
Availability Recognize when the resource can take on the work.
Existing context Consider preparation and continuity of understanding.
Supervision required Check that the composition can be followed and evaluated.
Expected cost Compare execution, preparation, review and risk of rework.
Commitments in force Respect the priority, deadline and scope agreed.

There is no obligation to fold everything into a single score. Some conditions cannot be traded off; others need judgment under incomplete information. Lowest apparent cost is not a sufficient rule: the cheapest resource may need more preparation or evaluation, and the fastest to produce an output may not shorten the time to acceptance.

Selecting an alternative does not show the work was taken on. Routing needs a recognizable result: the assignment accepted, the resource unavailable, or conditions needing clarification. Confirmation distinguishes work waiting from work actually assigned, which stops several demands assuming the same capacity and stops coordination treating as started an execution that never received enough context. The form of confirmation varies, from an explicit agreement between people to a record that an automated execution started under the right conditions. A later output must be relatable to the work actually routed.

The selected resource needs usable context and relevant access. Preparation may reveal a constraint nobody saw: missing competence for a specific dependency, or insufficient access. That information returns to coordination, and the cost of preparation must stay visible in the estimate. Starting does not widen what the executor may do: a decision outside the scope received goes through clarification or Escalation.

When no resource meets the conditions, the result should say why: missing competence, temporary unavailability and access restrictions call for different responses. Waiting can be right if availability fits the commitment; otherwise deadline, composition or scope may need reviewing, and that economic decision belongs to the relevant authorities, not to the selection mechanism. An urgent priority does not remove eligibility requirements, and routing must not invent exceptions to produce an assignment. When information is insufficient for a well-founded choice, the next routing can be a clarification activity, if authorized.

Rerouting requires recognizing what already happened: changing executor without identifying outputs, decisions and effects can cause repetition or lost context. Continuing an execution is different from a new attempt; a resource might evaluate an existing output, finish partial work, or redo a transformation, each with its own inputs and conditions. Coordination must check that the previous assignment ended, and rerouting does not by itself resolve an ambiguous rule, a missing authorization or an inadequate contract.

Routing can select a person, an agent or a hybrid arrangement. A policy may let production and evaluation be routed separately, in which case both needs must be recognized and production availability not mistaken for availability of the whole delivery. Agent-assisted decisions can suggest alternatives from available information, but applying them must respect delegated authority. A recommendation does not become an authorization because it was produced automatically.

Two booking requests reach the provider. One depends on a known integration; the other needs exploration. Routing applies the policy and compares available resources, context and evaluation capacity. It might reserve continuity for the work that needs it and prepare another resource for the exploration. An authorized system can make the choice automatically, and earlier results can inform it if they are relevant to the current context: good evaluation on a simple task does not prove eligibility for any integration.

If an execution runs into a difficulty that another eligible resource can handle, the assignment can be revised, carrying the existing output, the attempts and their confirmed effects, so that work is not restarted needlessly and two incompatible executions do not stay active. A gap in authority is not closed by switching implementer: if choosing a rule belongs to another resource’s mandate, the question goes there; otherwise it follows the relevant authority. In recurring service, always choosing the apparently fastest resource can concentrate queues or move cost into evaluation, so a better distribution has to be judged by time to acceptance, preparation, corrections and conditions met, not by the number of assignments.

Fast assignment can create later waiting. Assigning all work quickly can increase simultaneous execution and waiting further along. Routing should be judged by the route of the delivery and the commitments met, not by resource occupancy.

History informs, it does not decide. A record of routings can help examine preparation, waiting, rework and acceptance, as long as results are related to their context. Routing must not turn an isolated result into a permanent preference or change requirements without review by whoever has authority. The model prescribes no algorithm, scoring or guarantee of lowest cost and time.

Software Delivery as a Service is a proposed model by Renan Deves and Marcelo Scheidt, Independent Researchers. See the paper for citation and license.