Innovation in software design can be structured.
It’s about understanding business and user needs, both explicit or implicit, and then brainstorming all the different design opportunities. Once you are completely exhausted, you will hopefully come to the ‘essence’. An ah-ha moment will leave you with the correct design framework. One that is based on a client(s)’ business context, techical framework and their personal preferences.
This Johnny Holland post sums it up well.