Things you do and do not know
In most projects we have things we know and things we do not know. But there are also variations of these. Before going into your development phase, or any business for that matter, it is good to have an understanding of this concept.
We know that we know this. This is usually something that you or someone on your team has done before, and they understand this item thoroughly. Think of this one as knowledge.
These are things that you know you need to figure out, technology you haven’t used before and know you’ll need to use or integrate, or general challenges you know you will need to uncover. Think of these as known risks or challenges.
This may sound a little redundant or silly, but it isn’t. A lot of times, unknown knowns are answers you or someone on your team knows or has an answer to, but hasn’t realized it yet. A good example of this would be that you need to build some library or some tool and someone on your team realizes that the tool that needs to be built is very similar to a tool they already built. Suddenly, they know how to produce this system very quickly, whereas otherwise it would have taken a long time. Think of this as untapped knowledge.
This is the stuff that really messes you up. It is the risk you haven’t realized yet, or potentially never do. In SaaS development, a good example of an unknown unknown is a technical issue that the team did not foresee. These kinds of technical issues can be anything from a mild annoyance to disastrous to the project. The thing is, you don’t know, and you’re not going to know. However, the more planning you do up front and the more experienced your team, the less unknown unknowns you will get. Think of this as unknowable risk.