Alan Coopers revolutionary way of software design is called Goal-Directed Design®.
A team of interaction designers will develop a set of so-called personas that they use as representatives for the software users. Different non-transient goals will be assigned to these personas.
There are three different kinds of goals: personal goals, practical goals and false goals. Personal goals are objectives like not feeling stupid or having fun while using the software. Practical goals contain goals like handling a client's demands or creating a numerical model of the business. False goals would be e.G. saving memory or even saving keystrokes.
The primary goal of the written software is to achieve the specified personal goals of the primary persona. The essence of good interaction design is to create interactions that lets the users achieve their practical goals without violating their personal goals.