A method of configuring a software product comprises accessing a user model, the user model defining one or more user roles and one or more tasks, each task linked to a role, accessing a task to software function map, the map defining one or more software functions of the software product and one or more tasks, each software function linked to a task, and configuring the software product so that access to the software product according to a specific user role is via a user interface supporting the software functions linked to the specific role via the tasks.