Our refrigerator stopped working this week. It had already been an unusually hectic week when we noticed the food had gone bad and had to throw everything out. Just our luck.
Google was a great resource for researching which refrigerator problems were fixable and which ones required buying a replacement fridge. Turns out, we need the replacement. But Google also knows that I'm a programmer. It kindly shared articles of questionable relevance for my current plight, but I'll let you judge their usefulness for yourself. Here's my favorite, written by James Hague:
Stop! Click the above link and read the post before continuing to read mine! It's only a one-minute read.
Now that you've read it, can you come up with a better spec? I can't lie, I spent more time than I care to admit trying to improve it. Eventually, I realized that my problem was not the answer but rather the question! No one cares what you can put in a refrigerator. We all care about what you should put in a refrigerator!
And while we're going about changing the question, we might as well narrow the scope of the problem too so that the solution can be implemented within a single sprint. Let's limit our spec to only work with residential refrigerators. None of this laboratory nonsense for now!
Yet, even with this reduced scope, I still couldn't seem to create a spec for what should go in a refrigerator. I know James said to avoid the rabbit hole of defining what foods need refrigeration, but I thought I was smarter than that. I tried to bucket foods based on how quickly they spoiled. That resulted in this spec:
Anything edible that spoils when unrefrigerated for one day and that fits into a refrigerator. Items normally stored in containers must be in containers.
But this didn't capture everything. Eggs in the US can sit unrefrigerated for three weeks, but it's highly recommended that they be refrigerated. Other foods, like bread, are not supposed to go in the fridge even though they can start growing mold in under two weeks. Changing the time range wasn't going to fix my spec.
Even if I figured that out, I still hadn't addressed the issue of which living creatures should be put in the fridge. Gah!
It's remarkable to me that people can use refrigerators every day and almost intuitively know what should or shouldn't go inside. Even the youngest of children quickly learn which snacks go inside and which ones don't! So why is it so hard to concretely write down the specs for something that everyone is so familiar with?
I'm not ready to give up thinking about this just yet. And you? What spec can you come up with?