As you develop new functionality or a new product, you, the designer, are the expert about how is should be used. On the other hand, there’s the practical user, who is going to use your product in everyday situations and should become an expert in the use of your product. Usually, these two persons are not the same. Though as a designer you tend to put yourself in the position of the user, trying to figure out what you would want as a functionality.
In essence, this design process is very wrong. As a designer you are an expert in designing things, and you’re such an expert of your own product, that you immediately know how to use it from the start. You even might think you know which functions you need at which moment. This is usually not something the designer should think of on his own, and this is why the end-user should be considered and consulted all the way throughout the design process. Testing your product in order to get a good design is of utmost importance.