Skip to main content

Problem View vs System View in Software Development

One of the advantages to consider Software Development as a knowledge-acquisition activity, is its inner force to balance the pull to envision the system (design) and the importance of learning the problem first. 

There it is, the “problem”, learning the problem first, is rarely an activity in most methodologies.

 I am grateful to the immense work produced and clearly articulated over the years by Michael Jackson*, the “father” of problem Frames Analysis.

As Jackson argues, the issue is partially due to the fact that the world is is physical and therefore informal. This poses a great challenge in software development: formalization i.e. capturing in symbolic representation a worldly computational problem so that the statements obtained by following rules of symbolic manipulation are useful statements once translated back into the language of the world.

There lies the core expertise for any software analyst: learn and frame the problem.

I would argue that the articulation of the problem influences the shape of the software (design), the economic investments (decisions), the expected revenue (value), and ultimately the utility of the software being developed (fit for purpose).



Comments