We need, increasingly, to design systems that can support complex behaviours in which users adapt dynamically to the progression of the task or to changing conditions during the interaction. Unfortunately, we lack procedures and methods to build systems for adaptive behaviour. This article proposes an approach that identifies dimensions on which users adapt their behaviour and then determines the corresponding design implications on how the system should adjust to fit the user's adaptive behaviour.