I have noticed a trend that has become pandemic amongst software developers: namely. everyone is like "me". Take the example of two step factor verification. Namely you enter an ID then a password. But then you MUST, if it is a Microsoft product, have a smart phone with a Microsoft App.
The assumption is two fold. First they assume everyone has a smart phone, NOT. There are some people who do not get Government funded phones, those folks working for a living. Second, there are those folks with a phone but do not want any third party Apps for fear of security breaches. Yes Microsoft may not be that secure.
But this is just an example. Rules are made based on the assumptions of software designers whose incompetent and clueless arrogance drives away customers. Management never corrects them since management fears them. After all it is software and that is a secret society, the Templars of the 21st Century.
My fear is that this is just going to get worse as more "coders" are created who are both clueless and arrogant. The worst design in my opinion, reflecting just this example of arrogance is the Microsoft product. It assumes every user has a smart phone plus agrees to load a Microsoft App which may itself compromise the phone. Now one has Microsoft tracking your every move.