We ask questions when we want to make the world better.
Like when we want to use less resources, become better, earn more money - or when we want to help a customer to do any or all of the above and thus be able to deliver a product or service.
The software designer asks the questions of the customer and creates a product to deliver an answer.
We ask "how" too often:
How can I communicate better?
How can I gain more knowledge about my customers?
How can I control my resource use better?
That would lead to better PIMs, word processors, CRM and ERP systems. A safe but slower and slower incremental path to a better and more profitable future for our customers.
We should ask "why" more often:
Why do I need to communicate?
Why do I have those customers?
Why do I use those resources?
That could lead to better processes and less communication, it could lead to better values offered and more customers, and it could lead to a revisit to the strategy and a better business model. Risk is higher but so is the chance for quantum leaps to a better world and higher profits for our customers.
The core of the "how-software" is given and the focus is on user interface, speed and delivery.
The "why-software" will require process as a core and flexibility as framework, a much more daunting task.
I think that software should support the "why"s.