To enable software to fulfill user requirements over time and meet changes in, for example, business environments, software variability is needed. One way to achieve variability is through tailoring. However, some kind of variability management is needed in order to take advantage of variability. With a tailorable system we mean a system that is designable when it is in use. This means that some design decisions are postponed until the system is up and running. It is the end-user who will adjust the program to fit altered requirements through, for example, run-time configuration. In other words, tailoring requires that the variability management of the system is left to the end user. In this article we present three different examples of tailoring and in the form of a comparison between the three approaches we identify and discuss some issues which must be considered when variability management is left to the end user.