What is the biggest project you can imagine? Empire state building? Two towers? Pyramids?
Yeah there is something much more bigger. Parenting is almost the hardest and most impossible task that you can face in your life. It is easier to jump from a plane with a parachute. There are so many things that can go wrong...
So how about mapping some of the testing heuristics to child parenting.
In the first few months you got to build your framework you got to find out your user stories and do an initial test case identification. You do a basic exploratory testing and find that everything is okey, the child comes around pretty well. You begin to plan for the future, you develop tests and user stories like:
- As Amy, i would like to go to collage to be able to get a degree
- As Amy, i would like to get a breast implant so Joey finds me attractive
- As Mark i would like have my ears pierced so i could sleep with Amy
- As Amy i would like to have proper parenting so i don't sleep with Mark just because he has a cool ear piercing, and oh my god did you see that biceps?
So you then begin to run some more tests until you can no longer control the child's evolution. And then comes user acceptance testing. You get a lot of feedback from other people about your child's behavior and general working processes. She did sleep with Mark and you are disappointed that there was something wrong during the testing phase. Now you have to re-factor the child.
This is no longer easy since you are over the initial phases so you have to put in a LOT of effort. That costs time, money, nerves, and a new breast implants for Amy. Eventually you get around and can introduce some patch work on Amy and you are over running your User Stories again and again comes user acceptance testing. This time the feedback is good. Amy behaves and it seems everything is working fine.
And then at some point in time without any notice at all a user comes along and says that he saw Amy doing drugs in the ally. You rush to your child you try to reproduce this bug, but you find nothing. You go again to the user and say that could he specify a bit more what he saw and where. The user tries to describe the bug again, says Amy was there at 2010.05.15. And then you realize that it couldn't have been Amy because she was with you on a weekend vacation. So you reject the bug and say that it could not have been her.
After a while the project gets fully out of your hands into the final stage in which whatever you do, you can no longer perform a re-factor because it became to huge to mess with it. You can only provide some workarounds and good documentation to the user. Maybe hide some of the bugs that were found. Or try to introduce new functionality to hide the old faulty one. ( She get's that breast implant after all ).
So folks. Raising a child is like bringing a huge project to success or at least not to a failure. But don't worry, the feedback is pretty good and if you manage your time properly you don't even have to work overtimes...