*users of fine software not understanding how information flows within the system
Even if this story were true (which it appears not to be), if the users don't understand the system, it is the design of the system that is at fault.
To paraphrase Jony Ive: When we eat bad food, we don't blame ourselves. Why do we blame ourselves when we use bad software?
So it's not the code in the software but the software project as a whole that may be faulty.
When I eat that five week old pizza in the fridge or go to that shady Chinese buffet on the edge of town, and then feel ill, I do blame myself. Come on Jony.