For a while ago, I found problemsfirst.com, a site created by Bernard Robertson-Dunn.
There’s some quite interesting thoughts, many of them derived from the domain of dynamic systems, control theory and cybernetics, on systems development and problem solving in general, the main argument perhaps being that our current “best practices” of analysing problems, soliciting requirements and designing solutions is far from optimal – we often end up with “solutions” that actually make matters worse. What particularly struck me as a key insight is that despite all the fuss about agile today, a lot of our development is from a business perspective done in a “business-by-contracts”-model, where a set of (mostly functional) requirements are agreed upon, a contract, based on those requirements is written and signed, and way too often the customer ends up with a “solution” that has missed most of the implicit, unidentified or hard-to-define user or business needs.
For a detailed intro into Robertson-Dunn’s thinking, take a look at the paper on Problem Oriented Architecture he wrote 2012 for IBM Journal of Research and Development
For more on the perils of business-by-contracts-model, see this post.