Enterprise software. Thoughtful delivery.
Perspective

What configuration should mean for a service business

A service line changes more than a label. It can change price, entitlement, evidence, approvals and the way work is assigned.

In a service business, a service is not a static thing. Its price moves, its duration is refined once somebody measures it properly, a step is added to the checklist after an incident, and a new variant is created for a customer with an unusual site. That happens weekly, and the question is whether it needs a developer.

The hidden cost of a code change is not the code.

Changing a price in a deployed system is rarely difficult to write. The cost is the queue in front of it, the testing around it, the release window, and the fact that somebody had to explain the requirement to somebody else who does not run the business.

That cost is small once and unacceptable weekly. It shows up as a business that stops making small improvements because they are not worth the effort of requesting, which is a far more expensive outcome than any individual change.

What configuration should actually mean.

The word is used loosely, so it is worth being specific. A service definition worth calling configurable holds its own name in each language, its price and how that price is calculated, its expected duration, the skills required to perform it, the attributes shown to a customer at the point of booking, the checklist the technician has to complete, the evidence required, and the service level that applies.

When those are fields, adding a photograph requirement to a checklist is an afternoon by the person who decided it should exist. When they are code, it is a ticket.

Configuration without versioning is a different problem.

Making everything editable and live immediately trades one failure for another. Somebody changes a price on a Tuesday and it silently applies to work already scheduled and quoted, and nobody can reconstruct what the price was when the customer agreed.

A service definition needs versions, an effective date, and a rule about what happens to work already in flight. Bookings taken under the old version keep the old version. That single rule removes an entire category of dispute.

Draft, review, publish.

A price change usually needs a second person, and often that person is in finance rather than operations. The workflow that supports this is not complicated: edit as a draft, see a summary of exactly what changed against the live version, submit it for review, and publish with a date attached.

What makes it usable is the summary. A reviewer who has to compare two full definitions will approve without reading. A reviewer who is shown three changed lines and a note that the price moved will actually look.

Show the blast radius before the change lands.

The most useful thing a configuration screen can display is what a change touches: how many active contracts include this service, how many bookings are already scheduled against it, and which packages reference it. That turns an abstract edit into a decision with a visible consequence.

It also catches the changes nobody meant to make at scale, which is worth more than any approval step.

Translation is part of the definition, not a follow-up task.

In a market operating in more than one language, a service published with a name in only one of them is a defect that reaches customers. Treating the second language as a required field on the definition, and blocking publish when it is missing, is a small constraint that prevents a visible failure.

The test of whether it worked.

Not whether the screens exist, but whether the operations lead changed something last week without asking anybody in technology. If the answer is yes and nothing broke, the configuration model is doing its job. If every change still arrives as a request, the fields exist but the model does not.

What would a better working day look like?

Bring us the process you want to improve. We’ll explore the product, technology and delivery work it needs.