I keep seeing examples of where software assumes the user is psychic.
Salesforce, YouTrack, JIRA, and our own product here at IdeaScale often times expects the user to configure something in one place and then psychically infer that they need to go somewhere else to complete the configuration or to make that new thing work in particular ways. Does it makes sense? No. It doesn't. Users like me are now aware that if things don't work, we go poking around other parts of the system to see if there's some switch or linking capability in another somewhat related section.
So why does this happen? Here are my theories:
1. It's hard to redesign everything and find the optimal solution every time you add a feature. There are less dependencies to consider if you design and add something separately because it's on its own island.
2. Information architecture is overwhelming with a complex product. Salesforce, JIRA, and YouTrack are all relatively elaborate products with many different possible user flows. They're awesome because they're flexible and robust. They'll make you tear your hair out for that same reason.
3. It's a symptom of designing for developers, not users. Does the thing work? Yes. It works perfectly. Do any non developers know how to make it work? No.
I remember reading about the simple UI solution for a refrigerator's temperature control (I think it was in The Design of Everyday Things?). It was two nobs. The development and reasoning behind those is nobs was pretty complicated and it's clear that the development solution was worlds different from the UX solution. This should be true in most cases for software products as well.
If you don't have the time and resources to research and redesign everything so your product makes sense as a whole (this is the optimal solution), throw your users a bone. Add text to tell them where to go. Give them a link to the next location. Write useful help articles they can find with a quick run down of links to make things happen and step by step instructions.
Lastly, here is the most recent example of this sort of design problem. I'm trying to create a new custom field in my YouTrack issue view. I created one and it doesn't work. I have to go to a project and add it separately.