Iterative methods and techniques to allocate and optimise the division of functions between the human, machine and organisational elements of IT systems and the functions themselves in terms of ergonomic impact. Systematic and iterative design of the physical and cognitive interfaces to create an effective user experience in a software system, product or service with attention paid to variety of locations and access devices employed by users.