“My solution does not need to guarantee autonomy!”

This is an interesting statement and it may correct, depending on the nature of the ‘solution’. For example, it may not be necessary to guarantee autonomy for processes within my thermostat. Unless I would like to realise a loose-coupling between temperature sensors and decision making capabilities regarding temperature settings… At a certain point, guaranteeing autonomy is part of your view on the solution.

Autonomy is the right to decide what to do, when, where, for whom, with which resources.

User-Centered Innovation employs a pragmatic definition of autonomy.

However, if any of the conditions that have been described above are present (such as many participants, heterogeneous participants, evolving configuration, changing context, participants outside your influence of control) then it may be very useful to consider guaranteeing autonomy…

At the very least, you then explicitly take into account that (some) autonomy is present, and therefore participants may behave in different ways than expected. This view will make your solution more robust against (un)intentional changes of behavior and context.