I got a feeling that this concept better suits to the context as my previous one called RQC (risk driven, quality focused, and complexity is the enemy).
In summary Armour defines OIs as follows:
- 0th Order of Ignorance (0OI)—Lack of Ignorance
- 1st Order of Ignorance (1OI)—Lack of Knowledge
- 2nd Order of Ignorance (2OI)—Lack of Awareness
- 3rd Order of Ignorance (3OI)—Lack of Process
- 4th Order Ignorance (4OI)—Meta Ignorance
And (what a great feeling) as a matter of fact I was finally able to reason about my Three Views on Agile Architecture as three complementary elements:
- Design Process View
- Construction Flavour View
- System Behavior View
Agile architecture seen as a Design Process belongs to 3OI, thus help us to illuminate 2OI. It help us to define questions to ask of our system.
Agile architecture seen as a Construction Flavour defines technical options (similar to financial options) thus help us to save our system from total disaster in case of the black swans (aka uknown uknowns) as we don't start with BDUF knowing it doesn't work. This means we move from 2OI to 1OI. We know how to find answers.
Agile architecture seen as a System Behaviour means that our system has what I call Architectural Intelligence (an ability of a system to monitor, optimize, and heal itself), means it is able to deliver required answers on its own. It behaves properly in case of unpredictable events without any human intervention. It has simply 0OI.
I'll talk about this projection of the Orders of Ignorance on the Agile Architecture Views in detail during my upcoming talk at aceconf in Krakow/Poland next week. See you there!