|
Back when we moved into our home (a while ago), this was our sump pump.
As home-owners knows, sump pumps are very important because without one, your basement gets flooded. That causes at least tens of thousands of dollars of damage, as well as potential loss of any personal items in your basement - for example all your electronic equipment or books could get ruined due to water damage.
In other words, it's a big deal, i.e. an important "feature" of your house. So the natural question as a new home-owner is "how do I ensure that this mission-critical feature actually works?" Obviously I didn't want to wait for a real thunderstorm and power outage to find out if everything would be ok. While I had heard the buzzwords ("make sure your sump pump works and you have a battery backup in case of a power outage"), and I had been on previous "teams" (i.e. my parent's house, growing up as a kid) that had successfully solved this problem, when push came to shove, I was certainly no expert. For all I knew, this could be the best sump pump in the world, or a worthless piece of junk. However, I knew the previous owners of the house, they were great, so I assumed that the sump pump was great too, and everything would be okay.
Eventually, I figured out how to test it by contacting some "domain experts" (previous house owners), who explained the different components to me. I then "mocked out" a power outage by simply unplugging the power plug (as opposed to waiting for a real power outage, or even turning off my house power). I then lifted the float to simulate water rising, and listened for a running motor. I checked a couple other things, and became confident that the feature did indeed "work as designed". I was told that is was actually a very good setup because it had a separate batter charger, and two separate pipes out, so they were completely parallel systems (kudos to the previous owners).
The number of analogies between me needing to test my sump pump, and a user needing to test a critical feature of a software project, are staggering. It's a reminder to me how real life experiences help one understand software engineering.
Just an FYI. I pulled the float up on my sump pump and heard the motor
running, but when it rained, all it did was run the motor and it didn't
push any water out. The propeller inside the pump was trashed due to all
the gravel at the bottom of the well. So you might want to throw some water
down there to make sure it pushed that out.
Yes, that's one of the other things that I had done. I should have been
more clear. Thanks.
Dude, you have no idea how important this is. I don't know if you recall
but I think a year ago when we had that 3 day power outage, I ended up
having to buy a backup pump and at 2am try to install the darn thing. I
ended up hacking the job and calling a plumber the next day because our
hole was so small, they had to do some fancy plumbing. But now, I can say
that I will never have to worry about getting flooded! My neighbors were
not so fortunate at that time.