- ever evolving problem domain research manifesting as architectural doubt
- underspecification
- unforeseen integration issues with host API or environment (pattern collision, resource collision)
- F.O.M.O i.e. ego corrupted view of the problem
- cognitive fatigue
I’m sure the list is as endless and diverse as the people who make software...