Getting through the great design divide between client and developer is pretty simple, but not necessarily easy.
Clients have their reasons why they want certain things their way, while the developer offers their professional recommendation to do it another way.
At the end of the day- software should be developed with the user in mind. Which can sometimes be tricky with how some search engine platforms these days are requiring specific formats, for better visibility, ranking and all that fun stuff.
However, these “formulas” don’t always apply. Sure, you may have more traffic on your site, but that doesn’t mean the path they’ve followed to get there will give them what they needed.
Sometimes there needs to be a tour guide in a land that has many things to steer visitors along intentional roads to make sure their navigation is heading them into the right direction.
"Gray areas" do exists when different rules apply to different people and some things are not always the same for all people and at all times. And, this is why user testing is a critical component to the projects we develop as it helps determine where those tour guides should be placed.
UAT (User Acceptance Testing) can be done in-house with a panel of users who would be instructed to navigate through the application for its intended purpose as a “real world” User or Admin. Or, if it applies, free trials can be offered over the web to gather data as well.
With this feedback final adjustments are made before releasing it the public and discovering some of the kinks before your customers do.