I never understood this sentiment. It seems to me that the communication is broken, when a developer has problems with delays. It’s not their decision, and it’s not their risk. If developers report uncertainties properly, even during development, when a previously unknown unknown appears, or a known unknown takes longer than it was estimated, it’s not their fault. If this doesn’t happen, it’s obviously difficult to explain. Otherwise, I never had problems with even delays 4x the original estimation, because every party knew even from the start, that we had no idea how the end result would look like.