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.
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