CACM Oct 2000


Home Up What is Corvus? Biographies Feedback Contents



Communications of the ACM: October 2000

He who knows not and knows not that he knows not, is a fool—shun him!
He who knows not and knows that he knows not, is unlearned—teach him!
He who knows and knows not that he knows, is asleep—awaken him!
He who knows and knows that he knows, is enlightened—follow him!

Arab Proverb quoted by
Isabel Lady Burton (1831-1896) in
"The Life of Captain Sir Richard F. Burton"

The Five Orders of Ignorance
Software is not a product, it's a medium (see Software is not a Product) for storing knowledge.  Therefore, software development is not a product producing activity, it is a knowledge acquiring activity.  Knowledge is just the other side of the coin of ignorance, therefore software development is an ignorance-reduction activity.

There are five levels or "Orders of Ignorance".  They are (starting from zero; computer people always count from zero):

    0th Order Ignorance (0OI)—Lack of Ignorance
I have Zeroth Order Ignorance (0OI) when I (provably) know something…
…and can demonstrate my lack of ignorance in some tangible form, such as by building a system that satisfies the user.

    1st Order Ignorance (1OI)—Lack of Knowledge
I have First Order Ignorance (1OI) when I don’t know something

but I know I don't know it. 

    2nd Order Ignorance (2OI)—Lack of Awareness
I have Second Order Ignorance (2OI) when I don’t know that I don’t know something.
…not only am I ignorant of something, I am unaware of what that something might be

    3rd Order Ignorance (3OI)—Lack of Process
I have Third Order Ignorance (3OI) when I don’t know of a suitably efficient way to find out that I don’t know that I don’t know something
….
so I cannot resolve my 2OI

    4th Order Ignorance (4OI)—Meta Ignorance
I have Fourth Order Ignorance (4OI) when I don’t know about the Five Orders of Ignorance…
…which you no longer have, dear reader.

These Five Orders of Ignorance play an tremendously important role in systems development: our job is the reduction of 2OI.  All systems processes and methodologies are 3OI processes.  2OI and 3OI explain most of our problems in systems development.  Our management systems are set up to deal only with 0OI and 1OI, and are wholly inadequate for the modern world (mostly because of 4OI). 

If you want to chat about the role of the Five Orders of Ignorance in software development, read the article and drop me a line.



 
Send mail to webmaster@corvusintl.com with questions or comments about this web site.
Copyright © 1999-2008 Corvus International Inc
Last modified: July 09, 2008