Link: http://www.etc-architect.com/?p=135
From ETC-Architect » Architect Global | IT Architect, Global | Solution Architect, Global
If you have worked like me in architecture for some time you will know that not all is based on the good old deductive logic. Often many stakeholders will use guessing as their form of expression that often turns out to be plainly wrong and usually follows the pattern that if A is right B should also be right and since B is be right A must be right.
Now first I tried to argue that this defies logic. However than there is abductive logic, as logic will not always be deductive. Now you will have many business stakeholder that are following this kind of logic, as well as many diagnostic expert system and fault diagnosis. For most architects this kind of logic is hard to follow as you will always need to refer back to circumstances surrounding the subject rather than to the subject itself. There is actually a classical guessing game called 20 questions, where one player is chosen to be the answerer. That person chooses a subject (object) but does not reveal this to the others. All other players are questioners. They each take turns asking a question which can be answered with a simple “Yes” or “No.” The goal is to guess the right subject before 20 questions have been asked. This is the best way to train for abductive reasoning.
Now the worst thing that you can do is usually to translate the requirements given as abductive statements into deductive logic and then develop all other steps from there. This is specifically important in architecture and testing, as in both areas we will need to ensure that the design or the QA always reflects the original requirements given in the adductive reasons, as the abductive reasoning does not always reflect back to the same concrete fact. The concrete fact may actually change if one of the parameters change, such as a resource availability. So in architecture we always need to remember to log the type of logic of any given requirement and act according, otherwise we may actually arrive at the wrong architecture. The reason that I am pointing this out is that not a single architecture framework that I know of is actually capturing this.