logoalt Hacker News

dcminter10/02/20241 replyview on HN

I recall a spec doc from a domain expert that said something like:

"The transaction consists of a credit stub and a debit stub. If the debit stub is missing and is of type X then we do A and if it is of type Y then we do B."

How to know what flavour the missing item was? Absolutely no mention of that...


Replies

chii10/02/2024

It's interesting that domain experts all exhibit the same cognitive issue - their assumptions are just so ingrained that they cannot articulate it at all.

The fact that they "know" a missing stub would have a type is because they actually have some more information than they let on, and this information is only known by the expert. For example, they know if the submission was from party A, it must be type X.

But that fact might not ever be recorded in the computer system, in a way that the old business process would've had a record of.

And this is just one small example - imagine something more complex!

So realistically, the job of a programmer is to force an expert to articulate all of their assumptions. IMHO, the best way to do it is to be sitting with the expert, and observe exactly what they do.

show 5 replies