The markers of a good one
Good engagements share a few markers, visible before a line of code exists. A sponsor who can describe the problem in operational terms, 'the ops team re-keys every registration', rather than in solution terms, 'we need a portal'. A willingness to put real users in front of us in the first two weeks, not after the design is signed off. And a budget shape that lets us cut scope rather than cut quality when, as always, something turns out to be harder than planned.
None of these markers is about the technology. That is the point: the technical risk of most projects is low and known; the risk that decides the outcome is whether the organisation can absorb what is built.
The markers of a bad one
Bad engagements have their own markers, equally visible. A fixed-bid tender for a fixed-scope build, where the scope was written by someone who will not use the result. A single senior champion with no operational deputies: the day the champion is busy, the project stops. And any sentence beginning with 'we just need a quick…', which means the size of the problem has not been looked at yet.
One more: a first meeting that is all about the contract and not at all about the users. Contracts matter, but a client who wants to talk about penalties before talking about the ops team has told you where their attention will go for the next six months.
What we do with them
We have turned down work that scored badly on these markers and watched it go badly elsewhere. The signal is robust enough that we now treat it as the first filter, not the last. It is also why the first two weeks of any engagement are spent with the people who do the work, and why the quote comes after those weeks, not before.
It cuts both ways. A client can read the same markers on us: are we able to describe their problem back in their words, do we ask to meet the ops team, do we say what we would leave out. If the answers are no, the engagement will go badly regardless of who signs.
The public-sector variant
Public procurement inverts some of these markers by design: the scope is written before the supplier is chosen, and the tender is fixed-bid by law. It is not a reason to avoid public work; it is a reason to read the tender for the markers that survive. A specification that describes users and workflows rather than screens; a phasing that allows a mock-up round before the build; a contracting authority that names the person who will operate the result.
Where those are missing, the honest answer is a no-go, which is a decision we make in writing, with the reasons, before a single day is spent on a response.