I was talking recently about the future and dealing with the unknown unknowns involving buying real estate and realized that Mel didn’t know about the concept. So I decided to write a little blog post about it since I thought it might be fun (also NYE resolution on writing).
This is a concept I’ve used in tech when covering specifications about projects and estimating times. I give buffer for things that I don’t know about but I imagine it can be generalized for most types of projects.
So let’s explain the basics. You have three basic tenets:
- Known Knowns – Things you know that you should look out for
- Known Unknowns – Things you know about, but aren’t sure about the impact of them
- Unknown Unknowns – Things that you don’t know about and thus aren’t sure about the impact of them
It’s possibly to have an Unknown Known but I’ve only heard the concept as something you realize in retrospect. So something you discover later and then the next project it becomes a “Known Known”.
Example in Tech Estimating Projects
Let’s take an example project that I built for Lyft: integrating calling 911 into the Lyft iOS application with a screen that shows the user’s current location (like an address / map) & the vehicle information. I wanted to provide an estimate for this project to my manager/PM so let’s break this down.
The feature has some basic requirements:
Let’s see the design:
- We should show the user cross streets & vehicle information
- We need to have a highly visible button to call 911
- We should not let other screens go over or dismiss this screen
We need to figure out what work needs to be done to build this functionality.
This would be mostly edge cases that we know we should handle and more importantly we have a basic knowledge of how we need to handle it and how long it would take:
- the user might not be sharing their current location
- the user might not have cell service
- The UI should be accessible friendly to VoiceOver users
- We need to handle internationalization (911 is a US/Canadian number)
Things that we know but have no idea how to estimate because we don’t know how it would work.
- We know that we don’t want the other screens to dismiss this screen. If a user’s ride is canceled by the driver, they would go to Rate and Pay so we don’t want that transition interfering with an emergency call. At the start of the project we have no idea how to do that technically. So to estimate it requires more time to investigate and it would be good to add a buffer. Thus it’s known but it’s unknown how the details of it.
This is the hardest category to find and figure out. But the problem is you’ll never know about it. This is why it’s useful to share specs and discuss with other stakeholders to make sure they can help you identify gaps in your knowledge.
Some unknowns in this project came from the 911 dialer in iOS has no callback that indicates to the application that it was dialed. This was specific to iOS and not Android.
Let’s talk about this a non-tech specification context
Let’s talk about about what we care about with buying a house.
There are various known knowns about a house you can quickly evaluate even from the listing.
- you know the square footage
- you know it’s location
- you know it’s general price range. Or at the very least you can find out about it.
But there are lots of known unknowns you need to investigate:
- investigate and check for structural damage (through inspectors not you lol)
- finding out about how HOA if there is one that works
You also have to have outside expertise or help with evaluating these things. So there might be further research or things involved here that might not be clear to you from even looking at the house in person. Some parts of structural damage might be obvious but other parts might be hidden from you.
And this is where a real estate agent can help you evaluate things. They are knowledgeable in the field and thus can help you provide context and questions about where you might need to know it. Maybe you already work in the field and thus have insider knowledge about certain things like construction or plumbing, but you might still need assistance with filling in those unknowns. Or another thing that has come up in our life is whether a unit in a condo has individual plumbing control of if the pipes are all connected (which creates it’s own layer of issues).
I’ve found it’s a good exercise to ask friends and family for advice about what “unknowns” I haven’t thought about it by just asking them what they would consider.
This was very useful when I moved in with Mel asking all my friends to think about about things they ran into when moving in with their partners. I found out that we covered many of the topics: equity and how to split bills, dog walking, and centralized furniture. But we also missed a bunch of things that we had to solidify later such as handling chores and messiness.
The origin is the Johari Window which is an interesting psychological exercise.
I like the Wikipedia description that talks about it as the equivalent of:
– Room one is the part of ourselves that we and others see (Known Knowns)
– Room two contains aspects that others see but we are unaware of (Unknown Knowns)
– Room three is the private space we know but hide from other (Known Unknowns)
– Room four is the unconscious part of us that neither ourselves nor others see (Unknown Unknowns)