"Why did you miss that?"
I imagine you have heard that question more than once, regardless of whether you test, write code, manage a project, or run a company. Something unexpected happens and now the powers-that-be want to know how you could possibly not find so obvious a bug, or forget to handle so obvious a case, or neglect to account for so obvious a project risk, or fail to consider so obvious a business issue.
Most software today is so complex that finding every last defect is effectively impossible. Most software today is so complex that writing it completely correctly is effectively impossible. Most software projects today are so complex that identifying and mitigating every possible reason they might go awry is effectively impossible. And most software companies today are so complex that consistently keeping them on the right track is effectively impossible.
Even if doing these things was possible, you almost certainly wouldn't have time to handle the additional work which would result. I don't know of a software team that has sufficient resources to handle everything they *do* think about, let alone everything else they haven't considered! Triaging and prioritizing which test cases to execute, which code to write, which risks to manage, and which issues to worry over seems to be the rule of the day.
Which is all fine and dandy until one of those items you missed out, either intentionally or out of ignorance, comes back to haunt you. And the powers-that-be descend in droves to ask:
I personally do not worry about missing tests, code, risks, or business twists. If I don't miss any, great! When I do miss one, I identify why I did:
And then I modify my processes to help me not miss such scenarios in the future.
This is what I do when I miss a bug, or an edge case, or a project risk, or a business issue. What have you missed today? What are you going to do about it?
*** Want a fun job on a great team? I need a tester! Interested? Let's talk: Michael dot J dot Hunter at microsoft dot com. Great testing and coding skills required.